Zufallsbilder
Re: Zufallsbilder
Wenn auch die Bilder in den Verzeichnissen gleich bleiben, dann sollte man die vielleicht nicht jedes mal auslesen, das verbraucht unnötig Ressourcen.
Ansonsten:
Ich habe da mal was geschreiben, es hat auch funktioniert, aber die Anpassungen auf die Schnelle hier sind ungetestet:
EDIT: Die Verzeichnisse ($averz) fehlen noch, die müssen wenn der Bildername in das array $bilder geschrieben wird mit eingefügt werden und die Variablennamen müssen noch angepaßt werden ($datei zu $file oder umgekehrt).
/EDIT
suche
ersetze mit
suche
ersetze mit
Ansonsten:
Ich habe da mal was geschreiben, es hat auch funktioniert, aber die Anpassungen auf die Schnelle hier sind ungetestet:
EDIT: Die Verzeichnisse ($averz) fehlen noch, die müssen wenn der Bildername in das array $bilder geschrieben wird mit eingefügt werden und die Variablennamen müssen noch angepaßt werden ($datei zu $file oder umgekehrt).
/EDIT
suche
Code: Alles auswählen
$verzeichnis = dir($ordner);
$bilder = array();
while($datei = $verzeichnis->read())
Code: Alles auswählen
$bilder = array();
$verz = opendir($ordner);
while($uverz = readdir($verz))
{
if($file != "." && $uverz != ".." && is_dir($uverz))
{
$averz = opendir($uverz);
while($file = readdir($averz))
{
if($file != "." && $file != "..")
Code: Alles auswählen
$verzeichnis->close();
Code: Alles auswählen
}}
closedir($averz);
}}
closedir($verz);
Suchen und Ersetzen? Du sollst das auf deinen Code anwenden.
Das ist aber immer noch ungetestet.
Edit: Code korrigiert

Code: Alles auswählen
<?php
//Welcher Ordner wird ausgelesen?
$ordner = "Upload/uploading/";
//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($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=\"Upload/uploading/".$bilder[$key]."\">";
?>
Edit: Code korrigiert
Zuletzt geändert von Xwitz am 20.09.2006 21:36, insgesamt 1-mal geändert.
Aber was bedeutet das?Ansonsten:
Ich habe da mal was geschreiben, es hat auch funktioniert, aber die Anpassungen auf die Schnelle hier sind ungetestet:
EDIT: Die Verzeichnisse ($averz) fehlen noch, die müssen wenn der Bildername in das array $bilder geschrieben wird mit eingefügt werden und die Variablennamen müssen noch angepaßt werden ($datei zu $file oder umgekehrt).
Das bedeutet, daß bei den Dateinamen die in dem Array stehen die Information fehlt, in welchem Verzeichnis sie liegen und das alle Variablennamen $file in den Variablennamen $datei geändert werden müssen oder umgekehrt (was egal ist).
Das ist in dem Code den ich zuletzt gepostet habe aber alles schon drin wie unschwer zu erkennen wäre.
Das ist in dem Code den ich zuletzt gepostet habe aber alles schon drin wie unschwer zu erkennen wäre.
Es kommt folgende Fehlermeldung:
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Warning: closedir(): 24 is not a valid Directory resource in /home/www/web176/html/Projekt-Fake/index.php on line 554
Unmittelbar vor folgendem code
ist eine schließende geschweifte Klammer "}" zu viel (das habe ich oben geändert). Die Klammer löschen (oder obigen korrigierten Code übernehmen) und noch mal probieren.
Code: Alles auswählen
closedir($averz);
}}
closedir($verz);
Code: Alles auswählen
<?php
$verz = opendir(".");
while($uverz = readdir($verz))
{
if($datei != "." && $uverz != ".." && is_dir($uverz))
{
$averz = opendir($uverz);
while($datei = readdir($averz))
{
if($datei != "." && $datei != "..")
{
$datei = $uverz."/".$datei;
echo $datei."<br>";
}
}
closedir($averz);
}}
closedir($verz);
?>
Code: Alles auswählen
opendir(".")
Edit: Es liegt vermutlich daran. Ich habe den code in einer Datei getestet, die in dem Verzeichnis lag und nicht woanders.
Entweder Du legst die Datei auch in das Verzeichnis oder versuche mal folgendes.
Suchen (im ungekürzten Code):
Code: Alles auswählen
$averz = opendir($uverz);
Code: Alles auswählen
$averz = opendir($ordner."/".$uverz);
PS: Wenn man schon einen Fehler ausgegeben bekommt, dann sollte man auch den Code der Zeile angeben, das vereinfacht die Fehlersuche.