note 72082 deleted from function.getimagesize by nlopess

From: Date: Mon, 01 Jan 2007 21:28:23 +0000
Subject: note 72082 deleted from function.getimagesize by nlopess
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-121178@lists.php.net to get a copy of this message
Note Submitter: john at m1911 dot org ---- 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

« previous php.notes (#121178) next »