php rename在文件名周围添加双引号

时间:2012-10-17 11:54:45

标签: php image rename jpeg double-quotes

我正在尝试在一个目录中重命名一些jpeg。代码的一半用于使用正确的文件名重命名,但由于某种原因,新的文件名被双引号括起来,这使得我的网页无法访问它们。

任何帮助表示赞赏!

$i = 10000;

foreach ($imgArray as $v) {

    $html_file_name = basename($v).PHP_EOL;
    $html_file_name =  str_replace(range(0,9),'', $html_file_name);

    $path = pathinfo($v, PATHINFO_DIRNAME);

    $target = ++$i . $html_file_name;

    rename ($v, $path . '/' . $target);

}

好的,这就是var_dump($ imgArray):

array(3) { [0]=> string(47) "../img/gallery/this-is-the-first/10002-vddf.jpg" [1]=> string(51) "../img/gallery/this-is-the-first/10001-vfdssddf.jpg" [2]=> string(50) "../img/gallery/this-is-the-first/10003-vddsvsf.jpg" }

序列化:

a:3:{i:0;s:47:"../img/gallery/this-is-the-first/10002-vddf.jpg";i:1;s:51:"../img/gallery/this-is-the-first/10001-vfdssddf.jpg";i:2;s:50:"../img/gallery/this-is-the-first/10003-vddsvsf.jpg";}

1 个答案:

答案 0 :(得分:0)

您在文件名

中遇到新行问题
  $html_file_name = basename($v).PHP_EOL;
                                    ^-------- Appending End of Line to File Name

你需要的只是

$i = 10000;
foreach ($imgArray as $v) {
    rename($v, pathinfo($v, PATHINFO_DIRNAME) . '/' . (++$i . str_replace(range(0,9),'',  basename($v))));
}