+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Script erweitern ?

  1. #1
    TP-Junior dennz macht alles soweit korrekt
    Registriert seit
    Nov 2002
    Beiträge
    9

    Script erweitern ?

    Hi Leute !
    ich hab mri gerade nen script zum zufälligen anzeigen von bildern runtergeladne. jedoch zeigt es nur dateien an die in einem verzeichnis sind. ich habe aber EIN hauptverzeichnis mit vielen unterverzeichnissen (z.b. /fotos/hochzeit - fotos/geburtstag etc) wie kann ich das script dort unten erweitern, sodass es alle bilder IN DEN ordnern benutzt?

    <?php
    #This script has been developped by Nenad Motika [nmotika@bezveze.com]
    #Please feel free to use it and to contact me for any reason

    //read folder
    $folder=opendir(.);
    while ($file = readdir($folder))
    $names[count($names)] = $file;
    closedir($folder);
    //sort file names in array
    sort($names);
    //remove any non-images from array
    $tempvar=0;
    for ($i=0;$names[$i];$i++){
    $ext=strtolower(substr($names[$i],-4));
    if ($ext==.jpg||$ext==.gif||$ext==jpeg||$ext==.png){$names1[$tempvar]=$names[$i];$tempvar++;}
    }
    //random
    srand ((double) microtime() * 10000000);
    $rand_keys = array_rand ($names1, 2);
    //random image from array
    $slika=$names1[$rand_keys[0]];
    //image dimensions
    $dimensions = GetImageSize($slika);
    if (isset($pic)){header (Location: $slika);}
    else {echo <img src=$slika $dimensions[3]>;}
    ?>

  2. #2
    TP-Specialist mike bringt sich richtig ein Avatar von mike
    Registriert seit
    Jan 2002
    Ort
    TP/Dynamik
    Beiträge
    2.876
    diesen teil:

    $folder=opendir(.);
    while ($file = readdir($folder))
    $names[count($names)] = $file;
    closedir($folder);

    rekursiv auslegen.

    dazu baust du dieses script um:
    http://www.dclp-faq.de/q/q-code-verzeichnis.html

    damit du dein array ($names[count($names)] ) füllen kannst.

    ...wobei dieses script nicht wirklich die allerhöchste kunst im programmieren ist.
    $names[count($names)] =$names[]

    if ($ext==.jpg||$ext==.gif||$ext==jpeg||$ext==.png){$names1[$tempvar]=$names[$i];$tempvar++;}

    <-- if verzweigung negieren und im fehlerfall unset($names[$i])

    wieauchimmer.
    hat mit deinem problem nix zu tun.
    Gehelft? Hier kannst du dich bedanken.

    mike

  3. #3
    TP-Junior dennz macht alles soweit korrekt
    Registriert seit
    Nov 2002
    Beiträge
    9
    cool danke, bin ehrlich gesagt voll php anfänger. hab das probiert aber kam nur fehler bei raus. kannst du mir nicht das eben kurz umschreiben? wäre nett...
    mfg
    dennis

  4. #4
    TP-Specialist mike bringt sich richtig ein Avatar von mike
    Registriert seit
    Jan 2002
    Ort
    TP/Dynamik
    Beiträge
    2.876
    da geb ich den ball mal weiter, da ich aktuell leider nicht die zeit hab. sorry.
    Gehelft? Hier kannst du dich bedanken.

    mike

  5. #5
    TP-Junior dennz macht alles soweit korrekt
    Registriert seit
    Nov 2002
    Beiträge
    9
    macht nichts, schon ok ! trotzdem thx

  6. #6
    TP-Specialist mike bringt sich richtig ein Avatar von mike
    Registriert seit
    Jan 2002
    Ort
    TP/Dynamik
    Beiträge
    2.876
    da der ball scheinbar in den gulli gekullert ist:

    PHP-Code:
    <?php 

    function show_dir($dir, & $arr)
    {
        
    $handle = @opendir($dir);
        while (
    $file = @readdir ($handle))
        {
            if (
    eregi("^\.{1,2}$",$file))
                continue;

            if(
    is_dir($dir.$file))
                
    show_dir($dir.$file."/"$arr);
            else
            {
            
    $info pathinfo($file);
            if (
    strtolower($info[extension])=='jpg'|| strtolower($info[extension])=='gif'
                        
    $arr[]= $dir.$file;
            }
        }
        @
    closedir($handle);
    }


    //Variablen Init
    $dir "pfad/zu/deinen/bildern/";
    $arr = array();


    //read folders 
    show_dir($dir,$arr);

    //random 
    srand ((double) microtime() * 10000000); 
    $rand_keys array_rand ($arr1); 

    //random image from array 
    $img=$arr[$rand_keys]; 

    //image dimensions 
    $dimensions GetImageSize($img); 

    //ausgabe
    echo "<img src=\"".$img."\"".$dimensions[3].">";

    ?>
    Gehelft? Hier kannst du dich bedanken.

    mike

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51