Error mit opendir()
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfhrungszeichen
ausgabe
beitrag
doubeln
eigentlichen verzeichnis
error
erstere
existenz
fleet
gel
image
klassenfahrt
mengen
ordner
pfad
referenz
schlu
space
verzeichnis
wirkung
-
Hallo
Ich möchte aus einem Verzeichnis alle Dateien auslesen, die es da so gibt. Dazu gebe ich das Verzeichnis an
$verz = opendir ('../images/coincidence/');
Trotzdem kommt immer ein Error. Warum?
MfG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo
Ich möchte aus einem Verzeichnis alle Dateien auslesen, die es da so gibt. Dazu gebe ich das Verzeichnis an
$verz = opendir ('../images/coincidence/');
Trotzdem kommt immer ein Error. Warum?
MfG
Was für eine Fehlermeldung kommt?
Existiert das Verzeichnis überhaupt? -
Warning: opendir(../images/coincidence/) [function.opendir]: failed to open dir: No such file or directory in /home/webpages/lima-city/fly-europe/html/include/home.php on line 28
Und ich kann versichern, dass das Verzeichnis stimmt. Sogar mit drei Bildern drin. -
Ich poste am besten mal den ganzen Code
Am Anfang soll das Programm aus dem Verzeichnis alle Dateien raussuchen, wo nur Bilder drin sind. Danach soll es die Anzahl der Bilder errechnen ($x = Anzahld er Bilder) und alle Pfade der Bilder in einen Array speichern, der $image heißt. Danach wird per Zufall ein Wert Zwischen 1 und $x errechnet. Und zum Schluss wird das Bild (aus dem Array) ausgegeben.
<?php //Menge der Dateinen auslesen $verz = opendir ('../images/coincidence/'); $image = array(); while ($file = readdir ($verz)) { if($file != "." AND $file != ".." AND $file != "index.php") array_push($image, $file); $x++; } closedir($verz); //Zufallszahl errechnen srand((double)microtime()*1000000); $coincidence = rand(1,$x); //Ausgabe des Bildes echo "<img src='".$image[$concidence]."' border='0'>"; ?>
-
Ich vermute mal, dass die home.php bei dir geincludet wird, da der Ordner ja include heißt. Dann musst den Pfad nicht vom eigentlichen Verzeichnis von home.php angeben, sondern von der Datei aus, in die home.php geincludet wird.
-
Hm... werd eich mal versuchen, wenn der MySQL-Server wieder funktioniert.
edit:
Doppelpost gelöscht, Inhalt des 2. Posts:
Nein, wenn ich ../ weglösche, dann geht es leider auch nicht. Du kannst ja mal auf meiner Site schauen
Beitrag geändert: 12.10.2007 15:14:08 von occhi -
Hi,
du musst vor opendir() noch chdir() setzen, damit du in das verzeichnis, was du öffnen willst, wechselst! -
Und wie sollte das dann in etwa aussehen?
<?php //Menge der Dateinen auslesen $verz = chdir(opendir('../images/coincidence/')); $image = array(); while ($file = readdir ($verz)) { if($file != "." AND $file != ".." AND $file != "index.php") array_push($image, $file); $x++; } closedir($verz); //Zufallszahl errechnen srand((double)microtime()*1000000); $coincidence = rand(1,$x); //Ausgabe des Bildes echo "<img src='".$image[$concidence]."' border='0'>"; ?>
Etwa so? -
Nein, so:
<?php //Menge der Dateinen auslesen chdir('../images/coincidence/'); $verz = opendir('../images/coincidence/'); $image = array(); while ($file = readdir ($verz)) { if($file != "." AND $file != ".." AND $file != "index.php") array_push($image, $file); $x++; } closedir($verz); //Zufallszahl errechnen srand((double)microtime()*1000000); $coincidence = rand(1,$x); //Ausgabe des Bildes echo "<img src='".$image[$concidence]."' border='0'>"; ?>
-
Ich denke eher, dass keine "/" (ohne Anführungszeichen) nötig sind, sondern "\\" (ohne Anführungszeichen) zwischen den Ordnern.
Zwei sind es, da ein "\" das nachfolgende Zeichen seiner Wirkung enthebt.
Also enthebt der eine Backslash den anderen von seiner Wirkung und es bleibt ein Backslash übrig.
z.B. echo "Ein Backslash \\";
echo "Ein Backslash \"; geht nicht oder?
!nur aus dem Bauch heraus, bin mir nicht sicher! -
warum führt der link: http://fly-europe.lima-city.de/images/coincidence ins nirgendwo?
mfg kalimor -
Weil da alle Bilder gespeichert sind und weil ich meinen Space geordnet lassen will ;)
Ps. Bin zZ auf Klassenfahrt und kann somit nicht immer gleich antworten -
kontrolliere mal bitte die Existenz bzw. schreibweise des Verzeichnisses /coincidence/
Irgendwie scheint das gar nicht zu existieren. Evtl. solltest du mal das Verzeichnis nochmal löschen und neu anlegen um Fehler von Lima-Seite auszuschließen. -
was bedeutet das, wenn man einen ordner voller bilder nicht finden kann, damit der space geordnet bleibt? ich meine offensichtlich existiert dieser ordner nicht wenn der link zu ihm eine 404-fehlerseite erscheinen lässt.
-
Ja das Verzeichnis stimmt 100 pro. Das habe ich schon oft ausprobiert. Aber ich werde den neu geposteten Code erst nach der Klassenfahrt ausprobieren können, weil das hier so ein beknakter Pc ist von der Telekom.
-
Ich habe jetzt mal das Verzeichnis gelöscht und neu erstellt. Jetzt funktioniert schon mal der Link
http://fly-europe.lima-city.de/images/coincidence
Tja. Aber der Error bleibt -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage