note 72082 added to function.getimagesize
| From: | johnatm1911dotorg at osu1 dot php dot net | Date: | Mon, 01 Jan 2007 21:25:35 +0000 |
| Subject: | note 72082 added to function.getimagesize | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-121177@lists.php.net to get a copy of this message | ||
I have a serious problem with getimagesize.
I am using this function to check the size of images posted in my forums site. However, if a page
contains several images, this code increases the page creation time to a very large degree. For
example if a page contains 7 images, loading time goes from 1.1 sec to 7 sec. If a page contains 25
images loading time goes from 1.9 sec to 30 sec. Is that function so slow, or am I doing something
wrong? Here is the code I use:
// <-- This is the button/image that will be displayed instead of the big image.
$img_replacement1 = "images/misc/toobigimage.gif";
// <-- This is the button/image that will be displayed when there is no image at the URL.
$img_replacement2 = "images/misc/notexistimage.gif";
// <-- This is the maximum width that an image is allowed to be viewed safely.
$img_max_width = 800;
// <-- This is the maximum height that an image is allowed to be viewed safely.
$img_max_height = 600;
$link = strip_smilies(str_replace('\\"', '"', $link));
$link = str_replace(' ', '', $link);
// Let's get the properties of the image. We'll also check if the image exists
if ($imginfo=@getimagesize($link))
{
// If image exists and its size is outside our specs....
if (($imginfo[0] > $imginfo[1] and (($imginfo[0] > $img_max_width) or ($imginfo[1] >
$img_max_height))) or ($imginfo[0] < $imginfo[1] and (($imginfo[1] > $img_max_width) or
($imginfo[0] > $img_max_height))) or ($imginfo[0] == $imginfo[1] and ($imginfo[0] * $imginfo[1]
> $img_max_width * $img_max_height)))
{
// we change the image to a link,
$w=imageResize($imginfo[0], $imginfo[1], 100);
$thumb="<img src=\"$link\" $w>";
$inp_string="<table><tr><td valign=\"middle\"
align=\"left\"><a href=\"$link\" target=\"_blank\"><img
src=\"$img_replacement1\" border=\"0\"
alt=\"\"></A></td><td valign=\"middle\"
align=\"left\"><a href=\"$link\"
target=\"_blank\">$thumb</A></td></tr></table><p>";
return $inp_string;
}
else
{
// else, we return the image.
$inp_string='<img src="' . $link . '" border="0"
alt="" />';
return $inp_string;
}
}
else
{
if (!$allowimgsizefailure)
{
@unlink($link);
// If the image does not exist at the specified URL, show the proper icon and the URL
$inp_string="<table><tr><td valign=\"middle\"
align=\"left\"><img src=\"$img_replacement2\" border=\"0\"
alt=\"\"></td><td valign=\"middle\"
align=\"left\">($link)</td></tr></table><p>";
return $inp_string;
}
}
Many thanks for any help you can profice
----
Server IP: 66.163.161.117
Probable Submitter: 89.210.134.21
----
Manual Page -- http://www.php.net/manual/en/function.getimagesize.php
Edit -- https://master.php.net/note/edit/72082
Del: integrated -- https://master.php.net/note/delete/72082/integrated
Del: useless -- https://master.php.net/note/delete/72082/useless
Del: bad code -- https://master.php.net/note/delete/72082/bad+code
Del: spam -- https://master.php.net/note/delete/72082/spam
Del: non-english -- https://master.php.net/note/delete/72082/non-english
Del: in docs -- https://master.php.net/note/delete/72082/in+docs
Del: other reasons-- https://master.php.net/note/delete/72082
Reject -- https://master.php.net/note/reject/72082
Search -- https://master.php.net/manage/user-notes.php