Скажіть, у мене також є файл test.php
в foo
каталозі bar
. Як я можу замінити bar/test.php
з foo/test.php
допомогою PHP
? Я в Windows XP, крос-платформне рішення було б чудово, але Windows віддав перевагу.
Скажіть, у мене також є файл test.php
в foo
каталозі bar
. Як я можу замінити bar/test.php
з foo/test.php
допомогою PHP
? Я в Windows XP, крос-платформне рішення було б чудово, але Windows віддав перевагу.
Відповіді:
Ви можете використовувати 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');
Однак це перемістить файл, а не скопіювати
move
. Було б інтуїтивно зрозуміло, якби ви мали трохи експозиції Linux.
rename('foo/test1.php', 'foo/test2.php');
;)
Ви можете скопіювати і минуле це допоможе вам
<?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";
}
?>
Найкращий спосіб копіювання всіх файлів з однієї папки в іншу за допомогою 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
?>
Привіт хлопці хотіли також додати про те, як скопіювати за допомогою динамічного копіювання та вставлення.
скажімо, ми не знаємо фактичну папку, яку створить користувач, але ми знаємо, що в цю папку нам потрібні файли, які потрібно скопіювати, щоб активувати якусь функцію, наприклад видалення, оновлення, перегляди тощо.
Ви можете використовувати щось подібне ... Я використав цей код в одному зі складних проектів, над якими я зараз зайнятий. Я просто будую це сам, тому що всі відповіді, які я отримав в Інтернеті, давали мені помилку.
$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 є щось подібне для створення динамічної інформаційної панелі кожного нового користувача ....
Ви можете використовувати як перейменувати (), так і копіювати ().
Я, як правило, вважаю за краще використовувати перейменування, якщо мені більше не потрібно, щоб вихідний файл залишався в його місці.
copy( 'foo/test.php', 'bar/test.php' )
створюєтьсяbar
каталог, якщо він ще не існує?