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