今日は、相手のWebサイトのコンテンツをダウンロードし、そのコンテンツ内の写真をローカルサーバーに保存するという簡単な収集プログラムを実行しています。ここでは、主にfile_get_contents関数を使用して写真をダウンロードする具体的な操作方法を紹介します。具体的な方法は以下の通り。
ここでは PHP 正規表現を使用して次のことを実現します:
コードは次のとおりです | コードをコピーします |
$content = 'ここに記事の内容があります。ここに画像を挿入してテストします'; $content = ストリップスラッシュ ( $content ); $img_array = array (); / / すべてのリモートに一致する Picture 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); |
リモート画像は上で一致します。それを保持する必要がありますここで 2 つの点に注意する必要があります:
1. 画像保存パス (画像保存ディレクトリ)
2. 画像アドレスへの実際のアクセス
以下は完全な例です: (ローカル サーバーに保存できます)テスト)
コードは次のとおりです | コードをコピー |
php はリモート画像をローカルに保存し、php は定期的に記事内の画像アドレスと一致します
//記事を保存 メディアとリモートの写真をローカルに転送 //作者: yanue; // ファイル保存ディレクトリのパス (エコーしてもいいので、独自のパスに変更してください) $save_path = $_SERVER ['DOCUMENT_ROOT'] . 'swfupload/attached/ '; // ファイル保存ディレクトリ URL $save_url = '/swfupload/attached/'; $save_path = realpath ( $save_path ) . / 画像保存ディレクトリ $imgPath = $save_path . date ( "Ymd" ); $imgUrl = $save_url . date ( "Ymd" ); // フォルダー作成if (! is_dir ( $imgPath )) { @mkdir ( $imgPath, 0777 ); } $content = 'これが記事の内容です。テストするためにここに画像を挿入してください'; $content =tripslashes ( $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); //時間無制限 set_time_limit (0); foreach ($img_array as $key => $value) { $value = trim ( $value); //リモート画像を読み取ります $get_file = @file_get_contents ( $value ); // ローカル画像名に保存します $imgname = date ( '_' ) . . "." . substr ( $value , - 3, 3 ); // ローカルに保存される実際のファイル アドレス (パスと名前を含む) $fileName = $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; ?> ;
< ;/html>
|
http://www.bkjia.com/PHPjc/444581.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/444581.html技術記事今日は相手のWebサイトのコンテンツをダウンロードし、コンテンツ内の写真をローカルサーバーに保存するという簡単な収集プログラムを行っています…
。