PHP を使用してリモート イメージを収集するのは非常に簡単ですが、収集したデータをフィルタリングする必要があるため、場合によっては正規表現を使用する必要があります。次のプログラムはリモート イメージを収集し、イメージ アドレス コードを置き換えます。
リモート画像を収集し、画像アドレス コードを置き換えます
/*
これで、PHP チュートリアルを使用してリモート画像を収集するのは非常に簡単ですが、収集したデータをフィルタリングする必要があります。これには、次のように正規表現の使用が必要になる場合があります。プログラムは次のように収集します。リモート画像を作成し、画像アドレス コードを置き換えます。
*/
$dir_date=date('y/m/d');//日付フォルダー
$dir_name="images/$dir_date";//フォルダーパス
function mkdirm($path) //ファイルを取得 フォルダー名
{
if (!file_exists($path)) //存在するかどうかを判定します
{
mkdirm(dirname($path)) //パスのディレクトリ部分を返します
mkdir($path, 0777);フォルダーと権限を作成します
}
}
mkdirm($dir_name);//フォルダーを作成します
//$files = file_get_contents('http://www.ywsp.com');
$files ='';
// 画像アドレスを変換 $p=preg_replace('//image//', 'http ://qq.ip138.com/image/', $pg[1]);
$reg = "/]*src="(http://(.+)/ (. +).(jpg|gif|bmp|bnp))"/isu";
$img=preg_match_all($reg,$files,$imgs);
for ($i=0;$i
//echo "".$imgs[1][$i]."
n";
//画像を保存
$opts = array(
' http'=>array(
'header'=>"リファラー: http://www.bkjia.com/rn"
)
);
$context = stream_context_create($opts);
header( 'content - type: image/jpeg' );
$fileresource = @file_get_contents( $imgs[1][$i],false,$context) ;
$image_old.=""".$imgs[1][$i] 。 """.","; //まず、すべての URL を 1,2,3,4 のような数字に変更します
$image_new.=""".$dir_name."/".mktime().$i " .jpg".""".","; //まず、すべての新しい画像アドレスを 1,2,3,4
file_put_contents($dir_name."/".mktime().$i ." などの数値に変更します。 .jpg", $fileresource);
//画像を保存します
}
$image_old=substr($image_old,0,(strlen($image_old)-1));//URL から最後のカンマを削除します
$image_new =substr($image_new,0,(strlen($image_new)-1));//新しい URL の最後のカンマを削除します
//print_r($p);
$image_old=explode(",",$ image_old );//複数に分割
$image_new=explode(",",$image_new);//複数に分割
$files=str_replace($image_old,$image_new,$files); //URL を新しいファイルに追加1 画像の URL を呼び出して
echo $files;