473,388 Members | 956 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,388 software developers and data experts.

image resizing does not work for large size images

hii all,
I am facing a problem currently..
i have a script for image uploading and resizing..

the image uploading takes place properly for every size images..
but, the resizing works for only small sized iamages..
for eg. resizing takes place for 70 kb sized images but fails for 600kb or more..
my code is below..

Expand|Select|Wrap|Line Numbers
  1.  
  2. <?php
  3. $idir = "images/photo/";   // Path To Images Directory
  4. $tdir = "images/photo/thumbs/";   // Path To Thumbnails Directory
  5. $twidth = "125";   // Maximum Width For Thumbnail Images
  6. $theight = "100";   // Maximum Height For Thumbnail Images
  7.  
  8. if (!isset($_GET['subpage'])) {   // Image Upload Form Below   ?>
  9.   <form method="post" action="addphoto.php?subpage=upload" enctype="multipart/form-data">
  10.    File:<br />
  11.   <input type="file" name="imagefile" class="form">
  12.   <br /><br />
  13.   <input name="submit" type="submit" value="Sumbit" class="form">  <input type="reset" value="Clear" class="form">
  14.   </form>
  15. <? } else  if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {   // Uploading/Resizing Script
  16.   $url = $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use
  17.   if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {
  18.     $file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php
  19.     $copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location
  20.     if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location
  21.       print 'Image uploaded successfully.<br />';   // Was Able To Successfully Upload Image
  22.       $simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From
  23.       $currwidth = imagesx($simg);   // Current Image Width
  24.       $currheight = imagesy($simg);   // Current Image Height
  25.       if ($currheight > $currwidth) {   // If Height Is Greater Than Width
  26.          $zoom = $twidth / $currheight;   // Length Ratio For Width
  27.          $newheight = $theight;   // Height Is Equal To Max Height
  28.          $newwidth = $currwidth * $zoom;   // Creates The New Width
  29.       } else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)
  30.         $zoom = $twidth / $currwidth;   // Length Ratio For Height
  31.         $newwidth = $twidth;   // Width Is Equal To Max Width
  32.         $newheight = $currheight * $zoom;   // Creates The New Height
  33.       }
  34.       $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail
  35.       imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete
  36.       $palsize = ImageColorsTotal($simg);
  37.       for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image
  38.        $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used
  39.        ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use
  40.       }
  41.       imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It)
  42.       imagejpeg($dimg, "$tdir" . $url);   // Saving The Image
  43.       imagedestroy($simg);   // Destroying The Temporary Image
  44.       imagedestroy($dimg);   // Destroying The Other Temporary Image
  45.       print 'Image thumbnail created successfully.';   // Resize successful
  46.     } else {
  47.       print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed
  48.     }
  49.   } else {
  50.     print '<font color="#FF0000">ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is ';   // Error Message If Filetype Is Wrong
  51.     print $file_ext;   // Show The Invalid File's Extention
  52.     print '.</font>';
  53.   }
  54. }
  55.  ?>
  56.  

when resizing doesnot work no message appers on screen..
please find the problem in my script , any suggessions to modify script..

thanks...
Nov 24 '07 #1
10 7031
coffear
20
try putting the following at the top of your script:-

[PHP]error_reporting(E_ALL);[/PHP]

It is possible that you are running out of memory when trying to resize.
Nov 24 '07 #2
try putting the following at the top of your script:-

[PHP]error_reporting(E_ALL);[/PHP]

It is possible that you are running out of memory when trying to resize.
i hav added your statement at the top, but the same thing..no message..
no resizing..only upload takes place..
any other suggesions..
thanks...
Nov 24 '07 #3
try putting the following at the top of your script:-

[PHP]error_reporting(E_ALL);[/PHP]

It is possible that you are running out of memory when trying to resize.
hii,
i am adding another information which may help u find my fault..

i hav increased the thumbnail size thinking that resizing extend will reduce..

now i am getting error message..


