Antworten auf deine Fragen:
Neues Thema erstellen

Wo liegt mein PHP- Denkfehler?

gegenwind

liebt Pizza.

Hallo Leute,
ich habe einen funktionierenden Zufallsbild-Code gefunden, der auch alleinstehend prima klappt.
PHP:
<?php
	$folder = '/images/randompic/';
     $extList = array();
	$extList['gif'] = 'image/gif';
	$extList['jpg'] = 'image/jpeg';
	$extList['jpeg'] = 'image/jpeg';
	$extList['png'] = 'image/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);
	}
}

?>
Diesen Code habe ich in eine php-Datei namens rotate.php abgespeichert, hochgeladen und realisiert, dass der Code zufällig ein Bild aus dem Ordner auswählt - prima !

Sobald ich diesen Code allerdings in eine andere Seite einfüge (1:1), tut sich gar nichts mehr. Als Fehlermeldung kommt:
PHP:
Warning: opendir(/images/randompic/) [function.opendir]: failed to open dir: No such file or directory in /is/htdocs/wp10469630_L7ALA6TGZB/testserver/index.php  on line 53

Warning: readdir(): supplied argument is not a valid Directory resource in /is/htdocs/wp10469630_L7ALA6TGZB/testserver/index.php on line 54

Warning: closedir(): supplied argument is not a valid Directory resource in /is/htdocs/wp10469630_L7ALA6TGZB/testserver/index.php on line 62

Warning: Cannot modify header information - headers already sent by (output started at /is/htdocs/wp10469630_L7ALA6TGZB/testserver/index.php:26) in /is/htdocs/wp10469630_L7ALA6TGZB/testserver/index.php on line 77
?PNG  ��� IHDR���d���d���J,���PLTEÿÿÿ���UÂÓ~���TIDAT8c` 3`?(ðü@íó¾ 0QZS?ÁQ$ÐÂueAá±7TÂy?µ&?Ï'Bõ ºõ¹  ñT&z@mpÚ âçBW?Q0 F?��åå×X?Ü4����IEND®B`?

Die neue Datei (index.php) hat auch die Dateiendung php, hat nur ein paar Container drin (mein Sitelayout). Am Server liegt es nicht, der unterstützt PHP. Auch am Verzeichnispfad ist alles richtig, rotate.php und index.php lagen im selben Verzeichnis, auch dort ist keine Veränderung.
Wisst ihr woran es bei mir scheitert, außer bei meiner Inkompetenz in Sachen PHP?
 

sokie

Mod | Web

AW: Wo liegt mein PHP- Denkfehler?

Du musst den code nicht in eine andere Datei einfügen, sondern deine rotate.php als imagesource angeben zb;.:
HTML:
<img src="rotate.php" alt="zufallsbild" />
und aufpassen, dass die Pfade stimmen.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.068
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben