Jump to content

Archived

This topic is now archived and is closed to further replies.

robszol

Creating Gallery based on number of files in folder

Recommended Posts

OK, So let's say I have a folder named Gallery with files (1.jpg, 2.jpg, 3.jpg, 4.jpg etc...)

and I want to create a webpage where:

1). Creates a table with X row and 5 columns
2). The table's size is dependant on the files present in the folder "Gallery"
3). I want the pictures to be thumbnail size in the table
4). Each thumbnail links to original picture (1.jpg or 2.jpg etc.)
5). if step 4 is too tough then I could have a seperate folder called "
Thumbnails" with files (thumb1.jpg, thumb2.jpg etc...) linking to (1.jpg, 2.jpg etc) respectively.


so If I have 32 pictures in the Gallery folder then in the webpage, I'll have

32 thumbnail sized pictures in a table with 5 columns and 7 rows and the 7th row has 2 pics and the rest of row is blank.

How the bleep can I do this? I'm also new to PHP (but I know C++ to give u an idea of how much knowledge I have) and maybe PHP is too tough and perhaps there is a better way, but yeah [b]I need your help!! !![/b]

THANKS!!!!!!

Share this post


Link to post
Share on other sites
[!--quoteo(post=368648:date=Apr 25 2006, 05:14 PM:name=Robby)--][div class=\'quotetop\']QUOTE(Robby @ Apr 25 2006, 05:14 PM) [snapback]368648[/snapback][/div][div class=\'quotemain\'][!--quotec--]
OK, So let's say I have a folder named Gallery with files (1.jpg, 2.jpg, 3.jpg, 4.jpg etc...)

and I want to create a webpage where:

1). Creates a table with X row and 5 columns
2). The table's size is dependant on the files present in the folder "Gallery"
3). I want the pictures to be thumbnail size in the table
4). Each thumbnail links to original picture (1.jpg or 2.jpg etc.)
5). if step 4 is too tough then I could have a seperate folder called "
Thumbnails" with files (thumb1.jpg, thumb2.jpg etc...) linking to (1.jpg, 2.jpg etc) respectively.
so If I have 32 pictures in the Gallery folder then in the webpage, I'll have

32 thumbnail sized pictures in a table with 5 columns and 7 rows and the 7th row has 2 pics and the rest of row is blank.

How the bleep can I do this? I'm also new to PHP (but I know C++ to give u an idea of how much knowledge I have) and maybe PHP is too tough and perhaps there is a better way, but yeah [b]I need your help!! !![/b]

THANKS!!!!!!
[/quote]



1- First read the folder containing your pictures to retrieve that full-size files name.
Verify sure the filename does not contain the string "thumb" before storing that file name in an array.
use the stripos ( $filename, 'thumb') function to make sure the returned value is FALSE


function GetPictures($dir){
$picturearray=array();

if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {

if(! stripos ( $file, 'thumb') ){$picturearray[]=$file; }

}//end while loop

closedir($dh);
}
}


return $picturearray;
}//end function


No need to have two folders for the thumbnails and the full-size pictures. Just create a filter that will allow your script to know the difference.

2- Once you have that array of full picture file name, pass it to a function that can loop through to create the table string.


function CreateTableString($filearray, $folderpath){
$n=count($filearray);

$Str='<table width="100%" cellpadding="5" cellspacing="0" border="0"><tr>';

foreach($filearray as $k=>$file){
if($k>0 && $k%4==0){$Str.='</tr><tr>'; }

$Str.='<td align="left" valign="top"><a href="'.$folderpath.'/'.$file.'">
<img src="'.$folderpath.'/thumb'.$file.'" width="80" height="80" border="0">
</a></td>';
}

$r=($n%5);

if($r>0){$Str.='<td colspan="'.$r.'"></td>';}

$Str='</tr></table>';

return $Str;
}



$Folderpath='path to the folder containing your pictures'; //basolute or relative to the current PHP script
$Picturearray=GetPictures($Folderpath);
$TableStr=CreateTableString($Picturearray, $Folderpath); // this is your thumbnails table string


Does not matter how many pictures you have. The only restriction is the correlation between the tumbnail and the full-size picture names.

I hope this will helps.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.