我有一个文本文件,我想复制到具有以下结构的所有子目录中。
S000314/0000356/data folder
/0000357/data folder
/0000358/data folder
所以,我正在读取所有子目录并尝试将文本文件复制到所有子目录中。但是,重命名功能只能复制一次。将文本文件复制到0000356->数据文件夹
if ($handle = opendir('S000314')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..")
{
rename("sdata.txt" , "/S000314/$entry/data/sdata.txt");
}
}
closedir($handle);
}
我不清楚如何将同一个文件复制到所有子目录中。请看下面的代码。
答案 0 :(得分:1)
我建议使用copy()
代替rename()
,因为这是您想要的实际操作(代码更容易阅读)。
问题可能是目录分隔符 - 我在Windows上进行了测试,其中/
和\
似乎都在工作,但这不应该是您关注的问题,因为PHP有{{3} }。
现在这段代码在我的机器上运行了:
$topdir = 'S000314';
if ($handle = opendir($topdir)) {
print "in\n";
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 :(得分:0)
@copy($yourSource_file, $yourFile_element . '/youPage.html');