ホームページ >PHPフレームワーク >YII >yii2 で php を使用して画像が存在するかどうかを確認します

yii2 で php を使用して画像が存在するかどうかを確認します

angryTom
angryTomオリジナル
2020-02-17 10:00:312020ブラウズ

日常の開発では、ピクチャが存在するかどうかを判断する必要があり、存在する場合は表示し、存在しない場合はデフォルトのピクチャを表示します。今日は、一般的に使用されるいくつかの方法を見ていきます。

yii2 で php を使用して画像が存在するかどうかを確認します

#yii2 で php を使用して画像が存在するかどうかを確認する

1.file_exists() 関数

file_exists() 関数は、ファイルまたはディレクトリが存在するかどうかを確認します。

指定されたファイルまたはディレクトリが存在する場合は true を返し、存在しない場合は false を返します。

例: file_exists(path); パラメータのパスは URL ではなく

path でなければなりません、それ以外の場合は常に false が返されます;

注:

1. ファイルの上位レベルのディレクトリで、書き込み権限しか持っていない場合は、ファイルが存在しないことが報告されます;

2. ファイルの上位レベルのディレクトリで、書き込み権限しかない場合は、ファイルが存在しないことが報告されます。読み取り権限がある場合、ファイルが存在しないことも報告されます;

3. すべての上位レベルのディレクトリに実行権限がある場合、報告されたファイルは存在し、すべてが正常です。

file_exists() がファイルが存在するかどうかを判断するときに、各ディレクトリに実行権限があるかどうかを再帰的に判断するという説明。

2. file_get_contents() 関数

file_get_contents - ファイル全体を文字列に読み取ります

失敗した場合、file_get_contents() は FALSE を返します。

特殊文字 (スペースなど) を含む URL を開きたい場合は、URL エンコードに urlencode() を使用する必要があります。

ただし、この関数に多くのリクエストがあり、ファイルが比較的大きい場合は、タイムアウトして応答に失敗し、サーバーがハングアップする可能性があります。関数では、リソース $context パラメータのタイムアウトを使用できます。コードは次のとおりです:

$opts = array(
   'http'=>array(
     'method'=>"GET",
     'timeout'=>10,
   )
 );
 $context = stream_context_create($opts);
 $html =file_get_contents('http://www.example.com', false, $context);
echo $html;

3. Curl メソッド

関数の実装:

1.コンテンツのリモート取得と収集

2. PHP Web バージョンの FTP アップロードとダウンロードを実装します

##3. シミュレートされたログインを実装します: 電子メール システムに移動し、curl で Cookie をシミュレートできます

4. インターフェース ドッキング (API) とデータ送信の実装など: 送信された情報を取得して配信するプラットフォームを通じてテキスト メッセージを送信します。

5. 擬似 Cookie などの実装: 一部の属性はログイン時にのみ操作できます。

CURL 関数の使用方法:

PHP はデフォルトでは CURL をサポートしていません。php.ini

;extension=php_curl でこの関数を有効にする必要があります。 dll

1 の前のセミコロンを削除します。操作全体の最初のステップは、curl_init() 関数を使用して 2 を初期化することです。curl_setopt() 関数を使用して、オプションを設定します。

3. 設定後、トランザクションcurl_exec($curl)を実行します;

4 最後にcurl_close()を閉じます;

curlはgetおよびpostメソッドと互換性があります;

function curl($url, $type = 'get', $post_data = null, $second = 30)
{
    $ch = curl_init();
    //设置超时
    curl_setopt($ch, CURLOPT_TIMEOUT, $second);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //
    //设置header
    curl_setopt($ch, CURLOPT_HEADER, false);
    //要求结果为字符串且输出到屏幕上
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    if ('post' == $type) {
        curl_setopt($ch, CURLOPT_POST, 1); //开启POST
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); //POST数据
    }
    $output = curl_exec($ch);
    curl_close($ch);
    return $output; //返回或者显示结果
}

おすすめの関連記事とチュートリアル:

yii チュートリアル

以上がyii2 で php を使用して画像が存在するかどうかを確認しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。