Скопировать файлы в другую папку, как?

Тема в разделе "PHP", создана пользователем асс, 23 сен 2011.

Статус темы:
Закрыта.
Модераторы: latteo
  1. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    756
    Симпатии:
    221
    в общем что то не катит у меня ничего.
    Задача такая из папки templates/1 перекинуть в папку content
    Картинки, и файлы текстовые итд.

    Картинки лежат в папке 1/images
    Код ниже копирует все как надо
    но картинки пустые.

    PHP:
    $shab_p='templates/1';
    echo 
    $new_dir "content/";
    $dir opendir($shab_p."/images");
    while(
    $file readdir($dir))
    {
    if(@
    is_file($shab_p."/images/".$file))
    {    echo 
    "Создаем файл.".$file.'<br />';
     
    $cont = @file_get_contents($shab_p."images".$file);
     
    file_put_contents($new_dir."".$file$cont);
     }
    }


    этот код что ниже копирует файлы из папки 1
    но не копирует картинки , а мне надо и картинки и файлы.
    получается что в папке 1 есть еще папка images




    PHP:
    $new_dir $katalog."/";
    $dir opendir($shab_p);
    while(
    $file readdir($dir))
    {
    if(@
    is_file($shab_p."/".$file))
    {    echo 
    "Создаем файл.".$file.'<br />';
     
    $cont = @file_get_contents($shab_p."/".$file);
     
    file_put_contents($new_dir."/".$file$cont);
     }
    }
    Как решить задачку? Подскажите пожалуйста.
     
  2. Oleg_Ci

    Oleg_Ci Создатель

    Регистр.:
    11 окт 2009
    Сообщения:
    25
    Симпатии:
    7
    В твоем коде не копался, скопировал сюда свою функцию копирования
    PHP:
    // функция копирования файлов (включая вложеные) из папки $source в $res
    function copy_files($source$res){
        
    $hendle opendir($source); // открываем директорию
        
    while ($file readdir($hendle)) {
            if ((
    $file!=".")&&($file!="..")) {
                if (
    is_dir($source."/".$file) == true) {
                    if(
    is_dir($res."/".$file)!=true// существует ли папка
                        
    mkdir($res."/".$file0777); // создаю папку
                        
    copy_files ($source."/".$file$res."/".$file);
                }
                else{
                    if(!
    copy($source."/".$file$res."/".$file)) { 
                        print (
    "при копировании файла $file произошла ошибка...<br>\n"); 
                    }
    // end if copy
                

            } 
    // else $file == ..
        
    // end while
        
    closedir($hendle);
    }
     
  3. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    756
    Симпатии:
    221




    Как оказалось я сам с тормозил, файлы перезаписались пустышками, и я все время их дергал, и думал от чего же не работает.
     
Статус темы:
Закрыта.