11-24-2004, 02:52 PM | #1 (permalink) |
Loves my girl in thongs
Location: North of Mexico, South of Canada
|
[php] gallery script?
I have a php gallery code snippet that has been most excellent to use in the past. As it is GPL'd, I thought I would ask if anyone here can help me or point me in the right direction in modifying the code to a more usefull system for my curent website design.
I searched far and wide before coming accross this code that will create a simple php gallery by creating a table with a set variable of colums and using said table to display the contents of an "imgs/thumbs" folder where the thumbs have the same name as the ful size images. I didn't want a back-end control panel or user controls or comments and ratings, I just wanted a script that printed a table of the contents of the thumbs directory. I've been very happy with this script, but recent changes to my website have left me worried that I will have to go on a long drawn out hunt for a new one. Right now the script generates a java popup window with the fullsize image onclick of the thumb. As well, the script won't call the fullsize popups if called to a parent directory. If the scipt was located in /test and I include it in a file located in / , the script can't find the full size images to popup. Very frusturating. The images are in /imgs & /imgs/thumbs while _vars.php is located in the same directory as the script, both in /test directory. Would any TFP'ers be willing to tell me how I can change the scripts behavior from generating a popup to calling the image onclick into the same page using the ?id=xxx varaible? Is it not just obvious to me why the script can't find the full size images to popup right now? To throw in a monkey wrench, the order of includes is index.php ---> gallery.php ---> test/popgal.php . The syntax used is http://www.arch13.com/index.php?id=g...d2=test/popgal where id is a variable in index.php and id2 is a variable located in gallery.php . Calling gallery into index.php, then having gallery call popgal.php seems to break the script. Heres the script with origional credit where due: Code:
<?php # PopUp! Gallery, a basic and configurable PHP script # to display javascript pop-up picture galleries on the web. # - By Matthew Blake (http://www.darkhighway.net) # - Download source at http://www.darkhighway.net/PopUpGallery/ # Special thanks to ninebirds from DevShed for helping with sort issue ##################################################################### # This program utilizes aspects of the following scripts: # JK Pop up image viewer script- by JavaScriptKit.com # --- Visit JavaScript Kit (http://javascriptkit.com) # --- for free JavaScript tutorials and scripts # PHPphotoAlbum 1.0 - by Daniele Leone (info@danieleleone.com) # --- Download available at http://www.danieleleone.com/ # Disable right click script III- By Renigade (renigade@mediaone.net) # --- For full source code, visit http://www.dynamicdrive.com ##################################################################### include("test/_vars.php"); echo "<!--BEGIN PopUp Gallery -->"."\n"; echo "<style type='text/css'>IMG.popimage { border: $thumb_border; }</style>"."\n"; $files = array (); $myDirectory = opendir("imgs/thumbs"); echo "\n"; echo "<table width=$table_width bgcolor='$table_bg_color' border='$table_border' cellpadding='$cell_padding' cellspacing='0'>"."\n"; echo "<tr>"."\n"; while ($file = readdir($myDirectory)) { if (($file != ".") && ($file != "..") && ($file != "index.php") && !(is_dir("imgs/$file")) ) { $files[] = $file; } } sort($files); for ($i = 0; $i < count($files); $i++) { $file = $files[$i]; if (is_int(($i + 1) / $cols)) { list($width, $height) = getimagesize("imgs/$file"); echo "<td align='center' >";?><a href="#" onClick="popupgalimage('imgs/<?php echo $file;?>', <?php echo "$width";?>, <?php echo "$height";?>); return false" class="popimage"><? echo "<img src='imgs/thumbs/$file' class='popimage'></a></td>"."\n"; echo "</tr><tr>"."\n"; } else { list($width, $height, $type, $attr) = getimagesize("imgs/$file"); echo "<td align='center'>";?><a href="#" onClick="popupgalimage('imgs/<?php echo $file;?>', <?php echo "$width";?>, <?php echo "$height";?>); return false" class="popimage"><? echo "<img src='imgs/thumbs/$file' class='popimage'></a></td>"."\n"; } } echo "</tr>"."\n"; echo "</table>"."\n"; echo "<!--END PopUp Gallery -->"."\n"; closedir($myDirectory); ?>
__________________
Seen on an employer evaluation: "The wheel is turning but the hamsters dead" ____________________________ Is arch13 really a porn diety ? find out after the film at 11. -Nanofever Last edited by arch13; 11-24-2004 at 09:34 PM.. Reason: changed question |
11-25-2004, 07:16 AM | #2 (permalink) |
Crazy
Location: here and there
|
the main thing i see is that all your paths are relative. you may want to include absolute paths for your directories. in the case of the php script when it is looking for file paths, /images only works if your images are in the root of the server, not in the web root. so you may need something like /var/www/html/images (or whatever the full path to your images directory is). for the javascript, you need to use web root, so the images file will be in /images. Otherwise the script just looks in its current directory for directories matching 'images'.
i only just glanced at this, but its what jumped right out at me.
__________________
# chmod 111 /bin/Laden |
11-28-2004, 09:55 PM | #3 (permalink) | |
Loves my girl in thongs
Location: North of Mexico, South of Canada
|
Quote:
Do you see any way that the script could be modified to call images into the page instead of java popup windows? I want to use the table of thumbs called into the gallery page via ?id=gallery&id2=popgal (with popgal being this script) to call the images into an adjacent column in the gallery table when the thumbs are clicked. I feel like this script is halfway there. Gallery.php is a table with two columns. The right column includes popgal.php to create the thumbnail table. The left column is empty. Right now the thumbs pop up a window for the full size image. Could php be used to make the full size image appear in the left column instead of a popup by modifying this script?
__________________
Seen on an employer evaluation: "The wheel is turning but the hamsters dead" ____________________________ Is arch13 really a porn diety ? find out after the film at 11. -Nanofever |
|
11-29-2004, 09:36 AM | #4 (permalink) |
Crazy
Location: here and there
|
sure, you could just modify the anchor tags from calling a jscript popup to calling $PHP_SELF with a modified query string. so add to your query string some key that relates to your full size image, then use the $_GET array to give you the value. Then test to see if a value has been set, if so, load the image in the left col. It would probably make sense to have some sort of default image if nothing has been selected.
Note though, in order to do this server side you would need to reload the page every time you wanted to change it. It could be slicker to load an array of all the full size images (in background, after page has loaded) then use javascript to swap them out in the left column without reloading the page.
__________________
# chmod 111 /bin/Laden |
12-02-2004, 12:56 PM | #5 (permalink) | |
Loves my girl in thongs
Location: North of Mexico, South of Canada
|
Quote:
How would I go about modifying the script via PHP to call $PHP_SELF into an adjacent column in a table? When I try to have the php code block bridge the table it breaks the table layout and align's the page to the right instead of center. I'm guessing I could use php else to load the first image in the table if no image has been called. I'm not really sure how to code the <img> tage in the right column to be dynamic and aquire the variable from the left hand table. The site runs on ?id=xxx dynamic calls. How would I add the variable to the url without breaking that system? I'm at a total lose as to how to code the right hand column to accept a dynamic variable and display that image. I'm going to look into $PHP_SELF to try and discern how that call can be used to call the images from the gallery table code block. Thank you for your patience so far theFez (java seems like such an awsome idea, as it requires no url variable and less change to the gallery table code, but that's way beyond anything I've ever known )
__________________
Seen on an employer evaluation: "The wheel is turning but the hamsters dead" ____________________________ Is arch13 really a porn diety ? find out after the film at 11. -Nanofever |
|
12-02-2004, 04:53 PM | #6 (permalink) |
Crazy
Location: here and there
|
just build your table and set it so you have a single image in the left side and your thumbnails in the right. so you have your tnails in the right side.
in the left side you can do something like this <img src='<?php if($_GET['id']){echo "/path/to/images/".$_GET['id'].".jpg";} else{ echo '/path/to/images/default.jpg';} ?>'> by the way, javascript has nothing to do with java except the name. javascript, ecmascript, jscript are all pretty similar and generally used for client side scripting.
__________________
# chmod 111 /bin/Laden |
01-07-2005, 01:38 AM | #7 (permalink) | |
Loves my girl in thongs
Location: North of Mexico, South of Canada
|
Quote:
So if the url was http://www.arch13.com/index.php?id=g...al&id3=picture, then picture.jpg would be displayed. What I'm having trouble with is how to change the thumbnail script to give the clicked on image an id3=picturename url. Also, Is is possible to make that "id" auto-incramenting so that "idx" was id4 or id5 if needed? Sorry if i sound like an idiot, but I don't understand how to make the variable be passed from the thumbnail script in the left side table to the display script in the right table The actual address is http://www.arch13.com/index.php?id=g...d2=test/popgal I take it that Java is way harder than php isn't it Thank you for your patience with me theFez
__________________
Seen on an employer evaluation: "The wheel is turning but the hamsters dead" ____________________________ Is arch13 really a porn diety ? find out after the film at 11. -Nanofever |
|
Tags |
gallery, php, script |
|
|