首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否将一个文件夹中的所有文件移动到另一个文件夹?

是否将一个文件夹中的所有文件移动到另一个文件夹?
EN

Stack Overflow用户
提问于 2010-01-18 02:45:47
回答 11查看 78.9K关注 0票数 29

将一个文件从一个位置移动到另一个位置时,我使用

代码语言:javascript
运行
复制
rename('path/filename', 'newpath/filename');

如何将文件夹中的所有文件移动到另一个文件夹?尝试了此方法,但没有结果:

代码语言:javascript
运行
复制
rename('path/*', 'newpath/*');
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2010-01-18 02:50:13

略显冗长的解决方案:

代码语言:javascript
运行
复制
// Get array of all source files
$files = scandir("source");
// Identify directories
$source = "source/";
$destination = "destination/";
// Cycle through all source files
foreach ($files as $file) {
  if (in_array($file, array(".",".."))) continue;
  // If we copied this successfully, mark it for deletion
  if (copy($source.$file, $destination.$file)) {
    $delete[] = $source.$file;
  }
}
// Delete all successfully-copied files
foreach ($delete as $file) {
  unlink($file);
}
票数 59
EN

Stack Overflow用户

发布于 2010-01-18 03:59:23

使用rename()并进行一些错误检查的备用方法:

代码语言:javascript
运行
复制
$srcDir = 'dir1';
$destDir = 'dir2';

if (file_exists($destDir)) {
  if (is_dir($destDir)) {
    if (is_writable($destDir)) {
      if ($handle = opendir($srcDir)) {
        while (false !== ($file = readdir($handle))) {
          if (is_file($srcDir . '/' . $file)) {
            rename($srcDir . '/' . $file, $destDir . '/' . $file);
          }
        }
        closedir($handle);
      } else {
        echo "$srcDir could not be opened.\n";
      }
    } else {
      echo "$destDir is not writable!\n";
    }
  } else {
    echo "$destDir is not a directory!\n";
  }
} else {
  echo "$destDir does not exist\n";
}
票数 16
EN

Stack Overflow用户

发布于 2014-10-28 20:59:37

请试用此解决方案,测试成功::

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2082138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档