Hey guys, I have no idea where to even start on this. All I would like would be a few hints or examples of code, nothing complete. I wanna try this one on my own again...
I would like to have all the images in a directory displayed individually and neatly, and then have them link to images in another directory (in PHP). For example: a picture of Eminem (thumbnail) is displayed on the page (from the /img/thumb dir), click on it, and it shows the full picture (from the /img/pic dir). Any ideas? Thanks.
P.S. Would there be any way to associate text with the thumb/full picture without putting it on the picture?
Kyle Brady, President, Intuitive Industries LLC.
http://www.int-ind.com
[EMAIL=brady.k@gmail.com]brady.k@gmail.com[/EMAIL] - [EMAIL=brady.kyle@int-ind.com]brady.kyle@int-ind.com[/EMAIL]






nike_guy_man posted this at 01:38 — 25th September 2003.
They have: 840 posts
Joined: Sep 2000
Can be done in PHP:
(Don't have time to write it now, here's how you'd do it)
Get the contents of the directory
Split it into an array
Foreach the array into images and split that into groups of 10s
Show thumbnails with links
readdir()
The user comment there could be of use
brady.k posted this at 02:04 — 25th September 2003.
He has: 1,383 posts
Joined: Feb 2002
wow, way over my head.
any links to check out other than the readdir() or examples that you can give me? the php.net link didn't make alot of sense, and I would rather try and write my own than copy someone's.
Kyle Brady, President, Intuitive Industries LLC.
http://www.int-ind.com
[EMAIL=brady.k@gmail.com]brady.k@gmail.com[/EMAIL] - [EMAIL=brady.kyle@int-ind.com]brady.kyle@int-ind.com[/EMAIL]
andy206uk posted this at 14:26 — 25th September 2003.
He has: 1,754 posts
Joined: Jul 2002
I have a script for doing this... I'll be back in a min with the code.
andy206uk posted this at 14:29 — 25th September 2003.
He has: 1,754 posts
Joined: Jul 2002
<?php$SCRIPT_NAME=$SERVER_VARS['PHP_SELF'];
$pic=$HTTP_GET_VARS['pic']; // the directory name
$handle=opendir('full/'); // initialize variables
$pics=array();
$count=0;
// read directory into pics array
while (($file = readdir($handle))!==false) {
// filter for jpg, gif or png files...
if (substr($file,-4) == ".jpg\" || substr($file,-4) == \".gif\" || substr($file,-4) == \".png\" || substr($file,-4) == \".JPG\" || substr($file,-4) == \".GIF\" || substr($file,-4) == \".PNG\"){
$pics[$count] = $file;
$count++;
// don't forget to close the filter conditions here!
}
}
closedir($handle);
// done reading, sort the filenames alphabetically, comment these lines if you want no sorting
sort($pics);
reset($pics);
// loop over images
for ($f=0;$f<=sizeof($pics)-1;$f++){
echo \"<a href=\\"
full/$pics[$f]" target=\\"_blank"><img src=\\"thumbs/$pics[$f]" hspace=\\"5" vspace=\\"5" border=\\"0"><br></a>\";// make linebreaks every 2 times!
// $isbr = strpos((($f+1)/2),\".\");
// if (!$isbr){echo \"<br>\";}
}
?>
I think it'll do what you need... let me know if you have any questions.
Andyk
Blog of a Web Designer
Give a man a fish and you feed him for a day. Teach him to use the Net and he won't bother you for weeks.
nike_guy_man posted this at 00:39 — 26th September 2003.
They have: 840 posts
Joined: Sep 2000
Ya beat me to it Andy
Good work
brady.k posted this at 01:35 — 26th September 2003.
He has: 1,383 posts
Joined: Feb 2002
cool...
is there a way, that when someone uploads a picture/photo, it copies it to another directory, but resizes the image?
Example:
I upload a picture, named 'me.jpg'
It copies it to 'menew.jpg', and resizes it from 800x600 to 400x300
thanks for the help.
Kyle Brady, President, Intuitive Industries LLC.
http://www.int-ind.com
[EMAIL=brady.k@gmail.com]brady.k@gmail.com[/EMAIL] - [EMAIL=brady.kyle@int-ind.com]brady.kyle@int-ind.com[/EMAIL]
nuk3 posted this at 03:58 — 28th September 2003.
He has: 238 posts
Joined: May 2002
<?php$picture = $_FILES["userfile\"][\"name\"]; // Assign the uploaded file to $picture
$size = getimagesize(\"$picture\"); // Get the size of the image
$width = $size[0];
$height = $size[1];
$newheight = $newheight / 2; // Halve the height
$newwidth = $newwidth / 2; // Halve the width
$oldimage = ImageCreateFromJPEG(\"$picture\");
// New image will be based on old image (hence \"create from\")
$newimage = ImageCreateTrueColor($newwidth,$newheight);
// Create a new JPEG image with new height and width
imagecopyresampled($newImage,$oldImage,0,0,0,0,$newwidth,$newheight,$width,$height);
ImageJPEG($newimage,\"$picture\");
// Old image will be added/pasted onto to the new image
// Create the image
copy($picture, \"PATH TO WHERE IMAGE WILL IMAGE BE COPIED\");
// Copy it to another directory
unlink(\"$picture\");
// Delete the image
?>
I think that should work..
nuk3.com | Free funny flash movies and addictive games
brady.k posted this at 04:31 — 28th September 2003.
He has: 1,383 posts
Joined: Feb 2002
alright, well i put it in with the upload script, and it doesn't work. (i had to mod it a little bit)...here's the errors i get (i tried to upload mountains.jpg):
Warning: getimagesize: Unable to open 'mountains.jpg' for reading. in /.../do_upload.php on line 86Warning: imagecreatefromjpeg: Unable to open 'mountains.jpg' for reading in /.../do_upload.php on line 93
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /.../do_upload.php on line 99
Warning: imagejpeg: unable to open 'mountains.jpg' for writing in /.../do_upload.php on line 100
Warning: Unable to open 'mountains.jpg' for reading: No such file or directory in /.../do_upload.php on line 104
'
and the php (including the final upload part of my code):
<?php
if ($_FILES['img1'] != "\") {
copy($_FILES['img1']['tmp_name'], \"$ufolder\".$_FILES['img1']['name'])
or die(\"Couldn't copy the file!\");
} else {
die(\"No input file specified\");
}
if ($_FILES['img1'] != \"\") {
$picture = $_FILES[\"img1\"][\"name\"]; // Assign the uploaded file to $picture
$size = getimagesize(\"$picture\"); // Get the size of the image
$width = $size[0];
$height = $size[1];
$newheight = $newheight / 2; // Halve the height
$newwidth = $newwidth / 2; // Halve the width
$oldimage = ImageCreateFromJPEG(\"$picture\");
// New image will be based on old image (hence \"create from\")
$newimage = ImageCreateTrueColor($newwidth,$newheight);
// Create a new JPEG image with new height and width
imagecopyresampled($newImage,$oldImage,0,0,0,0,$newwidth,$newheight,$width,$height);
ImageJPEG($newimage,\"$picture\");
// Old image will be added/pasted onto to the new image
// Create the image
copy($picture, \"/home/swimtige/public_html/img/thumbs/\");
// Copy it to another directory
} else {
die(\"Could not copy and resize image.\");
}
?>
thanks.
Kyle Brady, President, Intuitive Industries LLC.
http://www.int-ind.com
[EMAIL=brady.k@gmail.com]brady.k@gmail.com[/EMAIL] - [EMAIL=brady.kyle@int-ind.com]brady.kyle@int-ind.com[/EMAIL]
nuk3 posted this at 13:40 — 28th September 2003.
He has: 238 posts
Joined: May 2002
Heres the working code straight from my image gallery script:
<?php$uploaddir = "/home/swimtige/public_html/img/thumbs/\";
move_uploaded_file($_FILES[\"userfile\"][\"tmp_name\"], $uploaddir . $_FILES[\"userfile\"][\"name\"])
$picture = $uploaddir . $_FILES[\"userfile\"][\"name\"];
$picture_name = $_FILES[\"userfile\"][\"name\"];
$size=getimagesize(\"$picture\");
$width=$size[0];
$height=$size[1];
$newHeight=100;
$newWidth=100;
$oldImage=ImageCreateFromJPEG(\"$picture\");
$newImage=ImageCreateTrueColor($newWidth,$newHeight);
imagecopyresampled($newImage,$oldImage,0,0,0,0,$newWidth,$newHeight,$width,$height);
ImageJPEG($newImage,\"TN_\".\"$picture_name\");
$picture3=\"TN_$picture_name\";
copy($picture3, \"/home/swimtige/public_html/img/thumbs/$picture3\");
unlink(\"PATH TO THE FOLDER WHICH THE SCRIPT IS IN/$picture3\");
?>
This basically uploads an image, puts it in a folder and creates a thumbnail of it in the same directory. Hopefully it'll work this time..
nuk3.com | Free funny flash movies and addictive games
nuk3 posted this at 03:49 — 29th September 2003.
He has: 238 posts
Joined: May 2002
If this doesn't work I give up. I tested it on my server, by setting up an exact directory structure as you. Make sure you give write permissions to the thumb, full and upload dirs.
<?php$uploaddir = "/home/swimtige/public_html/img/pics/\"; // Path to full image folder
if (move_uploaded_file($_FILES[\"userfile\"][\"tmp_name\"], $uploaddir . $_FILES[\"userfile\"][\"name\"]))
{
// Move the original uploaded file to the pics directory
$picture = $uploaddir . $_FILES[\"userfile\"][\"name\"]; // /home/swimtige/public_html/img/pics/pic.jpg
$picture_name = $_FILES[\"userfile\"][\"name\"]; // pic.jpg
// Set a few variables
$size = getimagesize(\"$picture\");
$width = $size[0];
$height = $size[1]; // Find out the height and width attriutes of image
$newHeight = 100;
$newWidth = 100; // Set the new height and width of thumbnail
$oldimage = ImageCreateFromJPEG(\"$picture\");
$newimage = ImageCreateTrueColor($newWidth,$newHeight);
imagecopyresampled($newimage,$oldimage,0,0,0,0,$newWidth,$newHeight,$width,$height);
ImageJPEG($newimage,\"$picture_name\");
// Thumbnail picture is created in /upload/ dir
copy($picture_name, \"/home/swimtige/public_html/img/thumbs/$picture_name\");
// So move it to /thumbnail/ dir
unlink(\"home/swimtige/public_html/upload/$picture_name\");
// Delete the useless thumbnail in /upload/ dir
}
else {
echo \"Image upload failed!\";
}
?>
nuk3.com | Free funny flash movies and addictive games
brady.k posted this at 01:42 — 30th September 2003.
He has: 1,383 posts
Joined: Feb 2002
ok...i'll try it