Hoe kopieer je een bestand van de ene directory naar de andere met PHP?

Stel dat ik een bestand test.phpin de foodirectory heb, evenals bar. Hoe kan ik bar/test.phpvervangen door foo/test.phpmet behulp van PHP? Ik gebruik Windows XP, een platformonafhankelijke oplossing zou geweldig zijn, maar Windows heeft de voorkeur.


Antwoord 1, autoriteit 100%

Je zou de copy()functie :

// Will copy foo/test.php to bar/test.php
// overwritting it if necessary
copy('foo/test.php', 'bar/test.php');

Een paar relevante zinnen uit de handleiding citeren:

Maakt een kopie van de bestandsbron naar
bestem.

Als de bestemming
bestand al bestaat, wordt het
overschreven.


Antwoord 2, autoriteit 8%

Je zou de functie rename()kunnen gebruiken:

rename('foo/test.php', 'bar/test.php');

Dit zal het bestand echter verplaatsenniet kopiëren


Antwoord 3, autoriteit 5%

copyzal dit doen. Raadpleeg de php-handleiding. Een eenvoudige Google-zoekopdracht zou uw laatste twee vragen moeten beantwoorden;)


Antwoord 4, autoriteit 3%

De beste manier om alle bestanden van de ene map naar de andere te kopiëren met 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
?>

Antwoord 5, autoriteit 3%

U kunt dit kopiëren en plakken om u te helpen

<?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";
}
?>

Antwoord 6

Hallo jongens wilden ook toevoegen hoe te kopiëren met behulp van dynamisch kopiëren en plakken.

Laten we zeggen dat we niet de daadwerkelijke map kennen die de gebruiker zal maken, maar we weten dat we in die map bestanden nodig hebben om naar te kopiëren, om een functie te activeren, zoals verwijderen, bijwerken, bekijken enz.

je kunt zoiets gebruiken… Ik heb deze code gebruikt in een van de complexe projecten waar ik momenteel mee bezig ben. ik heb het gewoon zelf gebouwd omdat alle antwoorden die ik op internet kreeg me een foutmelding gaven.

   $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

Ik denk dat Facebook of Twitter iets dergelijks gebruikt om elk nieuw gebruiker Dashboard Dynamic te bouwen ….


Antwoord 7

U kunt beide hernoemen () en kopiëren () gebruiken.

Ik heb de voorkeur om de voorkeur te doen als ik het bronbestand niet langer nodig heb om op de locatie te blijven.


Antwoord 8

<?php  
// Copy the file from /user/desktop/geek.txt  
// to user/Downloads/geeksforgeeks.txt' 
// directory 
// Store the path of source file 
$source = '/user/Desktop/geek.txt';  
// Store the path of destination file 
$destination = 'user/Downloads/geeksforgeeks.txt';  
// Copy the file from /user/desktop/geek.txt  
// to user/Downloads/geeksforgeeks.txt' 
// directory 
if( !copy($source, $destination) ) {  
    echo "File can't be copied! \n";  
}  
else {  
    echo "File has been copied! \n";  
}  
?>  

Other episodes