| |
|
|
| | Привет всем !
получаю картинки с удпленного сайта <img ...урл картинки > Как определить если картинка недоступна , то выводить свой шаблон типа "No picture". | |
| |
|
|
| |
|
|
| |
для: dima2207
(06.05.2008 в 23:27)
| | |
<?
$URL='logo.png';
if (file_exists($URL))
{ echo "<img src='".$URL."'>"; }
else
{ echo "<img src='myimage.jpg' alt=\"МОЯ картинка\" width='200' height='200'>"; }
?>
|
| |
| |
|
|
| |
|
|
| |
для: Usta
(07.05.2008 в 00:24)
| | | Очень хорошо ! но боюсь что функция файл_ексист несработает в отношении с файлом на другом сервере .
Я предполагаю делать это сокетом , но это будет очень долго , если картинок до сотни на стр. !
есть ли еще предложения ? | |
| |
|
|
| |
|
|
| |
для: dima2207
(07.05.2008 в 02:09)
| | | Если воспользоваться заголовком HEAD HTTP протокола, то будет быстро :).
В данном случае, всё тело ответа вам возвращаться не будет, а вернуться только заголовки, откуда можно вытащить код ответа (удачный это 200 OK)
Функция примерно такая:
<?
function remote_file_exists($url){
$parse = parse_url($url);
$host = $parse['host'];
$fp = fsockopen ($host, 80, $errno, $errstr, 20);
fputs($fp, "HEAD ".$url." HTTP/1.1\r\n");
fputs($fp, "HOST: ".$host."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
while(!feof($fp)){
$response .= fgets ($fp, 128);
}
return (strpos($response,'200 OK') === false)?false:true;
}
?>
|
| |
| |
|
|