2

プログラムの一部でPHPコピー関数を使用していますが、関数のパラメーターはユーザー入力に依存します。関数が使用できないパスが含まれている場合は、デフォルトのphpエラーメッセージを回避し、以下に示すようなカスタムメッセージを出力しようとしています。エラー/例外の処理は初めてです。カスタムの「パスが正しくありませんでした!」ではなく、phpのデフォルトのエラーメッセージが表示されます。以下の方法を使用します。

私が試したこと:

try{
    copy($webImagePath, $destinationPath);
 }
 catch(Exception $e){
    echo 'Path was incorrect!';
 }
4

2 に答える 2

1

検討してください:http set_error_handler//php.net/manual/en/function.set-error-handler.php

例:

set_error_handler("someFunction");

function someFunction($errno, $errstr) {
    output details and information
}
于 2012-12-21T03:00:44.837 に答える
0

表示したいカスタムメッセージで例外をスローする必要があります。個々のステートメントのデフォルトのPHPエラーメッセージの前に「@」記号を付けることで、それらを抑制することができます。または、ページごとのerror_reportingレベルを変更することもできます(詳細については、このリンクを確認してください:http: //php.net/manual/en/function.error-reporting.php

次のコードスニペットも確認​​してください

$file='example.txt';          //replace the file name with your URL
$newfile = 'example.txt.bak';
try{
  $ret=@copy($file, $newfile);
  if (!$ret){
    throw new Exception("File path doesn't exist..");
  }
}
catch(Exception $e){
echo $e->getMessage();
}
于 2012-12-21T03:15:11.847 に答える