>  기사  >  백엔드 개발  >  기사의 원격 이미지 주소를 PHP로 정기적으로 일치시키고 로컬 인스턴스에 이미지를 다운로드하는 방법에 대한 자세한 설명

기사의 원격 이미지 주소를 PHP로 정기적으로 일치시키고 로컬 인스턴스에 이미지를 다운로드하는 방법에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-05 10:15:531750검색

이 기사에서는 기사에 나온 원격 이미지 주소를 일치시키고 이미지를 로컬로 다운로드하는 PHP 정규 구현 기술을 주로 소개합니다. 관심 있는 친구들이 참고할 수 있는 매우 실용적인 기술입니다.

PHP의 정규식을 사용하여 다음을 달성합니다.

$content = &#39;这里是文章内容,这里插入一张图片测试 <img src="XXXXXXXXXXXXXXXXXXXX">&#39;;
$content = stripslashes ( $content );
$img_array = array ();
// 匹配所有远程图片
preg_match_all ( "/(src|SRC)=["|&#39;| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU", $content, $img_array );
// 匹配出来的不重复图片
$img_array = array_unique ( $img_array [2] );
print_r($img_array);

원격 이미지는 위와 일치하므로 로컬에 보관해야 합니다. 여기서 주의할 점은 두 가지입니다.
1. 사진 저장 경로(사진 저장 디렉터리)
2. 사진 주소에 대한 실제 액세스
다음은 전체 예입니다. (로컬 서버에 저장하고 해당 위치를 수정할 수 있습니다.) 테스트용)





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;
?>

위 내용은 기사의 원격 이미지 주소를 PHP로 정기적으로 일치시키고 로컬 인스턴스에 이미지를 다운로드하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.