ホームページ >バックエンド開発 >PHPチュートリアル >PHP の例外キャッチに関する問題

PHP の例外キャッチに関する問題

WBOY
WBOYオリジナル
2016-06-13 13:01:00815ブラウズ

PHP キャッチエラーの問題
まずコードを見てみましょう。FLASH で送信された betys 画像データを保存するのは非常に簡単です。

<br />
function customError() {  }<br />
set_error_handler("customError");<br />
<br />
$destination_folder="face/"; //上传文件路径<br />
$xmlstr =$GLOBALS[HTTP_RAW_POST_DATA];//获取post提交的数据<br />
if(empty($xmlstr)) <br />
{<br />
	$xmlstr = file_get_contents('php://input');//读取post提交数据的另一种方法<br />
}<br />
if(!file_exists($destination_folder))<br />
{<br />
	mkdir($destination_folder);//创建存放图片的目录<br />
}<br />
$jpg = $xmlstr;//得到post过来的二进制原始数据<br />
$imgUrl=$destination_folder.time().rand(0, 99).".png";<br />
$file = fopen($imgUrl,"w");//打开文件准备写入<br />
fwrite($file,$jpg);//写入<br />
fclose($file);//关闭<br />
<br />
echo 1;<br />


今は何があってもエコー 1、
ただし、ディスクがいっぱいである、パスが間違っている、または設定された権限がないなど、保存に失敗したときに -1 を返したい場合は、
ユーザーに通知するためにフラッシュにエラーを返すにはどうすればよいですか?
PHP での try の使い方は本当に難しいです
------解決策---------
関数customError () { }
set_error_handler("customError");

$destination_folder="face/" // アップロード ファイル パス
; $xmlstr =$GLOBALS[HTTP_RAW_POST_DATA];//post によって送信されたデータを取得します
if(empty($xmlstr))
{
$xmlstr = file_get_contents('php://input');//送信後のデータを読み取る別の方法
}
if(!file_exists($destination_folder))
{
mkdir($destination_folder);//画像を保存するディレクトリを作成します
}
$jpg = $xmlstr;//ポストされたバイナリのオリジナルデータを取得します
$imgUrl=$destination_folder.time().rand(0, 99).".png";
$file = fopen($imgUrl,"w");//ファイルを開いて書き込みの準備をします
if(fwrite($file,$jpg))
{
echo '1' //書き込み成功
; }
それ以外
{
echo '-1';//書き込みに失敗しました
}
fclose($file);//閉じる

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