web-dev-qa-db-ja.com

不足している画像ファイルでJImageを処理する方法

今日、私のウェブサイトでは、画像が欠落しているため、エンドユーザーに1ページでエラーが表示されました。これはjseblodに保存され、テンプレートでnew JImage()を使用してアクセスされる画像です。

このエラーの処理方法に関するガイドラインはありますか? JImageは(文字通り)少なくとも3つの異なるエラーをスローしますが、これは単にtry {} catchブロックを使用する必要があることを示していますか、それとも見つからない画像を処理するための推奨される方法はありますか

2
jdog

うん、例外のキャッチを使用するのが私の考えでは最良の考えだと思います。次に、Joomla enqueueMessage関数を使用して、ユーザーフレンドのエラーメッセージを表示します。

try
{
    // Try to do something with the image using 'JImage'
}
catch (Exception $e)
{
    // The image was missing
    JFactory::getApplication()->enqueueMessage(JText::_('MISSING_IMAGE'), 'error');

    // Error message = $e->getMessage();
    // I'd then most likely log the actual PHP error to a file using 'JLog'
}

お役に立てれば

1
Lodder

いくつかのオプションがありますが、最も簡単な解決策は、jimageを実行する前にsrcでifexistsを実行することです。つまり:

If(JFile :: exists($ src)){//ここでjimageを実行する}

または、画像を配列に追加し、出力と関数に応じてそれぞれの画像を実行することもできます。

2
tonypartridge