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