Avatar billede mgn_online Nybegynder
20. december 2003 - 13:26 Der er 14 kommentarer og
1 løsning

Billede galleri

Hej!

Jeg skal bruge et php-script som viser et billede galleri automatisk når de nye billeder bliver kopieret ind i mappen. Det vil sige at scriptet skal nødvendigvis ikke bestå af en upload funktion og det SKAL VÆRE UDEN brug af mysgl database.

Kan man og har I et script som laver et galleri ved at sætte nye billeder ind i mappen som den selv finder og viser auto ??????
Avatar billede heavybreezer Nybegynder
20. december 2003 - 13:27 #1
<?
//----  Settings Start ---\\
// Image Information
$imageWidth=100;
$imageHeight=100;

// Table Layout
$rows=300;
$cols=3;

//Image path
$libery="./grafik/"; // 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, $imageWidth, $imageHeight,$cols,$libery;  //insures that the function gets the variables
    $handle=opendir($libery); //opens directory
    while($file=readdir($handle)){ // reads the directory
        $extension=substr($file,-4); // gets the extension of the files
        if(($extension == ".jpg")  ){ // 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 = $libery. $all[$i];
                list($width, $height, $type, $attr) = getimagesize("$filenm");

                print "<td height='160' align='left'><a href='".$filenm."'><img src='".$libery."".$all[$i]."' border='1' width='$imageWidth' height='$imageHeight' alt='Klik for at forstørre'><br>".$all[$i]."</a><br>Filesize: ".filesize($filenm). " bytes<br>Imgsize: ".$width." x ".$height."</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>&nbsp;&nbsp;";
        }
        else{ // makes the link
            print "<a href='default.php?libery=$libery&firstImage=$start'>$start - $finish</a>&nbsp;&nbsp;";
        }
    }
}
?>


<?
getImages($firstImage);
?>
Avatar billede heavybreezer Nybegynder
20. december 2003 - 13:27 #2
Så skal du bare lige ændre $libery="./grafik/";

grafik til din egen mappe, hvor billederne ligger
Avatar billede homsabu Nybegynder
20. december 2003 - 13:29 #3
Avatar billede mgn_online Nybegynder
20. december 2003 - 13:30 #4
Ok fin nok men det virker forvirrende... Okey jeg skal sætte scriptet ind i et php doc og så bare lave mappen ?
Avatar billede heavybreezer Nybegynder
20. december 2003 - 13:30 #5
Næste gang.. Prøv at bruge søgefunktionen her på Exp!-)
Der er nok postet de første 100 tråde omkring dette ;)
Avatar billede heavybreezer Nybegynder
20. december 2003 - 13:31 #6
Du skal bare kopiere den tekst jeg  har givet dig.

Gemme den som fx. galleri.php og gemme den i en mappe.
I den mappe laver du en ny mappe, som hedder grafik. Der smider du bare alle dine billed ind.
Avatar billede mgn_online Nybegynder
20. december 2003 - 13:32 #7
ok - prøver
Avatar billede heavybreezer Nybegynder
20. december 2003 - 13:37 #8
En idé ville også være at vente med at acceptere mit svar, til du rent faktisk har testet om det virker ;)
Avatar billede mgn_online Nybegynder
20. december 2003 - 13:37 #9
Min lille ven da !!!!!!!!!!!!!!!!! det virker sgu.... så må du jo nok hellere sige "svar" hvis du nu sku være rigtig smart
Avatar billede heavybreezer Nybegynder
20. december 2003 - 14:37 #10
Svar? Jeg har da svaret? :-)
Avatar billede mgn_online Nybegynder
20. december 2003 - 14:49 #11
Ja kan jeg godt se men af en mærkelig grund kan jeg ikke acceptere dig...acepter feltet kommer overhovet ikke frem ???!!!!
Avatar billede mgn_online Nybegynder
20. december 2003 - 14:50 #12
Og jeg kan ikke selv svare!
Avatar billede heavybreezer Nybegynder
20. december 2003 - 17:58 #13
Det er fordi du HAR accepteret.. :D
Se ved mit første indlæg:

Accepteret svar: heavybreezer
Point : 200
20/12-2003 13:27:13
Avatar billede homsabu Nybegynder
21. december 2003 - 12:55 #14
i tillæg til det her med billeder fra et bibliotek... er der nogen der ved hvordan man få den til at lave såkaldte thumbnails af alle billeder i et bibliotek?!? Altså ikke bare vise billederne med en height="" & width="" som er mindre end det originale billede... Men hvor den 'rigtigt' laver nye thumbnails som fylder de der ca 5-10kb...
Avatar billede h_thunbo Nybegynder
20. juni 2006 - 18:07 #15
Hej heavybreezer
Jeg har også brugt dit svar. Det er ret smart. Jeg har bare lige et lille spørgsmål. Det er nemlig sån at jeg har et billedupload inden galleriet, og jeg vil gerne at når man så kommer til galleriet så er det det seneste uploadede billede der bliver vist, men som det ser ud nu er det det første der blev uploadet. Det betyder jo så man skal scolle ned for at se hvad man lige har uploadet. Er du med?
Hvordan kan man vende det hele om? Alle billedernes navne er givet således:

$tid = time();

$nytNavn = $tid . "_" . rand(1, 1000000) . "." . "jpeg";

Så der ikke kommer to ens navne. kan man så sortere efter navn? Håber du vil hjælpe... Jeg er ny herinde så har ikke lige lært at skrive et spørgsmål med point?
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