[GLLUG] PHP/images/MySQL

Sean picasso@madflower.com
Tue, 4 Feb 2003 16:20:19 -0500 (EST)


Why can't you just use imagecopyresampled()?
http://www.php.net/manual/en/function.imagecopyresampled.php

You need php 4.x and gd >2.x but it looks like what you want. 

'On 4 Feb 2003, Bruce Smith wrote:

> If you don't mind multiple copies (different sizes) of the same image on
> your hard drive, you can shrink them all very easily by using a simple
> little script and the ImageMagick commands.
> 
> Here's an example that will shrink multiple images to 18% of the
> original size, and give the new/shrunk file a new name by adding 
> a "s" right before ".jpg":
> 
> ---------------------------------------------
> #!/bin/sh
> [ -z "$SHRINK" ] && SHRINK='18%'
> echo "Shrinking to $SHRINK"
> for f
> do
>         n=`echo $f | sed -e 's/.jpg/s.jpg/'`
>         if [ -f "$n" ]; then
>                 echo "overwrite $n? (y/n)"
>                 read ans
>                 [ "$ans" = "y" ] || continue
>         fi
>         echo "creating:  $n"
>         convert -geometry $SHRINK "$f" "$n"
> done
> ---------------------------------------------
> 
> If the script name is "shrink", then run it like "shrink *jpg".
> 
> And it can easily be modified to shrink to a set resolution instead 
> of a percentage.
> 
> I use it all the time to create thumbnails.  And I wrote a nice little
> PHP script that reads the current directory and displays all the files
> found in a thumbnail format for viewing . . .
> 
>  - BS
> 
> > In the past, I've used ImageMagick to perform the functions you are
> > describing, so that everything is automated through the form, and all
> > manipulation of images is done during initial upload / form processing.
> > 
> > Basically, you have your form, with all the user input you need
> > contained in that form.  You'd also have a space for file upload fields
> > (for your original images), however many you decide that you need.  When
> > php processes the form, it can verify the type of file uploaded was an
> > image (important step), then manipulate the image (resize, copy, etc.)
> > as many times as you need to create your thumbnail / original image
> > sets, then add / modify an entry in the database accordingly.  You could
> > just name your files by upload time, split them up by directory or name
> > (scaled_640_480_1044386407.jpg), and either store them in the database
> > itself or just store their location in the database.
> > 
> > Difficult, and tedious, but not impossible.  I even have a working
> > example that I'll sell you for a six-pack. ;)
> > 
> > --Brad Fears
> > 
> > 
> > On Tue, 2003-02-04 at 13:21, Mike Szumlinski wrote:
> > > Okay...here is what I'm trying to do and I can't figure out a good 
> > > method.  Maybe someone else out there has a good idea on how to do this:
> > > 
> > > I have a user input through a form a bunch of random info (check boxes, 
> > > text fields, etc), but I also need up to 4 images to correspond to the 
> > > ID for that row.  Its for an inventory system.
> > > 
> > > The images also need to be thumbnailed and shrunk before they hit the 
> > > folder/database (haven't figured out what is better yet). So basically 
> > > each unique ID within the database has up to 8 images associated with 
> > > it (4 thumbs, 4 640x480 images).
> > > 
> > > I can't quite think of how to pull it off.  I've done single image 
> > > stores by just renaming the image the ID.jpg, but that won't work here. 
> > >   I've thought about putting them into the table in the database, but I 
> > > can't figure out how to use GD to shrink them down first if I do that.  
> > > I'm sorta clueless on how to pull this off for now.  Any ideas?
> > > 
> > > -Mike
> 
> 
> _______________________________________________
> linux-user mailing list
> linux-user@egr.msu.edu
> http://www.egr.msu.edu/mailman/listinfo/linux-user
>