我有一个文件夹路径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
}
}
提前致谢
答案 0 :(得分:0)
您可以使用rename
功能。 rename(old_dir_name, new_dir_name)
。 http://php.net/manual/en/function.rename.php