php foreachは名前の変更を実行します

WBOY
リリース: 2016-06-23 14:16:59
オリジナル
804 人が閲覧しました

郁闷的问题,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.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート