我有一个文件夹路径 f1/f2/。f1 和 f2 都是文件夹 f2 文件夹包含许多子文件夹,例如 ff0、ff1、ff2、ff3。f2 还包含一个名为 copy_folder 的文件夹。(路径为 f1/f2/copy_folder)。我需要剪切并复制 ff0、ff1、ff2、ff3 中的所有内容以及文件夹(ff0、ff1、ff2、ff3)到路径是 f1/f2/copy_folder 。即,经过所有处理,copy_folder 应该包含 ff0, ff1,ff2,ff3 及其内容。同样应该从旧文件夹中删除。即从文件夹 f2
实际上,我在 php 5.3 中使用函数“copy”进行了此操作。例如:这是我的示例代码 mkdir(f1.f2/copy_folder/ff0) //我在 copy_folder 中创建了文件夹 copy(f1/f2/ff0/t1.exe, copy_folder/ff0) //将内容复制到 ff0 中 copy_folder 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
}
}
提前致谢