如何使用PHP将文件从一个目录复制到另一个目录?

时间:2011-04-24 19:41:22

标签: php file file-io copy filesystems

假设我test.php目录中的文件foo以及bar。如何使用bar/test.phpfoo/test.php替换为PHP?我使用的是Windows XP,跨平台的解决方案很棒,但首选Windows。

8 个答案:

答案 0 :(得分:254)

您可以使用copy()功能:

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


从手册页中引用几个相关的句子:

  

制作文件来源的副本   DEST。

如果目的地   文件已存在,它将是   覆盖。

答案 1 :(得分:25)

您可以使用rename()功能:

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

然而移动文件不复制

答案 2 :(得分:13)

copy会这样做。请检查php-manual。简单的Google搜索应该回答您的最后两个问题;)

答案 3 :(得分:5)

使用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
?>

答案 4 :(得分:2)

你可以复制和过去这将有助于你

<?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/

答案 5 :(得分:1)

嗨,大家好想要添加如何使用动态复制和粘贴进行复制。

假设我们不知道用户将创建的实际文件夹,但我们知道在该文件夹中我们需要复制文件,以激活删除,更新,视图等功能。

你可以使用这样的东西......我在我目前忙于的一个复杂项目中使用了这个代码。我只是自己建立它,因为我在互联网上得到的所有答案都给了我一个错误。

    $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使用这样的东西构建每个新的用户仪表板动态....

答案 6 :(得分:0)

您可以同时使用rename()和copy()。

如果我不再需要源文件留在其位置,我倾向于使用重命名。

答案 7 :(得分:0)

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