Tilted Forum Project Discussion Community

Tilted Forum Project Discussion Community (https://thetfp.com/tfp/)
-   Tilted Technology (https://thetfp.com/tfp/tilted-technology/)
-   -   [php] gallery script? (https://thetfp.com/tfp/tilted-technology/76973-php-gallery-script.html)

arch13 11-24-2004 02:52 PM

[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);
?>


theFez 11-25-2004 07:16 AM

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.

arch13 11-28-2004 09:55 PM

Quote:

Originally Posted by theFez
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.

theFez, thank you for your reply, changing the paths worked
:thumbsup:

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?

theFez 11-29-2004 09:36 AM

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.

arch13 12-02-2004 12:56 PM

Quote:

Originally Posted by theFez
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.

Java is something I've never even attempted before.
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 :p


(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 :confused: )

theFez 12-02-2004 04:53 PM

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.

arch13 01-07-2005 01:38 AM

Quote:

Originally Posted by theFez
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.

Ok, I understand how to pull say ID3 from the url and have the right table display the correct picture.
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 :confused:

Thank you for your patience with me theFez :p


All times are GMT -8. The time now is 07:35 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62