ホームページ  >  記事  >  バックエンド開発  >  リモート画像を取得して保存するPHP実装方法_PHPチュートリアル

リモート画像を取得して保存するPHP実装方法_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:54:35998ブラウズ

以下はソースコードとその関連説明です

//URL は完全なリモート画像アドレスであり、空にすることはできません。$filename は保存された画像の名前です
//デフォルトでは、画像はこのスクリプトと同じディレクトリに配置されます
function GrabImage ($url, $filename=""){
//$url が空の場合は false を返します
if($url == ""){return false;}
$ext = strrchr($url, "." );//画像拡張子を取得
if($ext != ".gif" && $ext != ".jpg" && $ext != ".bmp"){echo "サポートされていない形式!";return false;}
if( $filename == ""){$filename = time()."$ext";}//タイムスタンプを使用して名前を変更します
//キャプチャを開始します
ob_start();
readfile($url); ob_get_contents ();
$size = strlen($img);
fwrite($fp2, $img);
return $filename
}
//テスト
GrabImage("http://www.66xing.com/UploadFile/200609082320515027.bmp", "as.gif");

関連説明:


ob_start : 出力バッファリングをオンにする

この関数は出力バッファリングをオンにします。出力バッファリングがアクティブな間は、スクリプトから出力は送信されません (ヘッダー以外)。代わりに出力は内部バッファーに保存されます。 )

// readfile : ファイルを読み取り、出力バッファーに書き込みます。 ファイルから読み取ったバイト数を返します。 @readfile() として呼び出されない限り、エラー時に FALSE を返し、エラー メッセージを表示します。

//


ob_g​​et_contents : 出力バッファの内容を返します(出力バッファの内容を返します)
これは、出力バッファリングがアクティブでない場合、出力バッファの内容をクリアするか、FALSE を返します。 )、FALSEを返します)
//
ob_end_clean() : 出力バッファをクリーン(消去)し、出力バッファリングをオフにします(出力バッファをクリアします)
この関数は、最上位の出力バッファの内容を破棄(破棄)し、この出力をオフにしますバッファリング。(破棄してオフにする) バッファの内容をさらに処理したい場合は、 ob_end_clean() を呼び出すとバッファの内容が破棄されるため、 ob_get_contents() を呼び出す前に ob_end_clean() を呼び出す必要があります。出力バッファのクリア) 関数は、1 つのバッファの破棄に成功した場合は TRUE を返し、そうでない場合は、アクティブなバッファなしで関数を呼び出したか、何らかの理由でバッファを削除できなかったことが原因で FALSE を返します (特殊なバッファの場合は可能です)。




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

www.bkjia.com

tru​​e

技術記事以下はソース コードとそれに関連する説明です? php //URL は完全なリモート イメージ アドレスであり、空にすることはできません。 //デフォルトでは、イメージは次のように保存されます。このスクリプト...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。