![]() |
Re: [PHP] Pfad aus externer PHP in einem IMG-Tag einbauen
@Flocke: OK, das mit dem Header dings wegen dem Cache funktioniert :thumb:
@idontwantaname: OK jetzt geht der code, aber er gibt mir ne menge unverständliche zeichen, also er öffnet das bild als text. Aber ich brauch doch nur nen zufälligen pfad... |
Re: [PHP] Pfad aus externer PHP in einem IMG-Tag einbauen
Wenn du das mit Header("Location $url") machst, dann brauchst du die Hälfte von dem Skript nicht!
Code:
<?php
$path = "bilder/"; $list = array(); $handle = opendir( $path ); while (false !== ($file = readdir ($handle))) { if( $file !== "." && $file !== ".." ) $list[] = $file; } closedir($handle); $index = rand( 0 , count($list)-1 ); /* Die folgenden 4 Zeilen können weg $fp = fopen( $path.$list[$index] , "r" ); $filepart = fread($fp, filesize($path.$list[$index])); print($filepart); fclose($fp); */ Header("Location: " . $path . $list[$index]); ?> |
Re: [PHP] Pfad aus externer PHP in einem IMG-Tag einbauen
So habe ich das auch gehabt, leider ne zeile zu viel :oops: :-D
Nochmal zurück zu dem, mit dem cache: Es geht jetzt auf einmal nicht mehr... es kommt jetzt immer der selbe banner, also auf der testseite mit dem img-tag. Ruf ich den script direkt auf, so zeigt er verschiedene an !? :o :shock: mfg |
Re: [PHP] Pfad aus externer PHP in einem IMG-Tag einbauen
Es kann (wie gesagt) sein, dass Firefox die Header-Angaben ignoriert, die das Cachen unterbinden sollen, wenn er eine Redirection findet (also einen "Location:"-Header).
Hier mal ein vollständiges Codebeispiel das funktioniert und das du nur noch an deine Bedürfnisse anpassen musst.
Code:
<?php
// Suchpfade für Bilder, wichtig: KEIN Slash am Ende! $pathes = array( "bilder" ); // Mögliche Bildtypen (reguläre Ausdrücke) $extensions = array( "jpe?g?" => 'image/jpeg', "gif" => 'image/gif', "png" => 'image/png', "tiff?" => 'image/tiff', "(bmp|dib)" => 'image/bmp' ); // Dateityp bestimmen function getFileType($file) { global $extensions; foreach ($extensions as $ext => $type) if (eregi('\.'.$ext.'$', $file)) return $type; return ""; } // Alle Dateien einsammeln $files = array(); foreach ($pathes as $path) { $dir = opendir($path); while ($file = readdir($dir)) if (is_file("$path/$file") && getFileType($file)) $files[] = "$path/$file"; closedir($dir); } // Nicht cachen header('Expires: Mon, 14 Aug 1995 03:00:00 GMT'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', FALSE); header('Pragma: no-cache'); if (count($files)) { // Zufällige Datei auswählen $file = $files[rand(0, count($files) - 1)]; // Bild ausgeben header("Content-Type: " . getFileType($file)); readfile($file, false); } else echo "<html>\n<body>\n<h1>Fehler</h1>\n Keine Bilder gefunden</p>\n</body>\n</html>"; ?> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz