Powiedzmy, że mam również plik test.php
w foo
katalogu bar
. Jak mogę wymienić bar/test.php
z foo/test.php
użyciem PHP
? Korzystam z systemu Windows XP, rozwiązanie wieloplatformowe byłoby świetne, ale preferowane byłoby okna.
Powiedzmy, że mam również plik test.php
w foo
katalogu bar
. Jak mogę wymienić bar/test.php
z foo/test.php
użyciem PHP
? Korzystam z systemu Windows XP, rozwiązanie wieloplatformowe byłoby świetne, ale preferowane byłoby okna.
Odpowiedzi:
Możesz użyć copy()
funkcji:
// Will copy foo/test.php to bar/test.php
// overwritting it if necessary
copy('foo/test.php', 'bar/test.php');
Cytując kilka odpowiednich zdań ze strony podręcznika:
Tworzy kopię pliku źródłowego na dest.
Jeśli plik docelowy już istnieje, zostanie nadpisany.
Możesz użyć funkcji rename () :
rename('foo/test.php', 'bar/test.php');
Spowoduje to jednak przeniesienie pliku bez kopiowania
move
. Byłoby intuicyjne, gdyby ktoś miał trochę ekspozycji na Linuksa.
rename('foo/test1.php', 'foo/test2.php');
;)
Możesz skopiować i wklejać to pomoże ci
<?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";
}
?>
Najlepszy sposób na skopiowanie wszystkich plików z jednego folderu do drugiego przy użyciu 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
?>
Cześć, chcieli również dodać, jak kopiować za pomocą dynamicznego kopiowania i wklejania.
powiedzmy, że nie znamy faktycznego folderu, który utworzy użytkownik, ale wiemy, że w tym folderze potrzebujemy plików do skopiowania, aby aktywować jakąś funkcję, taką jak usuwanie, aktualizacja, widoki itp.
możesz użyć czegoś takiego ... Użyłem tego kodu w jednym ze złożonych projektów, nad którymi obecnie jestem zajęty. po prostu zbudowałem go samodzielnie, ponieważ wszystkie odpowiedzi, które otrzymałem w Internecie, dawały mi błąd.
$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
Myślę, że Facebook lub Twitter używa czegoś takiego do budowania dynamicznego pulpitu każdego nowego użytkownika ...
copy( 'foo/test.php', 'bar/test.php' )
tworzybar
katalog, jeśli jeszcze nie istnieje?