如何将文件从一个文件夹复制到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);
}
答案 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+rwx
和chmod -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); ?>