【问题标题】:How to copy all contents in a folder to a dir in php如何将文件夹中的所有内容复制到php中的目录
【发布时间】:2010-08-14 16:50:10
【问题描述】:

我正在尝试将所有文​​件从一个目录复制到 php 中的另一个目录。

 $copy_all_files_from = "layouts/";
 $copy_to = "Website3/";

请有人帮我做这件事。

【问题讨论】:

  • 我收到以下错误警告:copy() [function.copy]:copy() 函数的第一个参数不能是目录
  • 抱歉我现在找到了wallpaperama.com/forums/…

标签: php file copy


【解决方案1】:

类似这样的东西(未经测试):

<?php
$handle = opendir($copy_all_files_from);
while (false !== ($file = readdir($handle))) {
    copy( $file, $copy_to);
    }

编辑:

要使用 Amadan 的方法,你应该可以使用这个 php 函数: shell_exec();

不确定,因为我从不需要使用服务器命令

【讨论】:

  • 绝对比我重新实现copy 更好:) 注意:不适用于子目录。
  • 我给了他一个起点,弄清楚子目录对他来说是一个很好的学习方式:)
  • 要使用@Amadan 的方法,您只需按原样键入即可:) 从 shell_exec 的文档中:“此功能与反引号运算符相同。” Shell 命令很有用,因为它们的工作效率最高,并且经过了数十年的测试。任何重新实现,比如递归副本,击败cp -r 的机会极低。
【解决方案2】:

最简单:

`cp -r $copy_all_files_from $copy_to`

除非您使用的是 Windows。没有脱壳,它有点复杂:read directoryiterate on files(如果it's a directory,递归)、open each、迭代而不是end of fileread blockwrite it

更新: 呵呵,PHP 有 copy...

【讨论】:

  • 我知道。但它仍然是最简单的,并且足以满足大多数目的。反引号是正确的 PHP。如果他需要,我确实添加了他需要知道的内容,以便在纯 PHP 中实现。
  • 你不必打开每个文件读然后写,你可以使用copy(),看我的评论...
  • 啊,你加的,我以为我看错了,删了我的评论,对不起
猜你喜欢
  • 1970-01-01
  • 2019-10-12
  • 1970-01-01
  • 2014-01-21
  • 1970-01-01
  • 2015-10-15
  • 1970-01-01
  • 2015-05-24
  • 1970-01-01
相关资源
最近更新 更多