my code:
Expand|Select|Wrap|Line Numbers
  1. <?php
  2. error_reporting(E_ALL);
  3. $idir = "images/photo/";   // Path To Images Directory
  4. $tdir = "images/photo/thumbs/";   // Path To Thumbnails Directory
  5. $twidth = "1100";   // Maximum Width For Thumbnail Images
  6. $theight = "650";   // Maximum Height For Thumbnail Images
  7.  
  8. if (!isset($_GET['subpage'])) {   // Image Upload Form Below   ?>
  9.   <form method="post" action="addphoto.php?subpage=upload" enctype="multipart/form-data">
  10.    File:<br />
  11.   <input type="file" name="imagefile" class="form">
  12.   <br /><br />
  13.   <input name="submit" type="submit" value="Sumbit" class="form">  <input type="reset" value="Clear" class="form">
  14.   </form>
  15. <? } else  if (isset($_GET['subpage']) && $_GET['subpage'] == 'upload') {   // Uploading/Resizing Script
  16.   $url = $_FILES['imagefile']['name'];   // Set $url To Equal The Filename For Later Use
  17.   if ($_FILES['imagefile']['type'] == "image/jpg" || $_FILES['imagefile']['type'] == "image/jpeg" || $_FILES['imagefile']['type'] == "image/pjpeg") {
  18.     $file_ext = strrchr($_FILES['imagefile']['name'], '.');   // Get The File Extention In The Format Of , For Instance, .jpg, .gif or .php
  19.     $copy = copy($_FILES['imagefile']['tmp_name'], "$idir" . $_FILES['imagefile']['name']);   // Move Image From Temporary Location To Permanent Location
  20.     if ($copy) {   // If The Script Was Able To Copy The Image To It's Permanent Location
  21.       print 'Image uploaded successfully.<br />';   // Was Able To Successfully Upload Image
  22.       $simg = imagecreatefromjpeg("$idir" . $url);   // Make A New Temporary Image To Create The Thumbanil From
  23.       $currwidth = imagesx($simg);   // Current Image Width
  24.       $currheight = imagesy($simg);   // Current Image Height
  25.       if ($currheight > $currwidth) {   // If Height Is Greater Than Width
  26.          $zoom = $twidth / $currheight;   // Length Ratio For Width
  27.          $newheight = $theight;   // Height Is Equal To Max Height
  28.          $newwidth = $currwidth * $zoom;   // Creates The New Width
  29.       } else {    // Otherwise, Assume Width Is Greater Than Height (Will Produce Same Result If Width Is Equal To Height)
  30.         $zoom = $twidth / $currwidth;   // Length Ratio For Height
  31.         $newwidth = $twidth;   // Width Is Equal To Max Width
  32.         $newheight = $currheight * $zoom;   // Creates The New Height
  33.       }
  34.       $dimg = imagecreate($newwidth, $newheight);   // Make New Image For Thumbnail
  35.       imagetruecolortopalette($simg, false, 256);   // Create New Color Pallete
  36.       $palsize = ImageColorsTotal($simg);
  37.       for ($i = 0; $i < $palsize; $i++) {   // Counting Colors In The Image
  38.        $colors = ImageColorsForIndex($simg, $i);   // Number Of Colors Used
  39.        ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);   // Tell The Server What Colors This Image Will Use
  40.       }
  41.       imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);   // Copy Resized Image To The New Image (So We Can Save It)
  42.       imagejpeg($dimg, "$tdir" . $url);   // Saving The Image
  43.       imagedestroy($simg);   // Destroying The Temporary Image
  44.       imagedestroy($dimg);   // Destroying The Other Temporary Image
  45.       print 'Image thumbnail created successfully.';   // Resize successful
  46.     } else {
  47.       print '<font color="#FF0000">ERROR: Unable to upload image.</font>';   // Error Message If Upload Failed
  48.     }
  49.   } else {
  50.     print '<font color="#FF0000">ERROR: Wrong filetype (has to be a .jpg or .jpeg. Yours is ';   // Error Message If Filetype Is Wrong
  51.     print $file_ext;   // Show The Invalid File's Extention
  52.     print '.</font>';
  53.   }
  54. } ?>
  55.  
error msg:

Image uploaded successfully.
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 1100 bytes) in /local/home/wwwuser/home.mishra.biz/addressbook/addphoto.php on line 34

the origina image which iam uploading has a size=2048x1536
& i hav written code to resize it to 1100x650..
please giv any suggession...
thanks..
Nov 25 '07 #4
coffear
20
Image uploaded successfully.
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 1100 bytes) in /local/home/wwwuser/home.mishra.biz/addressbook/addphoto.php on line 34

the origina image which iam uploading has a size=2048x1536
& i hav written code to resize it to 1100x650..
please giv any suggession...
thanks..
PHP has a configuration option that limits the memory a script can use. The error message that you show indicates that the operation requires more memory than you are allowed.
Nov 25 '07 #5
Markus
6,050 Expert 4TB
I believe there is a way you can temporarily set the php.ini settings to allow for higher limitations on the memory.

Soemthing like:
[php]
ini_set('memory_limit', '12M');
[/php]
Not sure, but try that (play around with the sizes too) and let me know mishrarajesh!

-markus
Nov 25 '07 #6
I believe there is a way you can temporarily set the php.ini settings to allow for higher limitations on the memory.

Soemthing like:
[php]
ini_set('memory_limit', '12M');
[/php]
Not sure, but try that (play around with the sizes too) and let me know mishrarajesh!

-markus
in the phpinfo( ) , i saw the memory_limit = 16M

& post_max size = 8M

so how much memory_limit should i set it to ?
i mean .... ini_set('memory_limit', ' howmuch ' )
plese reply soon
thanks..........
Nov 26 '07 #7
in the phpinfo( ) , i saw the memory_limit = 16M

& post_max size = 8M

so how much memory_limit should i set it to ?
i mean .... ini_set('memory_limit', ' howmuch ' )
plese reply soon
thanks..........
Set it to
memory_limit = 32M
post_max_size = 32M

and large image size be uploaded.

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 1100 bytes)

It means what not enouth memory for loading image

You can also use the programm www.imagemagick.org/
Nov 26 '07 #8
Set it to
memory_limit = 32M
post_max_size = 32M

and large image size be uploaded.

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 1100 bytes)

It means what not enouth memory for loading image

You can also use the programm www.imagemagick.org/
how can i change the setting ? any php query..?


plese tell me if any..
thanks for reply..
Nov 26 '07 #9
coffear
20
the code was provided in an earlier post:-

ini_set('memory_limit', '12M');

change the 12M to the value you want. However you may not have permission to increase this.
Nov 26 '07 #10
the code was provided in an earlier post:-

ini_set('memory_limit', '12M');

change the 12M to the value you want. However you may not have permission to increase this.
thanks i got it....
it works..
Nov 27 '07 #11

Sign in to post your reply or Sign up for a free account.

Similar topics

0
by: Leonard Challis | last post by:
Good morning everyone I am currently doing quite a large project in VB6 and ACCESS for college, for a Photographers company assignment. I am posting here to see if anyone has any advice on what...
8
by: Jef Driesen | last post by:
I'm implementing some image processing algorithms in C++. I created a class called 'image' (see declaration below), that will take care of the memory allocations and some basic (mathematical)...
14
by: D. Alvarado | last post by:
Hello, I am trying to open a window containing an image and I would like the image to be flush against the window -- i.e. have no padding or border. Can I make this happen with a single call to a...
5
by: Jim | last post by:
I've heard that resizing images through PHP (either GD2 or ImageMagick) is a processor intensive exercise. I'm setting up a site where users will be uploading up to 10 images along with the details...
12
by: Sharon | last post by:
I’m wrote a small DLL that used the FreeImage.DLL (that can be found at http://www.codeproject.com/bitmap/graphicsuite.asp). I also wrote a small console application in C++ (unmanaged) that uses...
6
by: neverstill | last post by:
hi- So I wrote this nice little page that will allow the managers to add images to the products table. Without too many details to confuse everything, basically what I'm doing is: getting an...
6
by: RoseW | last post by:
This is a collection of images with its own style sheet to create the hover over the thumbnail and the larger image appears. http://www4.webng.com/chesleyhs/images/planting/Planting.html Narrow...
6
by: Bob Bedford | last post by:
Hi all, I've to resize uploaded images with the "imagecopyresampled" but when I've images quite large (common those days) I reach the 16mb limits of the ISP. How can I fix this ? I absolutely...
11
by: shapper | last post by:
Hello, I am displaying an image on a few pages. The image size is 50 px height and 50 px width. In some pages I need the image to be 30x30 px in others 40x40 px and in others 50x50px. Can I...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.