Я надеюсь, что кто-то может мне помочь: у меня есть эти сценарии, что если файл не существует на моем сервере, он отправляется на удаленный сервер, чтобы проверить файл. Если файл существует, он копирует его на мой локальный сервер и больше не проверяет. Так что часть Imagick работает только тогда, когда изображение не существует на моем локальном сервере.
Проблема, с которой я столкнулся, заключается в том, что если файл не существует на удаленном сервере - тогда приложение выдает ошибку - вот код моего скрипта:
<?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); <--- Это останавливает полную загрузку страницы после возникновения ошибки. </p>
Любые идеи будут оценены.
Я нашел решение со всеми опубликованными ответами! спасибо миллион
<?php if(file_exists($filename))
{эхо ''; }
else {try {$ imageurlfolder = dirname ($ filename);
@mkdir ($ imageurlfolder, 0755, true); @copy ($ imgremoteurl, $ filename);
$ thumb = new Imagick ($ filename);
$ thumb-> scaleImage ($ g_sites_img1, 0); $ Thumb-> writeImage ($ файла);
$ Thumb-> уничтожить ();}
catch (ImagickException $ e) {
echo "Исключение поймано! \ n";
}
}
?>