我写了一个php脚本来复制目录“oldphoto”中的所有图像,然后重命名并移动它们,例如logo.png - >进入目录/l/o/logo.php
但最后成功创建了目录,但未复制图像,以下是代码
<?php
$objects = scandir('./oldphoto');
foreach ($objects as $value) {
if ($value!='.' && $value!='..') {
$prefix = renameTxt($value);
moveImg ($prefix, $value);
}
}
function renameTxt ($line) {
$first_char = '/'.substr($line, 0 ,1);
$sec_char = '/'.substr($line, 1 ,1).'/';
$prefix = $first_char.$sec_char;
return $prefix;
}
function moveImg ($prefix, $filename) {
$src = $filename;
$dst = '/newphoto'.$prefix;
rcopy('oldphoto/'.$src, $dst, $filename);
}
function rcopy($src, $dst, $filename) {
@mkdir('newphoto/'.$dst, 0, true);
//echo $dst."<br>";
echo $dst.$filename."<br>";
echo 'src '.$src."<br>";
echo 'filename '.$filename."<br>";
if (!copy($src, $dst.$filename)) {
echo "fail to write image";
}
}
?>
任何人都可以找出问题所在?
回音结果:
/newphoto/l/o/logo.png
src oldphoto/logo.png
/newphoto/l/o/logo_mini.png
src oldphoto/logo_mini.png
/newphoto/w/h/white50.png
src oldphoto/white50.png
答案 0 :(得分:0)
你的目的地是错的。开头的斜杠使它查看根目录而不是您的目录。使用 DIR 或指定目录绝对路径。