Dieser Artikel zeigt Ihnen hauptsächlich eine Methode zum Ersetzen des Bildpfads im Artikel durch PHP und zum Herunterladen des Bilds auf den lokalen Server. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich ist. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.
php Ersetzen Sie den Bildpfad im Artikel und laden Sie das Bild auf den lokalen Server herunter
/** * 获取替换文章中的图片路径 * @param string $xstr 内容 * @param string $oriweb 网址 * @return string * */ function replaceimg($xstr, $oriweb){ //保存路径 $d = date('Ymd', time()); $saveimgfile_1 = '/uploads/allimg/'.$d; $dirslsitss = DEDEROOT.$saveimgfile_1;//分类是否存在 if(!is_dir($dirslsitss)) { @mkdir($dirslsitss, 0777); } //匹配图片的src preg_match_all('#<img.*?src="([^"]*)"[^>]*>#i', $xstr, $match); foreach($match[1] as $imgurl){ $imgurl = $imgurl; if(is_int(strpos($imgurl, 'http'))){ $arcurl = $imgurl; } else { $arcurl = $oriweb.$imgurl; } $img=file_get_contents($arcurl); if(!empty($img)) { //保存图片到服务器 $fileimgname = time()."-".rand(1000,9999).".jpg"; $filecachs=$dirslsitss."/".$fileimgname; $fanhuistr = file_put_contents( $filecachs, $img ); $saveimgfile = $saveimgfile_1."/".$fileimgname; $xstr=str_replace($imgurl,$saveimgfile,$xstr); } } return $xstr; }
Verwandte Empfehlungen:
PHP verwendet pcntl_fork, um das Herunterladen von Bildern in mehreren Prozessen zu implementieren
Das obige ist der detaillierte Inhalt vonPHP lädt Bilder zur gemeinsamen Nutzung lokaler Serverinstanzen herunter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!