Скажем, у меня есть файл test.php
в каталоге foo
, а также bar
. Как заменить bar/test.php
на foo/test.php
на PHP
? Я нахожусь в Windows XP, кросс-платформенное решение будет отличным, но предпочтительным для Windows.
Как скопировать файл из одного каталога в другой с помощью PHP?
Ответ 1
Вы можете использовать функцию copy()
:
// Will copy foo/test.php to bar/test.php
// overwritting it if necessary
copy('foo/test.php', 'bar/test.php');
Цитирование нескольких соответствующих предложений со страницы руководства:
Делает копию источника файла для Dest.
Если пункт назначения файл уже существует, он будет перезаписаны.
Ответ 2
Вы можете использовать функцию rename():
rename('foo/test.php', 'bar/test.php');
Это будет перемещать файл не копировать
Ответ 3
copy сделает это. Пожалуйста, проверьте php-manual. Простой поиск Google должен отвечать на два последних вопроса;)
Ответ 4
Лучший способ скопировать все файлы из одной папки в другую с помощью 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
?>
Ответ 5
Вы можете использовать как rename(), так и copy().
Я предпочитаю использовать переименование, если я больше не требую, чтобы исходный файл оставался в его местоположении.
Ответ 6
Привет, ребята хотели также добавить, как копировать, используя динамическое копирование и вставку.
скажем, что мы не знаем фактическую папку, которую создадим пользователь, но мы знаем, что в этой папке нам нужны файлы для копирования, чтобы активировать некоторые функции, такие как удаление, обновление, просмотр и т.д.
вы можете использовать что-то вроде этого... Я использовал этот код в одном из сложных проектов, в которых я сейчас занят. я просто создаю его сам, потому что все ответы, которые я получил в Интернете, давали мне ошибку.
$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 использует что-то вроде этого для создания каждой новой динамической панели пользователя...
Ответ 7
Вы можете копировать и проезжать мимо, это поможет вам
<?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/