Avatar billede ezzer Nybegynder
10. september 2005 - 13:02 Der er 6 kommentarer

Arranger filer i alfabetisk orden.

Okay.. jeg har et script som der tager alle billeder i en mappe og laver thumbnails af dem, + tilføjer dem til en db.. mit problem er så at billeder slet ikke står i orden bagefter vil gerne have sådan at det billede som fx. ville stå først i alfabetisk orden også blivertilføjet med den laveste id!
Avatar billede dmdisco Nybegynder
10. september 2005 - 13:05 #1
smid dem i et array først og brug så sort()
Avatar billede ezzer Nybegynder
10. september 2005 - 13:11 #2
// åben mappe / filer :)
$handle = opendir(''.$fest_mappe.'');
while (false !== ($file = readdir($handle))) {
    if ($file != '.' && $file != '..') {
        $files[] = $file;
    }
}
closedir($handle);
$files = sort($files);

det er den del af min kode der laver array osv.. men det ændrer ikke rigtigt noget med sort.. :\
Avatar billede jaw Nybegynder
10. september 2005 - 13:32 #3
prøv:
natsort($files);
Avatar billede ezzer Nybegynder
10. september 2005 - 13:59 #4
det laver nu heller ikk den store forskel.. :S
Avatar billede jaw Nybegynder
10. september 2005 - 14:03 #5
Kan du så ikke smide lidt mere kode på bordet? For det burde nu bestemt virke...
Avatar billede ezzer Nybegynder
10. september 2005 - 14:13 #6
okai.. så får i lige det hele...

// åben mappe / filer :)
$handle = opendir(''.$fest_mappe.'');
while (false !== ($file = readdir($handle))) {
    if ($file != '.' && $file != '..') {
        $files[] = $file;
    }
}
closedir($handle);
natsort($files);
$antal_filer = sizeof($files);
$vis_til = 0;

// indstillinger
$maxhojde = 80;
$maxbrede = 80;
     
while($vis_til < $antal_filer) {
if($antal_filer > $vis_til) {
$i = $files[$vis_til];
       
    // lav thumbs
        //filnavnet på det billede der gemmes, i den nye størrelse
        $filnavn = $fest_mappe . $i;
        $nyt_filnavn = $fest_mappe . "thumb_" . $i;

        if (strpos($i, "thumb_") !== false) {
        //echo "har et thumb!!!<br>";
        }
        elseif (strpos($i, "thumb_") == false) {
        //echo $filnavn ." - ". $nyt_filnavn . "<br>";   
              //Find højde og bredde på billede
                $size = getimagesize($filnavn);
                $width = $size[0];
                $height = $size[1];
           
                if($height > $maxhojde){
                  $newheight = $height / ( $height / $maxhojde);
                  $newwidth = $width / ( $height / $maxhojde);
                }
                if($newwidth > $maxbrede){
                  $newheight = $newheight / ( $newwidth / $maxhojde);
                  $newwidth = $newwidth / ( $newwidth / $maxhojde);
                }
           
                //lav et nyt billede
                $image = imagecreatetruecolor($newwidth, $newheight);
           
                $white = ImageColorAllocate($image,255,0,255);
                ImageFilledRectangle($image,0,0,$newwidth,$newheight,$white);
           
                //åben det originale billede
                $src = imagecreatefromjpeg($filnavn);
           
                //gem billede
                imagecopyresampled($image, $src, 0,0,0,0, $newwidth, $newheight, $width, $height);
                ImageJPEG($image, $nyt_filnavn, 100);
                ImageDestroy($image);
                //CHMOD: chmod($nyt_filnavn, 0777);
               
                // FLEX filerne i db!!!
                $ch_res = mysql_query("select * from fest_billeder where fest_id ='$fest_id' and navn = '$i'");
                $ch_row = mysql_fetch_array($ch_res);
               
                if($i !== $ch_row[navn]) {
                $res = mysql_query("INSERT INTO fest_billeder (fest_id,navn)". "VALUES ('$fest_id', '$i')");
                }
        }
   
    $vis_til++;
}
}
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester