Heim > Artikel > Backend-Entwicklung > Ausführliche Erläuterung des regelmäßigen PHP-Abgleichs von Remote-Bildadressen in Artikeln und des Herunterladens von Bildern auf lokale Instanzen
In diesem Artikel werden hauptsächlich die Implementierungstechniken von PHP vorgestellt, die die Remote-Bildadresse im Artikel abgleichen und das Bild auf das lokale Gerät herunterladen. Dies ist eine sehr praktische Technik können darauf verweisen. Lassen Sie uns
den regulären Ausdruck von PHP verwenden, um Folgendes zu erreichen:
$content = '这里是文章内容,这里插入一张图片测试 <img src="XXXXXXXXXXXXXXXXXXXX">'; $content = stripslashes ( $content ); $img_array = array (); // 匹配所有远程图片 preg_match_all ( "/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU", $content, $img_array ); // 匹配出来的不重复图片 $img_array = array_unique ( $img_array [2] ); print_r($img_array);
Das Obige stimmt mit dem Remote-Image überein, und wir müssen es lokal behalten. Hier sind zwei Punkte zu beachten:
1. Bildspeicherpfad (Bildspeicherverzeichnis)
2. Tatsächliche Zugriffsbildadresse
Das Folgende ist ein vollständiges Beispiel: (Sie können es auf dem lokalen Server speichern und Ändern Sie den entsprechenden Ort zum Testen)
php保存远程图片到本地,php正则匹配文章中的图片地址 $value ) { $value = trim ( $value ); // 读取远程图片 $get_file = @file_get_contents ( $value ); // 保存到本地图片名称 $imgname = date ( "YmdHis" ) . '_' . rand ( 10000, 99999 ) . "." . substr ( $value, - 3, 3 ); // 保存到本地的实际文件地址(包含路径和名称) $fileName = $imgPath . '/' . $imgname; // 实际访问的地址 $fileurl = $imgUrl . "/" . $imgname; // 文件写入 if ($get_file) { $fp = @fopen ( $fileName, "w" ); @fwrite ( $fp, $get_file ); @fclose ( $fp ); } // 替换原来的图片地址 $content = ereg_replace ( $value, $fileurl, $content ); } echo $content; ?>
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des regelmäßigen PHP-Abgleichs von Remote-Bildadressen in Artikeln und des Herunterladens von Bildern auf lokale Instanzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!