如何将几个文件从一个文件夹复制到另一个文件夹,并在源文件夹中删除它们

时间:2009-12-07 06:33:00

标签: php

如何将文件从一个文件夹复制到php中的另一个文件夹并将其删除到源文件夹中?

我有两个文件夹$incoming_file_path = /home/xmlcontainer$processing_file_path = home/process_file。我正在遍历$incoming_file_path = home/xmlcontainer中的所有文件,而不是将其复制到$processing_file_path = home/process_file

执行下面的代码后,我无法复制文件的内容,但只是文件的名称也无法删除我使用unlink从源文件夹复制到目标文件夹的文件,我是肯定会以错误的方式使用unlink,并且肯定会感谢任何有关它的指导。

代码

foreach( glob($incoming_file_path.'/*')as $key => $value ) {
    copy($incoming_file_path.$value,$processing_file_path.$value);
    unlink($incoming_file_path.$value); 
    }

2 个答案:

答案 0 :(得分:2)

首先,如果您打算移动文件,只需使用rename

你的循环应如下所示:

foreach (glob($incoming_file_path . '/*') as $value) {
  rename($value, $processing_file_path . '/' . basename($value))
}

无法读取文件内容和/或删除文件通常是一个简单的权限问题。检查PHP进程的所有者是否可以读取和写入$incoming_file_path$processing_file_path。您可能希望在chmod -R u+rwxchmod -R o+rwx上投放$incoming_file_path(或$processing_file_path)。

答案 1 :(得分:0)

使用此代码,您可以将多个文件从一个文件夹(目录)复制到另一个文件夹 有关更多信息,请点击此链接 http://www.phpkida.com/php-tutorial/copy-multiple-files-from-one-folder-to-another-php/

  

$ srcPath ='test /'; $ destPath ='test1 /'; $ srcDir =   执行opendir($ srcPath); while($ readFile = readdir($ srcDir)){       if($ readFile!='。'&& $ readFile!='..')       {           / *这个检查对我来说没有意义,              你可能想要!file_exists($ destPath。$ readFile)* /           if(!file_exists($ readFile))           {               if(copy($ srcPath。$ readFile,$ destPath。$ readFile))               {                   echo“复制文件”;               }               其他               {                   echo“Canot Copy file”;               }           }       closedir($ srcDir); ?>