php重命名在文件名周围添加双引号
我试图在一个目录中重命名一些JPEG。代码的一半工作原理是使用正确的文件名重命名它们,但由于某些原因,新文件名被双引号包围,这使得它们无法从我的网页访问 感谢您的帮助php重命名在文件名周围添加双引号,php,image,rename,jpeg,double-quotes,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 =
$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_转储($imgArray):
序列化:
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";}
文件名中有新行问题
$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))));
}
i gues u可以使用str.replace(“,“\”$string);您的代码没有包含导致这种现象的原因。我考虑过这一点,但我想知道为什么它首先要使用双引号,如果我不知道为什么我可以实现一个更好的solution@PeeLee:字符串
$html\u file\u name
可能包含此类引号。因此,您需要删除它们,或者更好,不要删除首先把它们放在那里。改进你的HTML解析。$imgaray
看起来像什么?…这就是罪魁祸首。谢谢宝贝欢迎你@Pee Lee
$i = 10000;
foreach ($imgArray as $v) {
rename($v, pathinfo($v, PATHINFO_DIRNAME) . '/' . (++$i . str_replace(range(0,9),'', basename($v))));
}