Seite 3 von 5
Verfasst: 22.09.2006 16:50
von Andavos
Immer noch die gleiche Meldung, in diser steht das es die Linie 554 ist, auf der steht:
Muss man bei den Schrägstrichen was angeben?
Oder wie?
Wo muss ich überall im Code die Persönlichen daten angeben?
Verfasst: 22.09.2006 18:45
von Xwitz
Welcher Schrägstrich und welche persönlichen Daten? Der relative Pfad zum Verzeichnis muß bei "//Welcher Ordner wird ausgelesen?" und nach echo "<img src=\" eingetragen werden.
Der Code funktioniert bei mir:
Code: Alles auswählen
<?php
//Welcher Ordner wird ausgelesen?
$ordner = "verzeichnis/";
//Welche Bildendungen sollen erkannt werden?
$endungen = array("gif","jpg","jpeg","png","bmp");
/****** Bilder auslesen ******/
$bilder = array();
$verz = opendir($ordner);
while($uverz = readdir($verz))
{
if($datei != "." && $uverz != ".." && is_dir($uverz))
{
$averz = opendir($ordner."/".$uverz);
while($datei = readdir($averz))
{
if($datei != "." && $datei != "..")
{
$datei_endung = substr( strrchr($datei,".") ,1);
//Ist die Datei-Endung in dem Array vorhanden?
if(in_array($datei_endung,$endungen))
{
$datei = $uverz."/".$datei;
$bilder[] = $datei;
}
}
}
closedir($averz);
}}
closedir($verz);
//Zufälliges Bild wählen
srand ((double) microtime() * 10000000);
$key = array_rand($bilder);
//Bild ausgeben:
echo "<img src=\"verzeichnis/".$bilder[$key]."\">";
?>
Verfasst: 23.09.2006 09:12
von Andavos
OK, jetzt geht es, allerdings kann ich nur einen Ordner aufrufen, aber ich wollte eigentlich das alle Bilder in einem Verzeichnis angezeigt werden, auch die, die ihrerseits wieder in einem Ordner sind, also so:
-Stammordner
Ordner im Stammordner mit Bilder drinn.
Ordner im Stammordner mit Bilder drinn.
Ordner im Stammordner mit Bilder drinn.
Ordner im Stammordner mit Bilder drinn.
Und alle Bilder die in diesen Ordnern drinn sind, sollten dann angezeigt werden. Ist das möglich?
Verfasst: 23.09.2006 10:25
von Xwitz
Edit: Aus irgendeinem Grund funktioniert das nur, wenn die Datei, entsprechend angepaßt, in dem Stammverzeichnis liegt. Ich weiß bisher nicht warum.
Verfasst: 23.09.2006 16:49
von Xwitz
Dann eben hintenrum, jetzt sollte es gehen (nur noch "verzeichnis/" anpassen).
Code: Alles auswählen
<?php
//Welcher Ordner wird ausgelesen?
$ordner = "verzeichnis/";
//Welche Bildendungen sollen erkannt werden?
$endungen = array("gif","jpg","jpeg","png","bmp");
/****** Bilder auslesen ******/
$bilder = array();
chdir ($ordner);
$verz = opendir(".");
while($uverz = readdir($verz))
{
if($uverz != "." && $uverz != ".." && is_dir($uverz))
{
$averz = opendir($uverz);
while($datei = readdir($averz))
{
if($datei != "." && $datei != "..")
{
$datei_endung = substr( strrchr($datei,".") ,1);
//Ist die Datei-Endung in dem Array vorhanden?
if(in_array($datei_endung,$endungen))
{
$datei = $uverz."/".$datei;
$bilder[] = $datei;
}
}
}
closedir($averz);
}}
closedir($verz);
//Zufälliges Bild wählen
srand ((double) microtime() * 10000000);
$key = array_rand($bilder);
//Bild ausgeben:
echo "<img src=\"".$ordner."/".$bilder[$key]."\">";
?>
Wenn auch im Stammordner Bilder liegen dann
durch
ersetzen.
Verfasst: 23.09.2006 20:47
von Andavos
Vielen Dank, es funktioniert einwandfrei!
Aber kann man da auch eine Adresse angeben?
z.b:
http://blablabla.de/bilder/
Geht das?
Verfasst: 24.09.2006 10:55
von Xwitz
Eine Adresse wofür?
Verfasst: 26.09.2006 17:28
von Andavos
also, dass ich Bilder von einem anderen Webspace anzeigen kann, da ich sie auf einem anderen Space habe, musste ich jetzt alle nocheinmal hochladen.... und das braucht jetzt natürlich Platz, deshalb würde ich gerne eine Adresse einfügen, aber geht das?
Verfasst: 26.09.2006 18:06
von Xwitz
Das geht natürlich nicht, sonst könnte man auch mal auf die Schnelle z.B. die config.php von einem fremden Forum lesen.
Es gibt aber andere Möglichkeiten:
Auf den Webspace mit den Bildern kommt die view.php mit folgendem Inhalt:
Code: Alles auswählen
<?php
//Welcher Ordner wird ausgelesen?
$ordner = "verzeichnis/";
//Welche Bildendungen sollen erkannt werden?
$endungen = array("gif","jpg","jpeg","png","bmp");
/****** Bilder auslesen ******/
$bilder = array();
chdir ($ordner);
$verz = opendir(".");
while($uverz = readdir($verz))
{
if($uverz != "." && $uverz != ".." && is_dir($uverz))
{
$averz = opendir($uverz);
while($datei = readdir($averz))
{
if($datei != "." && $datei != "..")
{
$datei_endung = substr( strrchr($datei,".") ,1);
//Ist die Datei-Endung in dem Array vorhanden?
if(in_array($datei_endung,$endungen))
{
$datei = $uverz."/".$datei;
$bilder[] = $datei;
}
}
}
closedir($averz);
}}
closedir($verz);
//Zufälliges Bild wählen
srand ((double) microtime() * 10000000);
$key = array_rand($bilder);
//Bild ausgeben:
$endung = substr( strrchr($bilder[$key],".") ,1);
header("Content-Type: image/".$endung);
readfile ($ordner."/".$bilder[$key]);
?>
Der Pfad muß angepaßt werden.
Da wo das Bild angezeigt werden soll kommt statt dem ganzen Code nur folgendes rein:
Code: Alles auswählen
<img src="http://www.bilderdomain.de/view.php" alt="">
Dann hat aber jedes angezeigte Bild den gleichen Namen (falls jemand die Bilder speichern will). Der Pfad muß angepaßt werden.
Ich habe es bisher nicht getestet. Die Zeile
könnte durchaus falsch/ungeeignet sein.
Ausprobieren!
Verfasst: 27.09.2006 17:45
von Andavos
Es ist aber nicht für das PHPbb-Forum, es ist für eine Private Website, da habe ich kein view.php!?