我写了一个php脚本,从"oldphoto"目录复制所有图像,然后重命名并将它们移动到/l/o/log.php 目录中,例如logo.png->
但最终目录成功创建,但图像没有复制,下面是代码
<?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
您的目的地错误。开头的斜杠使它在根目录中查找,而不是您的目录。使用DIR或指定目录的绝对路径。