PHP_PHP チュートリアルの正規表現を使用してコンテンツ内のリモート画像をダウンロードするための関数コード
実はこのプログラム、「泥棒プログラム」の重要な部分を担っています。 プログラムのこのセクションは、リモート イメージをダウンロードするためのセクションにすぎません。プログラムの作成は比較的簡単で、ほとんどの部分がコメントになっています。
if (preg_match_all("/http://[^ "']+[.jpg|.gif|.jpeg|.png]+/ui" ,stripcslashes( $content),$aliurl)){
$i=0; //複数のファイル++
while(list($key ,$v) = each($aliurl[0])){
//echo $v ."
";
$filetype = pathinfo($v, PATHINFO_EXTENSION) //サフィックス名を取得
$ff = @file_get_contents($v); //バイナリファイルの内容を取得します
if(! tripos($v,"jb51.net")){//自分の Web サイトの画像かどうかを判断します
if (!empty($ff)){ //ファイルを取得した後、次の操作を実行します
$dir = "upload /".date("Ymd")."/";//新しい保存先のパスを指定
if (!file_exists($dir)){//ディレクトリが存在するかどうかを判定
@mkdir($dir,511, true); //複数レベルのディレクトリを作成します。511 を 10 進数に変換すると 777 になり、実行可能権限が与えられます
}
$nfn = $dir.date("Ymdhis").$i.".".$filetype;ビルドファイルの名前
$nf = @fopen($nfn,"w"); //ファイルを作成します
fwrite($nf,$ff); //ファイルを書き込みます
fclose($nf); $i++; / /複数のファイル++
echo "
} else{//画像が取得できない場合は、デフォルトの画像に置き換えます
$content = str_replace($v,"/upload/201204/20120417213810742.gif", $content);//content のパラメータを置き換えます
}
}
}
}
PHP は、正規表現を使用してローカル実装コードに画像をダウンロードします
author: ssh_kobe
date: 20110602
不足: if Web ページ内の画像パスが絶対パスでない場合、クロールできません
*/
set_time_limit(0);// クロールは時間に制限されません
$URL='http ://pp.baidu.com/';// 任意の URL
get_pic($URL);
function get_pic($pic_url) {
//画像バイナリ ストリームを取得します
$data=CurlGet($pic_url);
/*正規表現を使用して画像リンクを取得します*/
$ pattern_src = '/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg] ))['|"].*?[/]?> ;/';
$num = preg_match_all($pattern_src, $data, $match_src);
$arr_src=$match_src[1];// 画像を取得array
get_name($arr_src);
echo "
completed!!!";
return 0;
/*画像の種類を取得し、ファイルと同じディレクトリに保存します*/
function get_name($pic_arr)
{
//画像タイプ
$pattern_type = '/(/.(jpg|bmp|jpeg|gif|png))/'
foreach($pic_arr as $pic_item){//ループ各画像のアドレスを取得します
$num = preg_match_all($pattern_type, $ pic_item, $match_type);
$pic_name = get_unique().$match_type[1][0];// マイクロ秒のタイムスタンプの名前を変更します
//画像をストリーム形式で保存します
$write_fd = @fopen($pic_name ,"wb");
@fclose($write_fd); OK]..!";
}
return 0;
}
/ /マイクロ秒時間で一意のIDを取得
function get_unique(){
list($msec, $sec) =explode(" ",microtime()) ;
return $sec.intval($msec*1000000)
}
//Web ページのコンテンツを取得する
function CurlGet($url){
$url=str_replace('&','&',$url);
$curl =curl_init();
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_REFERER, $url); $ curl, CURLOPT_USERAGENT, "Mozilla/4.0 (互換性; MSIE 6.0; SeaPort/1.2; Windows NT 5.1; SV1; InfoPath.2)");
curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookie.txt');カール、CURLOPT_COOKIEFILE、'cookie.txt');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
$values($curl); $カール);
$ 値を返す
?>
http://www.bkjia.com/PHPjc/324775.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/324775.html
技術記事

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
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 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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