ホームページ >バックエンド開発 >PHPチュートリアル >PHP は記事内のリモート画像アドレスと定期的に一致し、画像を local_PHP チュートリアルにダウンロードします
今日は、相手の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. 画像アドレスへの実際のアクセス
以下は完全な例です: (ローカル サーバーに保存できます)テスト)
コードは次のとおりです | コードをコピー |
//記事を保存 メディアとリモートの写真をローカルに転送 //作者: 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 )) { |