usergeyv
Знаток
- Регистрация
- 5 Июл 2013
- Сообщения
- 152
- Реакции
- 25
- Автор темы
- #1
Как заставить его выполнятся только один раз, например, если картинка error.gif или файл
не доступный или их нет , то в консоли множество ошибок , страница постоянно грузится
PHP:
// Прочитать дефолтную картинку с диска
$f=@fopen('templates/dleimages/error.gif','r');
Header('Content-type: image/gif');
// Передать ее в браузер
echo fread($f,filesize('templates/dleimages/error.gif'));
fclose($f);
// Получить ссылку на страницу с битой ссылкой и саму битую ссылку
$f=fopen('error.log','a+');
$str = "Date: ".date("d.m.Y H:i:s")."\r\n";
$str .= "Picture: ".$_GET['src']."\r\n";
$str .= "URL: ".$_GET['page']."\r\n";
$str .= "ID: ".$_GET['id']."\r\n";
$str .= "------------------\r\n";
// Записать данные в лог-файл
fwrite($f,$str);
fclose($f);
HTML:
var obj = document.getElementsByTagName('img');
for(var i = 0;i<obj.length;i++) {
if (obj[i].addEventListener) {
obj[i].addEventListener('error', handle_error, false);
}
else {
obj[i].attachEvent('onerror', handle_error);
}
}
function handle_error(e) {
e = e ? e : window.event;
var imgElem = e.target ? e.target : e.srcElement;
imgElem.src='error_picture.php?src='+imgElem.src+'&page='+document.location.href+'&id=1111';
}