誰かが助けてくれることを願っています。私のサーバーにファイルが存在しない場合は、ファイル。ファイルが存在する場合は、それを自分のローカルサーバーにコピーし、再度チェックしません。 Imagickの部分は、イメージがローカルサーバーに存在しない場合にのみ機能します。PHPのコードエラーを隠しても残りのページを実行する
私が持っている問題は、ファイルがリモートサーバー上に存在しない場合ということである - そして、アプリケーションがエラーをスルー - ここに私のスクリプトのコードは次のとおりです。
<?php if (file_exists($filename))
{
echo '<img src="'.$imageurl1.'" width="'.$g_sites_img1.'" alt="'.$imageurlmeta.'" class="image1" align="left" />';
}
else { $imageurlfolder = dirname($filename);
@mkdir($imageurlfolder, 0755, true);
@copy($imgremoteurl, $filename);
$thumb = new Imagick($filename);
$thumb->scaleImage($g_sites_img1, 0);
$thumb->writeImage($filename);
$thumb->destroy(); }?>
ここでエラーコードは次のとおりです。
> Fatal error: Uncaught exception
> 'ImagickException' with message
> 'Unable to read the file:
> /home/game1/public_html/images/small///.jpg'
> in
> /home/game1/public_html/includes/standard__1.php:15
> Stack trace: #0
> /home/game1/public_html/includes/standard__1.php(15):
> Imagick->__construct('/home/game1/pub...')
> #1 /home/game1/public_html/includes/news.php(127):
> require('/home/game1/pub...') #2
> /home/game1/public_html/index1.php(126):
> include('/home/game1/pub...') #3
> {main} thrown in
> /home/game1/public_html/includes/standard__1.php
> on line 15
このエラーは回避できますが、ページは正常に読み込まれますか?
私はerror_reporting(0)を試しました。 < ---エラーが発生すると、ページのロードが完全に停止します。
すべてのアイデアをいただければ幸いです。
すべての回答が掲載されたソリューションが見つかりました。おかげさま百万円
<?php if(file_exists($filename))
{echo ''; } else {try {$ imageurlfolder = dirname($ filename); @mkdir($ imageurlfolder、0755、true); @copy($ imgremoteurl、$ filename); $ thumb =新しいImagick($ filename); $ thumb-> scaleImage($ g_sites_img1、0); $ thumb-> writeImage($ filename); $ thumb-> destroy();} catch(ImagickException $ e){ echo "Exception caught!\ n"; } } ?>
ありがとうDavid - あなたの助けを借りて見つけました! –
EとCの間に 'x'がありません – celwell
ニースのキャッチ@celwellは、大いに義務付けられています。 –