Seite 1 von 1

Random picture geht nicht

Verfasst: 09.09.2007 18:52
von Noxxx
hi

ich habe hier ein paar zeilen code die mir immer ein neues bild auf die seite laden sollen.... leider geht das nicht hat einer ne idee woran das liegt ???

Code: Alles auswählen


<?php 


    $folder = '.'; 


    $extList = array(); 
    $extList['gif'] = 'gif'; 
    $extList['jpg'] = 'jpeg'; 
    $extList['jpeg'] = 'jpeg'; 
    $extList['png'] = 'png'; 


$img = null; 


if (substr($folder,-1) != '/') { 
    $folder = $folder.'/'; 
} 


if (isset($_GET['img'])) { 
    $imageInfo = pathinfo($_GET['img']); 
    if ( 
        isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) && 
        file_exists( $folder.$imageInfo['basename'] ) 
) { 
    $img = $folder.$imageInfo['basename']; 
} 
} else { 
    $fileList = array(); 
    $handle = opendir($folder); 
    while ( false !== ( $file = readdir($handle) ) ) { 
        $file_info = pathinfo($file); 
        if ( 
            isset( $extList[ strtolower( $file_info['extension'] ) ] ) 
) { 
            $fileList[] = $file; 
        } 
    } 
    closedir($handle); 


    if (count($fileList) > 0) { 
        $imageNumber = time() % count($fileList); 
        $img = $folder.$fileList[$imageNumber]; 
    } 
} 
if ($img!=null) { 
    $imageInfo = pathinfo($img); 
    $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ]; 
    header ($contentType); 
    readfile($img); 
} else { 
    if ( function_exists('imagecreate') ) { 
        header ("Content-type: image/png"); 
        $im = @imagecreate (100, 100) 
            or die ("Cannot initialize new GD image stream"); 
        $background_color = imagecolorallocate ($im, 255, 255, 255); 
        $text_color = imagecolorallocate ($im, 0,0,0); 
        imagestring ($im, 2, 5, 5, "IMAGE ERROR", $text_color); 
        imagepng ($im); 
        imagedestroy($im); 
    } 
} 
?>

die bilder liegen im ordner "Flyer" wo auch diese datei mit dem code liegt, die soll dann über die funktion <img src="Flyer/bild.php" angesporchen werden, nur lädt der IE nix..... ????

Verfasst: 15.09.2007 01:05
von speedtouch92
Das geht nicht, weil readfile() deaktiviert wurde:

http://www.hate-you.ch/Flyer/bild.php

Verfasst: 15.09.2007 08:44
von Noxxx
aha, danke, also muss ich meinem provider schreiben das er das bitte aktivieren möge oder kann ich das einfach über die php.ini machen ? aber es wird ja nicht umsonst aus sein,... ?!?!? nicht das ich die büchse der pandura öffne :?

Verfasst: 15.09.2007 10:35
von speedtouch92
Was willst du denn damit bezwecken?

Code: Alles auswählen

if ($img!=null) {
    $imageInfo = pathinfo($img);
    $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
    header ($contentType);
    readfile($img);
} else { 

Verfasst: 15.09.2007 10:48
von Noxxx
das gesamte script ist nicht komplett von mir,.. hab mir das so zusammengebastelt,....

Verfasst: 20.09.2007 11:24
von Noxxx
mmmh :( weis denn hier jetzt keiner rat ?

Verfasst: 20.09.2007 16:56
von Pyramide
Normalerweise geht man bei einer Fehlersuche so vor, daß man guckt, an welcher Stelle das tatsächliche Verhalten des Codes von dem Verhalten abweicht, das man beim Schreiben des Codes erreichen wollte. Da du aber offenbar selbst keine Ahnung hast, was dein Code eigentlich machen soll, wird das mit der Fehlersuche wohl schwer bis unmöglich :roll:

Verfasst: 21.09.2007 14:35
von speedtouch92
Hmmmm, wie sollen die Bilder denn ausgewählt werden?
Reiner Zufall?

Wie heißen die Bilder?

1.gif
2.gif
3.gif

oder gemischte Endungen aber fortlaufende nummern?

Verfasst: 21.09.2007 16:08
von Noxxx
wie es die bilder auswählt ist egal, ind er regel heißen die 1.jpg 2.jpg usw oder halt gif,...

sortierung ist auch egal, es soll nur jedesmal wenn man die seite aufruft ein anderes bild da sein.... es kann auch 2mal das gleich sein, nur halt nicht immer,.. :)

Verfasst: 21.09.2007 17:01
von Jan500
guck mal hier http://forum.jan500.org/viewtopic.php?t=20 ;)

natürlich muss der code noch an deine umgebung angepasst werden bzw auf nicht-phpbb-basis umgebaut

Jan