billed galleri; skal have vist billederne i omvendt rækkefølge
Hej Eksperter...Jeg har et billedgalleri med følgende script, som jeg har fundet her på eksperten:
//---- Settings Start ---\\
// Image Information
// Table Layout
$rows=300;
$cols=5;
//Image path
$libery="./upload/billeder/small/"; // remember to finish with /
// Settings Stop----------//
$viewNum=$cols*$rows;
if(!$firstImage){ // so it works if you just enter default.php and show the pictures without having to define the variables in the path
$firstImage=1;
}
function getImages($firstImage){
global $viewNum, $cols,$libery; //insures that the function gets the variables
$handle=opendir($libery); //opens directory
while($file=readdir($handle)){ // reads the directory
$extension=substr($file,-5); // gets the extension of the files
if(($extension == ".jpeg") ){ // checks for image files
$all[]=$file; //adds positive results to the archive
}
}
$colscounter=0; // variable that controls the tablebuilding system below
$firstImage--; // variable that insures that the first image is being showed. Case: It looks best if the links begins with 1 but the array begins with 0
if(isset($all)){ // if array is set build the table
print "<table width='100%' cellpadding='0' cellspacing='0'>";
for($i=$firstImage; $i < $firstImage+$viewNum; $i++){
if($all[$i]){ // checks for rinning dry of imges
if($i==$firstImage + $colscounter*$cols){ // if true: new row
$colscounter++;
print "<tr>";
} // add the image
$filenm = "./upload/billeder/large/". $all[$i];
list($width, $height, $type, $attr) = getimagesize("$filenm");
print "<td height='120' align='center'><a href='".$filenm."'><img src='".$libery."".$all[$i]."' border='0' </td>";
}
else{ // stop if no more images
break;
}
}
print "</table><br>";
$num=count($all); //number of pictures in actual libery
makeList($num); // function to make the links list
}
else{
print "Der var desværre ingen billeder i dette bibliotek<br><a href='java script:history.back()'>Go Back</a>";
}
}
function makeList($num){
global $libery, $firstImage, $viewNum; //insures that the function gets the variables
$numLinks = $num / $viewNum; // finds the number og links to be maked
for($a=0; $a < $numLinks;$a++){
$start=$a*$viewNum+1; //adds 1 because then the links begins with ex. number 1-10 and 11-20 instead of 0-10 and 10-20
$finish=$a*$viewNum+$viewNum;
if($finish>$num){ // insures that the final link returns the right amount of pictures instead of to much
$finish=$num;
}
if(($firstImage >= $start) && ($firstImage < $a * $viewNum+$viewNum)){ // if true: makes no link because you already are on the page
print "Ialt: $finish</a> ";
}
else{ // makes the link
print "<a href='default.php?libery=$libery&firstImage=$start'>$start - $finish</a> ";
}
}
}
?>
<?
getImages($firstImage);
?>
Hvor man først ser billeder fra fra ./upload/billeder/small/
Hvorefter man kan klikke på billederne og man får så billederne fra ./upload/billeder/large/... Det fungere fint nok.
Problemet er bare den rækkefølge billederne er stillet op i, i tabellen, som man ser. Billederne er alle nogle der er blevet uploadet, men når man uploader et nyt billede kommer det frem nederst på siden. Jeg vil gerne have det øverst. Selve upload delen virker fint. Billederne får deres navne således:
$tid = time();
$nytNavn = $tid . "_" . rand(1, 1000000) . "." . "jpeg";
Og bliver derefter gemt i både ./upload/billeder/small/ og ./upload/billeder/large/ med samme navn.
dvs navnene på billederne starter alle med tiden (som lige nu er omkring 115080xxxx_osv.jpeg
Kan man måske indsætte en linje i mit script så jeg får det sidst uploadede billede først i tabellen?
Eller er det nemmere at lave min måde, at omdøbe billederne på om (altså når de bliver uploadet)?
Håber mit spørgsmål er til at forstå, ellers spørg efter hvad der virker forvirrende...
Det er mit første spørgsmål her på eksperten (er temmelig nybegynder) så ved ikke så meget om point, men nu prøver jeg at give 30 point til den der kan hjælpe.
