Как скопировать файл из одного каталога в другой с помощью PHP?

скажем у меня есть файл test.php на

7 ответов


можно использовать copy() функция :

// Will copy foo/test.php to bar/test.php
// overwritting it if necessary
copy('foo/test.php', 'bar/test.php');


Цитируя пару соответствующих предложений со страницы руководства:

делает копию источника файла в дест.

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


можно использовать переименовать():

rename('foo/test.php', 'bar/test.php');

это движение файл не скопировать


скопировать сделает это. Пожалуйста, проверьте php-manual. Простой поиск Google должен ответить на ваши последние два вопроса ;)


лучший способ скопировать все файлы из одной папки в другую с помощью PHP

<?php
$src = "/home/www/example.com/source/folders/123456";  // source folder or file
$dest = "/home/www/example.com/test/123456";   // destination folder or file        

shell_exec("cp -r $src $dest");

echo "<H2>Copy files completed!</H2>"; //output when done
?>

вы можете скопировать и мимо этого поможет вам

<?php
     $file = '/test1/example.txt';
     $newfile = '/test2/example.txt';
     if(!copy($file,$newfile))
     {
         echo "failed to copy $file";
     }
     else
     {
         echo "copied $file into $newfile\n";
     }
?>`

Если вы хотите скопировать несколько или (неограниченное количество файлов) перейти по ссылке: http://www.phpkida.com/php-tutorial/copy-multiple-files-from-one-folder-to-another-php/


вы можете использовать как rename (), так и copy ().

Я предпочитаю использовать rename, если мне больше не требуется, чтобы исходный файл оставался в своем местоположении.


Привет, ребята хотели также добавить, как копировать с помощью динамического копирования и вставки.

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

вы можете использовать что-то вроде этого... Я использовал этот код в одном из сложных проектов, над которым я сейчас занят. я просто строю его сам, потому что все ответы, которые я получил в интернете, давали мне ошибка.

    $dirPath1 = "users/$uniqueID"; #creating main folder and where $uniqueID will be called by a database when a user login.
    $result = mkdir($dirPath1, 0755);
            $dirPath2 = "users/$uniqueID/profile"; #sub folder
            $result = mkdir($dirPath2, 0755);
                $dirPath3 = "users/$uniqueID/images"; #sub folder 
                $result = mkdir($dirPath3, 0755);
                    $dirPath4 = "users/$uniqueID/uploads";#sub folder
                    $result = mkdir($dirPath4, 0755);
                    @copy('blank/dashboard.php', 'users/'.$uniqueID.'/dashboard.php');#from blank folder to dynamic user created folder
                    @copy('blank/views.php', 'users/'.$uniqueID.'/views.php'); #from blank folder to dynamic user created folder
                    @copy('blank/upload.php', 'users/'.$uniqueID.'/upload.php'); #from blank folder to dynamic user created folder
                    @copy('blank/delete.php', 'users/'.$uniqueID.'/delete.php'); #from blank folder to dynamic user created folder

Я думаю, что facebook или twitter использует что-то вроде этого для создания каждой новой динамической панели пользователей....