ホームページ  >  記事  >  バックエンド開発  >  存在しない画像リソースを PHP フィルターで処理する_PHP チュートリアル

存在しない画像リソースを PHP フィルターで処理する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:55:55771ブラウズ

phpを使用して存在しない画像リソースをフィルタリングする

この記事は、phpを使用して存在しない画像リソースをフィルタリングするためのいくつかの方法をまとめたものです。必要な友達は参考にしてください。

方法 1:

最も簡単な方法は、fopen() を使用してファイルが開けるかどうかを確認することです。開けられる場合は、当然ファイルは存在します。

?

1

2

3

4

5

6

7

8

9

10

11

12

$url = 'http://www.jb51.net/images/test.jpg';

if( @fopen( $url, 'r' ) )

{

echo 'ファイルの終了';

}

その他

{

echo 'ファイルが存在しない';

}

?>

方法 2:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

/**

* 存在しない画像リソースを除外します

*

* @著者 wanggeng

* @return vodi

*/

プライベート静的関数 _checkAll($url)

{

$curl =curl_init($url);

curl_setopt($curl, CURLOPT_NOBODY, true);

$結果 = false

$res =curl_exec($curl);

if ($res !== false){

$statusCode =curl_getinfo($curl, CURLINFO_HTTP_CODE);

if($statusCode == 200) {

$result = true;

}

}

curl_close($curl);

$result を返す

}

まず、実行された URL へのカールリンク (画像またはファイルへのリンク) を作成します

変数を false に初期化します

または、リンクのヘッダー情報を開きます。各 http リクエストには http コードが含まれます

このコードを元に検証していきます

戻りコードが 200 の場合、前の変数に true 値を与えます。それ以外の場合、値は割り当てられません。

方法 3:

CURLメソッド

CURL は非常に便利なクラスライブラリです。それを使って判断する方法を見てみましょう。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

$url2 = 'http://www.jb51.net/test.jpg';

$ch =curl_init();

$タイムアウト = 10;

curl_setopt ($ch、CURLOPT_URL、$url2);

curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$contents =curl_exec($ch);

//エコー $contents;

if (preg_match("/404/", $contents)){

echo 'ファイルが存在しません';

}

?>

curl_exec()実行後にファイルが存在しない場合は、以下の情報が返されます。

?

1 正規表現を使用して、404 があるかどうかを確認します。404 がある場合、ファイルは存在しません。

2

3

4

5

6

HTTP/1.1 404 が見つかりません

日付: 2012 年 2 月 14 日火曜日 05:08:34 GMT

サーバー: Apache

受け入れ範囲: バイト

コンテンツの長さ: 354

コンテンツタイプ: text/html

http://www.bkjia.com/PHPjc/990982.html

tru​​ehttp://www.bkjia.com/PHPjc/990982.html技術記事 PHP は存在しない画像リソースをフィルターします。この記事は、PHP を使用して存在しない画像リソースをフィルターするためのいくつかの方法をまとめたものです。必要な方は参考にしてください。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。