如何将包含文件的文件夹剪切并复制到PHP 5.2中的另一个路径?

时间:2013-05-03 16:48:32

标签: php zend-framework

我有一个文件夹路径f1 / f2 /。f1和f2都是文件夹 f2文件夹包含somany子文件夹,例如ff0,ff1,ff2,ff3。 f2还包含一个名为copy_folder的文件夹。(path是f1 / f2 / copy_folder)。 我需要将ff0,ff1,ff2,ff3中的所有内容与文件夹(ff0,ff1,ff2,ff3)一起剪切并复制到路径为f1 / f2 / copy_folder .ie,在所有进程之后,copy_folder应该包含ff0, ff1,ff2,ff3及其内容是切实的。同样应从文件夹f2中删除旧文件夹.ie

其实我在php 5.3中用函数做了这个 'copy'.eg:这是我的示例代码 mkdir(f1.f2 / copy_folder / ff0)//我在copy_folder中创建了文件夹 copy(f1 / f2 / ff0 / t1.exe,copy_folder / ff0)//将内容复制到copy_folder中的ff0 unlink(f1 / f2 / ff0)//删除旧文件夹ff0

我在php 5.3中这样做了。但它不能在php 5.2.1中工作。有什么问题吗? 我使用zend框架工作。 我在数组中使用了一些细节('$ arrNewClosedIncidentsDetails')

              foreach($arrNewClosedIncidentsDetails as $arrNewClosedDet)    


{                           //iteration of closed incident details there by taking the old path


                $strOldPath = $config->paths->releaseattach.'/'.$arrNewClosedDet['strPatchPath'];  //taking the
老道路                     if(is_dir($ strOldPath))

{//如果文件是直接的

$ strNewFolderPath = $ config-> paths-> closedreleaseattach。'/'。$ arrNewClosedDet ['strFolderName'];

//taking the new folder path to which old folder and sub files have to copied
                        mkdir($strNewFolderPath); 

                                                              //making the directory in new path (with old folder name)
                        chmod($strNewFolderPath, 0777);   

                                                      //giving permission to this created folder
                        $arrNewFolderRelatedFiles = scandir($strOldPath);  

                                    //scan all files from old folder 
                        foreach($arrNewFolderRelatedFiles as 

$ objNewFolderRelatedFiles){//迭代旧文件夹中的所有文件

                            if($objNewFolderRelatedFiles != '.' && $objNewFolderRelatedFiles != '..') 

{

                                        //remove default dot elements,which will present as the first and second array value

                             if (copy($strOldPath.'/'.$objNewFolderRelatedFiles, $strNewFolderPath.'/'.$objNewFolderRelatedFiles)) { 

//将所有跟踪的文件复制到已在新路径中创建的相应新文件夹中                                      chmod($ strNewFolderPath。'/'。$ objNewFolderRelatedFiles,0777); //授予在新文件夹

中创建的所有文件的权限
                                      unlink($strOldPath.'/'.$objNewFolderRelatedFiles);                                               //delete the files from old folder 
                                 }
                                }
                        }
                         rmdir($strOldPath);                                                                                                //remove all old folders
                }
             }

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以使用rename功能。 rename(old_dir_name, new_dir_name)http://php.net/manual/en/function.rename.php