<p class="sougouContent"> 次のコードを http://localhost/GetAllPic.php に変更するにはどうすればよいですか? <br> url= の後の URL は送信する URL です。送信ボタンをクリックする必要はありません <br> 知っている方は教えてください。直接コードを入力してください<br> < <br /> require_once 'DownImage.class.php'; <br /> <head> <br> <title> ;/head> <br> < body> <br /> <form method="POST" action="GetAllPic.php"> <br> <input type="text" name="url" size="80 " /> <br> <input type="submit" name="submit" value="Submit" /><br /> <br> <?php <br /> //次の画像の前に「送信」ボタンをクリックしますダウンロード処理 <br /> if($ _POST['submit'] != NULL){ <br /> $url=$_POST['url']; <br /> //Web ページの URL を解析し、Web ページが接続されているホスト URL を取り出します多くの画像 URL は相対パスなので、先頭にホストの URL を追加する必要があります。 <br /> $main_url = $rs['host'];$baseurl = substr($ url,0,strrpos($url,'/')+ 1); <br /> //Web ページのコンテンツを読み取ります。 file_get_contents 関数を使用する場合、次の 2 つのパラメーターはオプションのパラメーターです。たとえば、プロキシ サーバーを使用してインターネットに接続する場合は、プロキシ サーバーの特定の設定をオプション変数に設定する必要があります。 $opts. プロキシ サーバー オプションを設定するための $opts = array('http' => array('proxy'=>'','request_fulluri'=>true)) など。通常の状況では、最後の 2 つのパラメータは省略できます<br> $opts=array('http' => array('request_fulluri'=> true)); $context = stream_context_create($opts); ($ url,false, $context); <br> //$reg に正規表現を設定します。 <br> $reg = "/<img.*?src="(.*?)".*?>/i"; <br> //関数 preg_match_all は、文字列 $ 内の正規表現に一致するすべての文字を検索します。メッセージ文字列を取得し、結果を配列 $matches に保存します。一致が失敗した場合、配列の長さは 0 になります。 <br> preg_match_all($reg,$message,$matches); for($i=0; $i< count) ($matches[0]); $i++){ <br /> //一致する結果をすべて取得します。 $matches は多次元配列であり、正規表現内の括弧「()」の数に関係します。ここで 1 つのペアのみが出現する場合、それは常に $ に格納されます。 matches[0] は一致した文字列で、<br /> //$matches[1] は正規表現内の最初のかっこのペアに一致するコンテンツを保存します。これは画像の URL です <br /> $matches[1][$i] =strto lower ($matches[1][$i]); <br /> //画像が相対パスの場合は、フルパスに変換します。相対パスには 2 種類あります。1 つ目は、最初の文字が「/」の場合、ホストの URL を追加するだけで変換できます。完全な URL。 <br /> //2 つ目は、現在のページに対する相対パスを (ファイル名、つまり変数 $baseurl の値に加えて) 現在の URL に追加する必要があるということです。 <br /> if(!strpos('a' .$matches[ 1][$i],'http')){ <br /> if(strpos('a'.$matches[1][$i],'/')==1) <br /> $matches[1] [$i] ='http://'.$main_url.$matches[1][$i]; <br /> else $matches[1][$i]=$baseurl.$matches[1][$i]; <br /> } <br /> } <br /> // array_unique 関数を呼び出して、重複する画像 URL をフィルターします <br /> $img_array=array_unique($matches[1]); <br /> // 画像ダウンロード クラス GetImage をインスタンス化します <br /> $Gimg = new DownImage() <br /> for( $i=0; $i< count($img_array); $i++){ <br /> //source属性にダウンロード対象の画像のURLを設定し、save_toに画像の保存ディレクトリを設定します。ダウンロードを開始するには、download メソッドを呼び出します。デフォルトでは、ダウンロード メソッドが $Gimg->download('gd') <br> <br> の形式で呼び出される場合、ダウンロードには image 関数が使用されます。画像。 <br> $Gimg->source = $img_array[$i]; <br> $Gimg->save_to = './data/'; <br> $FILE = $Gimg->download(); } <br> echo "ダウンロードが完了しました<br> ){ <br> $url=$_POST['url']; <br> <br> 上記の if 判定を削除し、直接 $url = $GET['url'] を使用します <br> $GET['url'] の正当性を判定できます。あなた自身は大丈夫です。 <br> <br> リーリー <br></p>