郁闷的问题,rename在foreach中不执行,
当rename($kb,$newfile.$dimg);在foreach外面的时候是执行的,
但是到了foreach里面就不行了,哪位大神讲解下?到底是咋了。怎么解决!
$hkt=$db->get_one("select fid,attachmentdomain,attachmentdir from news_sort where fid='$fid'"); $postdb[content]=str_replace("http://www_mydomain.com","../../".$attachmentdir,$postdb[content]); $newfile="../../upload_files/".$hkt[attachmentdir]."/"; preg_match_all("/<[img|IMG].*?src=[\'|\"][^http](.*?(?:[.gif|.jpg]))[\'|\"].*?[/]?>/i",$postdb[content],$imglist); foreach($imglist[1] as $kb){ $kb=str_replace(""","",$kb); $dimg=explode("/",$kb); $dimg=$dimg[count($dimg)-1]; $kbimg=$hkt[attachmentdomain]."/".$dimg; $postdb[content]=str_replace($kb,$kbimg,$postdb[content]); rename($kb,$newfile.$dimg); unlink($kb); }
循环中打印出来$kb,$newfile,$dimg等分别是什么。
要学会一步一步跟踪调试
均以测试了的!就是在foreach中不行。。 下面的unlink都执行了,就是rename不执行!
循环中打印出来$kb,$newfile,$dimg等分别是什么。
要学会一步一步跟踪调试
$kb=老的图片路径,“../../img/A.jpg”
$newfile=新储存路径,"../../newimg/"
$dimg=是图片的名称:"a.jpg"
搞定了! 呼呼 ! $newfile不是绝对路径所致!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号