普通网友 2014-02-25 16:39
浏览 26
已采纳

将文件复制到所有子目录php

I have a text file that I want to copy into all sub directories which have the following structure.

S000314/0000356/data folder  
/0000357/data folder  
/0000358/data folder 

So, I am reading all the sub directories and trying to copy the text file into all of them..But, rename function can copy only once.its copying the text file into 0000356->data folder

if ($handle = opendir('S000314')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..")
        {
            rename("sdata.txt" , "/S000314/$entry/data/sdata.txt");
        }       
    }
    closedir($handle); 
}   

I have no clue on how to copy the same file into all of the sub directories.Please take a look at the code below.

  • 写回答

2条回答 默认 最新

  • douhui3305 2014-02-25 16:56
    关注

    I'd recommend using copy() instead of rename() because that is the actual operation you want (the code will be easier to read).

    A problem could be the directory separator - I tested it on Windows where both / and \ seems to be working, but that shouldn't be your concern, as PHP has DIRECTORY_SEPARATOR.

    Now this code worked on my machine:

    $topdir = 'S000314';
    if ($handle = opendir($topdir)) {
        print "in
    ";
        while (FALSE !== ($subdir = readdir($handle))) {
            if ($subdir != '.' && $subdir != '..') {
                $dest = $topdir . DIRECTORY_SEPARATOR . 
                    $subdir . DIRECTORY_SEPARATOR 
                    'data' . DIRECTORY_SEPARATOR;
                copy('data.txt', $dest.'data.txt');
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路