181 votes

Comment copier un fichier d'un répertoire à un autre en utilisant PHP ?

Disons que j'ai un fichier test.php en foo ainsi que bar . Comment puis-je remplacer bar/test.php avec foo/test.php en utilisant PHP ? Je suis sous Windows XP. Une solution multiplateforme serait parfaite, mais je préfère Windows.

336voto

Pascal MARTIN Points 195780

Vous pourriez utiliser le copy() fonction :

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

Je cite quelques phrases pertinentes de sa page de manuel :

Fait une copie du fichier source vers dest.

Si le fichier de destination existe déjà, il sera écrasé.

12 votes

Fait copy( 'foo/test.php', 'bar/test.php' ) créer le bar s'il n'existe pas déjà ?

4 votes

Non @henrywright, il ne crée pas les répertoires lui-même. Vous devez le faire manuellement. vérifiez-le dans le manuel php

1 votes

Je n'avais pas réalisé que c'était une chose... Merci de partager.

24voto

Dizzi Points 421

Vous pourriez utiliser le rename() fonction :

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

Toutefois, cela permettra déplacer le fichier pas de copie

23 votes

Je me demande pourquoi on a nommé cette fonction renommer et noter déplacer ou quelque chose comme ça.

7 votes

@themis parce que rename('foo/test1.php', 'foo/test2.php'); ;)

14voto

cweinberger Points 2650

copie le fera. Veuillez vérifier le php-manual . Une simple recherche sur Google devrait répondre à vos deux dernières questions ;)

11voto

Mukesh Jakhar Points 179

Vous pouvez copier et coller ceci vous aidera

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

7voto

Meilleur moyen de copier tous les fichiers d'un dossier à un autre en utilisant 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
?>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X