Mi problema es que muestra las imagenes en dicha tabla pero sin ningun orden aparente, lo he mirado y no es ni por tamaño ni fecha ni nombre.
Son dos archivos index.php y gallerybuilder.php. (pongo solo lo importante)
Index.php
Código:
<?php
// el archivo empieza por
$default = "";
include("galleryBuilder.php");
?>
// y el codigo de la tabla donde aparecen las imagenes
<table align="center">
<?php createGallery("Upload/pics/" . $a, "Upload/pics/" . $a . "thumbs/", 120, 80, 5, FALSE); ?>
</table>
Y el Gallerybuilder.php// el archivo empieza por
$default = "";
include("galleryBuilder.php");
?>
// y el codigo de la tabla donde aparecen las imagenes
<table align="center">
<?php createGallery("Upload/pics/" . $a, "Upload/pics/" . $a . "thumbs/", 120, 80, 5, FALSE); ?>
</table>
Código:
<?php
if($_GET["a"] != "")
{
$a = $_GET["a"] . "/";
}
else
{
$a = $default . "/";
}
// This is a very basic way of determining whether to insert
// an extra trailing slash or not
function createGallery($gF, $tF, $tW, $tH, $nR, $nW)
{
// $gF is the path to the folder that contains the images
// example: "gallery/"
// $tF is the path to the folder that contains the thumbnails of the images
// example: "gallery/thumbs/"
// $tW is the desired width of the thumbnails
// example: 120
// $tH is the maximum desired height of the thumbnails
// example: 80
// $nR is the desired number of images in each row of the table
// example: 8
// $nW is a boolean value. If set to TRUE, opens full sizes in new window
// example: FALSE
echo " <tr>\n";
buildThumbs($gF, $tF, $tW, $tH);
// call to another function to generate the thumbs
$open = opendir($gF);
// open the directory to the gallery folder
$i = 1;
$j = 1;
// we use $i and $j to loop alternating table cells and the number of cells
// per row
while(FALSE !== ($fileName = readdir($open)))
{
$info = pathinfo($gF . $fileName);
// get info for the filename
if(strtolower($info["extension"]) == "jpe" || strtolower($info["extension"]) == "jpeg" || strtolower($info["extension"]) == "jpg" || strtolower($info["extension"]) == "gif" || strtolower($info["extension"]) == "png")
{
// this case-insensitively checks for all possible JPEG, GIF, and PNG extensions and only
// returns files that meet these conditions
echo " <td width=\"" . $tW . "\" height=\"" . $tH . "\" class=\"galleryCell";
if($i == 1)
{
// if $i is 1
echo "1";
$i = 2;
}
else
{
echo "2";
$i = 1;
}
echo "\"><a";
if($nW == TRUE)
{
echo " target=\"_blank\"";
}
echo " href=\"" . $gF . $fileName . "\" title=\"" . $fileName . "\"><img class=\"galleryImage\" src=\"" . $tF . $fileName . "\" border=\"0\"></a></td>\n";
if($j == $nR)
{
// if $j is the number or cells per row...
echo " </tr>\n <tr>\n";
$j = 1;
}
else
{
$j++;
}
}
}
closedir($open);
// close the directory
echo " </tr>\n";
}
function buildThumbs($gF, $tF, $tW, $tH)
{
// $gF is the path to the folder that contains the images
// example: "gallery/"
// $tF is the path to the folder that contains the thumbnails of the images
// example: "gallery/thumbs/"
// $tW is the desired width of the thumbnails
// example: 120
// $tH is the maximum desired height of the thumbnails
// example: 80
$open = opendir($gF);
// open the directory to the gallery folder
while(FALSE !== ($fileName = readdir($open)))
{
// loop throught the entire directory
if(!file_exists($tF . $fileName))
{
// there is NOT already a thumbnail with the same name, so let's create one!
$info = pathinfo($gF . $fileName);
// get file info for each file
if(strtolower($info["extension"]) == "jpe" || strtolower($info["extension"]) == "jpeg" || strtolower($info["extension"]) == "jpg" || strtolower($info["extension"]) == "gif" || strtolower($info["extension"]) == "png")
{
// this really long line asks if the lowercase version of the extension ends in each JPEG format (jpe, jpeg, jpg), a GIF format (gif), or a PNG format (png), all of our valid image types
if(strtolower($info["extension"]) == "jpe" || strtolower($info["extension"]) == "jpeg" || strtolower($info["extension"]) == "jpg")
{
// this narrows it down--the image must be a JPEG
$thumbnail = imagecreatefromjpeg($gF . $fileName);
}
if(strtolower($info["extension"]) == "gif")
{
// it must be a GIF
$thumbnail = imagecreatefromgif($gF . $fileName);
}
if(strtolower($info["extension"]) == "png")
{
// create a PNG
$thumbnail = imagecreatefrompng($gF . $fileName);
}
$oWidth = imagesx($thumbnail);
// original width
$oHeight = imagesy($thumbnail);
// original height
$tWidth = $tW;
// the new thumbnail will have the specified width
$tHeight = floor($oHeight * ($tWidth / $oWidth));
// calculate the thumbnail height by multiplying the original height by the width ratio
if($tHeight > $tH)
{
// if the image is still too tall...
$tHeight = $tH;
// set the height to the max height
$tWidth = floor($oWidth * ($tHeight / $oHeight));
// calculate the thumnail width by multiplying the original width by the height ratio
}
$tempImage = imagecreatetruecolor($tWidth, $tHeight);
// create a temporary image (it's blank right now)
imagecopyresized($tempImage, $thumbnail, 0, 0, 0, 0, $tWidth, $tHeight, $oWidth, $oHeight);
// copy and resize the full-size image into a thumbnail - see PHP.net's imagecopyresized() function for details
if(strtolower($info["extension"]) == "jpe" || strtolower($info["extension"]) == "jpeg" || strtolower($info["extension"]) == "jpg")
{
// save a JPG thumbnail!
$thumbnail = imagejpeg($tempImage, $tF . $fileName);
}
if(strtolower($info["extension"]) == "gif")
{
// save a GIF thumbnail!
$thumbnail = imagegif($tempImage, $tF . $fileName);
}
if(strtolower($info["extension"]) == "png")
{
// save a PNG thumbnail!
$thumbnail = imagepng($tempImage, $tF . $fileName);
}
}
}
}
closedir($open);
// close the directory
}
function listAlbums($gF, $aS, $dF)
{
// $gF is the path to the folder that contains the subfolders
// example: "gallery/"
// $aS is the separator between each album title
// example: " • "
// $dF is the default folder that we wish to exclude from the list
// example: "default_gallery"
$open = opendir($gF);
// open the directory to the gallery folder
$i = 1;
$toReturn = "";
// we use $i to loop through the count and $toReturn to come
// up with a full album list to echo later
while(FALSE !== ($fileName = readdir($open)))
{
if(is_dir($gF . $fileName) && $fileName != "." && $fileName != ".." && $fileName != $dF)
{
// if the file is actually a directory... ("." and ".." are not directories) and NOT the default
$displayName = str_replace("_", " ", $fileName);
// change all underscores to spaces in the display name
$displayName = ucwords($displayName);
// capitalize the first letter of each word in the display name
$toReturn = $toReturn . "<a href=\"?a=" . $fileName . "\">" . $displayName . "</a>" . $aS;
// add the album name, and add a separator
}
}
$aS_length = strlen($aS);
// here we figure out how many characters $aS is
$aS_length = $aS_length * -1;
// get the negative number
echo substr_replace($toReturn, "", $aS_length);
// this is a messy but understandable way to remove the last
// album separator from the list
}
?>
Lo que quiero es que "opendir" ordene las imagenes por la fecha en la que han subido las imagenes. Como lo hago?if($_GET["a"] != "")
{
$a = $_GET["a"] . "/";
}
else
{
$a = $default . "/";
}
// This is a very basic way of determining whether to insert
// an extra trailing slash or not
function createGallery($gF, $tF, $tW, $tH, $nR, $nW)
{
// $gF is the path to the folder that contains the images
// example: "gallery/"
// $tF is the path to the folder that contains the thumbnails of the images
// example: "gallery/thumbs/"
// $tW is the desired width of the thumbnails
// example: 120
// $tH is the maximum desired height of the thumbnails
// example: 80
// $nR is the desired number of images in each row of the table
// example: 8
// $nW is a boolean value. If set to TRUE, opens full sizes in new window
// example: FALSE
echo " <tr>\n";
buildThumbs($gF, $tF, $tW, $tH);
// call to another function to generate the thumbs
$open = opendir($gF);
// open the directory to the gallery folder
$i = 1;
$j = 1;
// we use $i and $j to loop alternating table cells and the number of cells
// per row
while(FALSE !== ($fileName = readdir($open)))
{
$info = pathinfo($gF . $fileName);
// get info for the filename
if(strtolower($info["extension"]) == "jpe" || strtolower($info["extension"]) == "jpeg" || strtolower($info["extension"]) == "jpg" || strtolower($info["extension"]) == "gif" || strtolower($info["extension"]) == "png")
{
// this case-insensitively checks for all possible JPEG, GIF, and PNG extensions and only
// returns files that meet these conditions
echo " <td width=\"" . $tW . "\" height=\"" . $tH . "\" class=\"galleryCell";
if($i == 1)
{
// if $i is 1
echo "1";
$i = 2;
}
else
{
echo "2";
$i = 1;
}
echo "\"><a";
if($nW == TRUE)
{
echo " target=\"_blank\"";
}
echo " href=\"" . $gF . $fileName . "\" title=\"" . $fileName . "\"><img class=\"galleryImage\" src=\"" . $tF . $fileName . "\" border=\"0\"></a></td>\n";
if($j == $nR)
{
// if $j is the number or cells per row...
echo " </tr>\n <tr>\n";
$j = 1;
}
else
{
$j++;
}
}
}
closedir($open);
// close the directory
echo " </tr>\n";
}
function buildThumbs($gF, $tF, $tW, $tH)
{
// $gF is the path to the folder that contains the images
// example: "gallery/"
// $tF is the path to the folder that contains the thumbnails of the images
// example: "gallery/thumbs/"
// $tW is the desired width of the thumbnails
// example: 120
// $tH is the maximum desired height of the thumbnails
// example: 80
$open = opendir($gF);
// open the directory to the gallery folder
while(FALSE !== ($fileName = readdir($open)))
{
// loop throught the entire directory
if(!file_exists($tF . $fileName))
{
// there is NOT already a thumbnail with the same name, so let's create one!
$info = pathinfo($gF . $fileName);
// get file info for each file
if(strtolower($info["extension"]) == "jpe" || strtolower($info["extension"]) == "jpeg" || strtolower($info["extension"]) == "jpg" || strtolower($info["extension"]) == "gif" || strtolower($info["extension"]) == "png")
{
// this really long line asks if the lowercase version of the extension ends in each JPEG format (jpe, jpeg, jpg), a GIF format (gif), or a PNG format (png), all of our valid image types
if(strtolower($info["extension"]) == "jpe" || strtolower($info["extension"]) == "jpeg" || strtolower($info["extension"]) == "jpg")
{
// this narrows it down--the image must be a JPEG
$thumbnail = imagecreatefromjpeg($gF . $fileName);
}
if(strtolower($info["extension"]) == "gif")
{
// it must be a GIF
$thumbnail = imagecreatefromgif($gF . $fileName);
}
if(strtolower($info["extension"]) == "png")
{
// create a PNG
$thumbnail = imagecreatefrompng($gF . $fileName);
}
$oWidth = imagesx($thumbnail);
// original width
$oHeight = imagesy($thumbnail);
// original height
$tWidth = $tW;
// the new thumbnail will have the specified width
$tHeight = floor($oHeight * ($tWidth / $oWidth));
// calculate the thumbnail height by multiplying the original height by the width ratio
if($tHeight > $tH)
{
// if the image is still too tall...
$tHeight = $tH;
// set the height to the max height
$tWidth = floor($oWidth * ($tHeight / $oHeight));
// calculate the thumnail width by multiplying the original width by the height ratio
}
$tempImage = imagecreatetruecolor($tWidth, $tHeight);
// create a temporary image (it's blank right now)
imagecopyresized($tempImage, $thumbnail, 0, 0, 0, 0, $tWidth, $tHeight, $oWidth, $oHeight);
// copy and resize the full-size image into a thumbnail - see PHP.net's imagecopyresized() function for details
if(strtolower($info["extension"]) == "jpe" || strtolower($info["extension"]) == "jpeg" || strtolower($info["extension"]) == "jpg")
{
// save a JPG thumbnail!
$thumbnail = imagejpeg($tempImage, $tF . $fileName);
}
if(strtolower($info["extension"]) == "gif")
{
// save a GIF thumbnail!
$thumbnail = imagegif($tempImage, $tF . $fileName);
}
if(strtolower($info["extension"]) == "png")
{
// save a PNG thumbnail!
$thumbnail = imagepng($tempImage, $tF . $fileName);
}
}
}
}
closedir($open);
// close the directory
}
function listAlbums($gF, $aS, $dF)
{
// $gF is the path to the folder that contains the subfolders
// example: "gallery/"
// $aS is the separator between each album title
// example: " • "
// $dF is the default folder that we wish to exclude from the list
// example: "default_gallery"
$open = opendir($gF);
// open the directory to the gallery folder
$i = 1;
$toReturn = "";
// we use $i to loop through the count and $toReturn to come
// up with a full album list to echo later
while(FALSE !== ($fileName = readdir($open)))
{
if(is_dir($gF . $fileName) && $fileName != "." && $fileName != ".." && $fileName != $dF)
{
// if the file is actually a directory... ("." and ".." are not directories) and NOT the default
$displayName = str_replace("_", " ", $fileName);
// change all underscores to spaces in the display name
$displayName = ucwords($displayName);
// capitalize the first letter of each word in the display name
$toReturn = $toReturn . "<a href=\"?a=" . $fileName . "\">" . $displayName . "</a>" . $aS;
// add the album name, and add a separator
}
}
$aS_length = strlen($aS);
// here we figure out how many characters $aS is
$aS_length = $aS_length * -1;
// get the negative number
echo substr_replace($toReturn, "", $aS_length);
// this is a messy but understandable way to remove the last
// album separator from the list
}
?>
Gracias de antemano.