为了账号安全,请及时绑定邮箱和手机立即绑定

使用php将目录的全部内容复制到另一个目录

使用php将目录的全部内容复制到另一个目录

PHP
弑天下 2019-11-07 12:42:24
我尝试使用以下命令将目录的全部内容复制到另一个位置copy ("old_location/*.*","new_location/");但是它说找不到流,没有找到true *.*。任何其他方式谢谢戴夫
查看完整描述

3 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

看来复制只处理单个文件。这是我在复制文档页面上的本说明中找到的用于递归复制的功能:


<?php 

function recurse_copy($src,$dst) { 

    $dir = opendir($src); 

    @mkdir($dst); 

    while(false !== ( $file = readdir($dir)) ) { 

        if (( $file != '.' ) && ( $file != '..' )) { 

            if ( is_dir($src . '/' . $file) ) { 

                recurse_copy($src . '/' . $file,$dst . '/' . $file); 

            } 

            else { 

                copy($src . '/' . $file,$dst . '/' . $file); 

            } 

        } 

    } 

    closedir($dir); 

?>


查看完整回答
反对 回复 2019-11-07
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

copy()仅适用于文件。


DOS复制和Unix cp命令都将以递归方式复制-因此最快的解决方案是将它们打包并使用。例如


`cp -r $src $dest`;

否则,您将需要使用opendir/ readdir或scandir读取目录的内容,遍历结果,如果is_dir对每个目录都返回true,则递归进入该目录。


例如


function xcopy($src, $dest) {

    foreach (scandir($src) as $file) {

        if (!is_readable($src . '/' . $file)) continue;

        if (is_dir($src .'/' . $file) && ($file != '.') && ($file != '..') ) {

            mkdir($dest . '/' . $file);

            xcopy($src . '/' . $file, $dest . '/' . $file);

        } else {

            copy($src . '/' . $file, $dest . '/' . $file);

        }

    }

}


查看完整回答
反对 回复 2019-11-07
  • 3 回答
  • 0 关注
  • 990 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信