PHP を使用してリモート画像を収集する_PHP チュートリアル
インターネット上の特定の Web ページのコンテンツを収集する必要がある場合、対象の Web サイト上の画像がホットリンクから保護されている場合、収集した画像は私たち自身の Web サイトで直接利用できなくなります。次に、プログラムを使用して対象の Web サイト上の画像を Web サイトのサーバーにダウンロードすると、その画像を呼び出すことができます。
この記事では、PHP を使用してリモート画像を収集する機能を実装します。基本的なプロセス: 1. 対象の Web サイトの画像アドレスを取得します。 2. 画像の内容を読みます。 3. 画像を保存するパスを作成し、画像に名前を付けます。 4. 画像の内容を書き込みます。 5.完了。 このプロセスは、いくつかの関数を作成して実装します。 関数 make_dir() はディレクトリを作成します。保存する画像ファイルのディレクトリが存在するか確認し、存在しない場合はディレクトリを作成し、書き込み権限を設定してください。 関数 make_dir($path){ if(!file_exists($path)){// 存在しない場合は作成します $mk=@mkdir($path,0777); //権限 @chmod($path,0777); } true を返します。 } 関数 read_filetext() は画像コンテンツを取得します。 fopen を使用してイメージ ファイルを開き、次に fread を使用してイメージ ファイルの内容を読み取ります。 関数 read_filetext($filepath){ $filepath=trim($filepath); $htmlfp=@fopen($filepath,"r"); //リモートで if(strstr($filepath,"://")){ while($data=@fread($htmlfp,500000)){ $string.=$data; } } //地元 それ以外{ $string=@fread($htmlfp,@filesize($filepath)); } @fclose($htmlfp); $stringを返します; } 関数 write_filetext() は、ファイルを書き込み、画像コンテンツ fputs をファイルに書き込みます。つまり、画像ファイルを保存します。 関数 write_filetext($filepath,$string){ //$string=ストリップスラッシュ($string); $fp=@fopen($filepath,"w"); @fputs($fp,$string); @fclose($fp); } get_filename() 関数はイメージ名を取得します。また、保存するファイル名をカスタマイズすることもできます。 関数 get_filename($filepath){ $fr=explode("/",$filepath); $count=count($fr)-1; $fr[$count]を返します; } 次に、いくつかの関数を組み合わせて関数 save_pic() で呼び出し、最後に保存された画像のパスを返します。 function save_pic($url,$savepath=''){ //処理アドレス $url=トリム($url); $url=str_replace(" ","%20",$url); //ファイルを読み込む $string=read_filetext($url); if(空($string)){ echo 'ファイルを読み取れません';終了; } //ファイル名 $filename = get_filename($url); //保存ディレクトリ make_dir($savepath); // 保存ディレクトリを作成します。 //ファイルアドレス $ファイルパス = $保存パス.$ファイル名; //ファイルの書き込み write_filetext($filepath,$string); $ファイルパスを返します; } 最後のステップでは、save_pic() 関数を呼び出して画像を保存します。テストには次のコードを使用します。 //対象の画像アドレス $pic = "/program/UploadPic/2013-4/201343155341353.jpg"; //ディレクトリを保存 $savepath = "画像/"; echo save_pic($pic,$savepath); 実際の用途では、当社は、リーチ防止画像の収集を含む製品情報など、特定のサイトのコンテンツを収集し、Web サイト上のサーバーに保存することがあります。現時点では、通常のマッチングを使用してページのコンテンツを照合し、ページ内で一致するすべての写真を見つけて、それらをそれぞれ Web サイトのサーバーにダウンロードして、写真のコレクションを完成させることができます。次のコードはテスト専用です。 関数 get_pic($cont,$path){ $pattern_src = '/<[imgIMG].*?src=/picture/allimg/130409/123450BK-0.gif/.jpg]))['"].*?[/]?>/'; $num = preg_match_all($pattern_src, $cont, $match_src); $pic_arr = $match_src[1] //画像配列を取得します。 foreach ($pic_arr as $pic_item) { //ループして各画像のアドレスを取得します save_pic($pic_item,$path); //画像をダウンロードして保存します。 echo "[OK]..!"; } } 次に、ページ コンテンツを分析し、メイン コンテンツを見つけて、get_pic() を呼び出して画像を保存します。 //PConline の携帯電話に関するレポートのコンテンツ ページから写真を収集しました リーリー 上記のコードは作成者によって個人的にテストされており、画像を収集できますが、たとえば、ターゲット Web サイトが 302 回以上のジャンプを行った場合など、いくつかのシナリオがまだ考慮されていません。さまざまな反収集方法を試すのは好きな生徒に任せます。
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
