admin管理员组

文章数量:1333710

i have some images that get displayed on a page, some of them don't get loaded and i see that non-loading :) small icon.

i was wondering if there is a way to check if the image loaded successful and if not now to display it

this is my image code:

print "<a href=\"".$domain."/picture.php?s=".$s2."&media_path=".$media_path."\">";
    print "<img src=\"".$domain."/".$folder."/".$media_path."\" >";
print "</a>";

what happens is that picture.php looks in the database for the picture name and path and builds the link.

I've looked in the database and the data is there so the images mush be corrupted on the drive, maybe wrong image

So i need some way to check if the image is loaded with success at the end of the script. preferable in php but javascript/jquery is fine also

edit: from the answers i got i did this:

function hideImage()
{
    $('.hideme_image').hide();
}


print "<a class=\"hideme_image\" href=\"".$domain."/picture.php?s=".$s2."&media_path=".$media_path."\">";
    print "<img onerror=\"hideImage()\" src=\"".$domain."/".$folder."/".$media_path."\" >";
print "</a>";

this hides all images, but not all images are corupted.

any ideas?

thanks

i have some images that get displayed on a page, some of them don't get loaded and i see that non-loading :) small icon.

i was wondering if there is a way to check if the image loaded successful and if not now to display it

this is my image code:

print "<a href=\"".$domain."/picture.php?s=".$s2."&media_path=".$media_path."\">";
    print "<img src=\"".$domain."/".$folder."/".$media_path."\" >";
print "</a>";

what happens is that picture.php looks in the database for the picture name and path and builds the link.

I've looked in the database and the data is there so the images mush be corrupted on the drive, maybe wrong image

So i need some way to check if the image is loaded with success at the end of the script. preferable in php but javascript/jquery is fine also

edit: from the answers i got i did this:

function hideImage()
{
    $('.hideme_image').hide();
}


print "<a class=\"hideme_image\" href=\"".$domain."/picture.php?s=".$s2."&media_path=".$media_path."\">";
    print "<img onerror=\"hideImage()\" src=\"".$domain."/".$folder."/".$media_path."\" >";
print "</a>";

this hides all images, but not all images are corupted.

any ideas?

thanks

Share Improve this question edited Jan 18, 2012 at 23:35 Patrioticcow asked Jan 18, 2012 at 23:25 PatrioticcowPatrioticcow 27.1k76 gold badges221 silver badges339 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 7
<img src="image.png" onload="alert('Image loaded');" onerror="alert('Image failed');" />

Something along these lines, is what you're looking for, I think.

You can use onload event on the image tag. Please have a look at this example from W3Schools.

本文标签: how to check if a image is loaded with success in php or javascriptStack Overflow