Verzeichnis auslesen funktioniert nicht richtig.

PHP - alles Rund um die Programmierung von PHP und MySQL

Ist die geniale Programmiersprache, da sowohl für Einsteiger geeignet wie auch für Profis.

Moderator: lauras

Beiträge bitte im neuen Forum

Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon Yamram » Montag 30. Januar 2012, 19:43

Hey,
mir ist gerade etwas merkwürdiges passiert. Ich arbeite, wie ihr wisst, an einem Projekt, das wie eine Cloud funktionieren soll. Um nun die Verzeichnisse eines Users auszulesen, habe ich folgende

Funktion benutzt:

Code: Alles auswählen
<?php
   $dir = "upload/".$_SESSION["**********"]."_".$_SESSION["**********"]."/desktop/";
   if(is_dir($dir)) {
      if($handle = opendir($dir)) {
         while(($file = readdir($handle)) !== false) {
            $filesize = filesize($dir."/".$file);
            $changedate = filemtime($dir."/".$file);
            if(is_dir($file)) {
               echo "<li class='filecon-folder'><span class='metainfo'>".$filesize." Byte(s) | ".$changedate."</span>".$file."</li>";
            }
            else {
               echo "<li class='filecon-file'><span class='metainfo'>".$filesize." Byte(s) | ".$changedate."</span>".$file."</li>";
            }
         }
         closedir($handle);
      }
   }
?>


Man sieht, dass alles schön gemacht ist *____* Jetzt gibt es aber ein Problem. Im Windows Explorer sieht das Verzeichnis so aus:

Filesystem_Explorer.png
Filesystem_Explorer.png (4.04 KiB) 87-mal betrachtet


Das, was ich aber rausbekomme ist folgendes:

Filesystem_Error.png

Ich habe die Problemstellen mal markiert.

Jetzt frage ich verdammt nochmal: Wo ist der Fehler/ das Problem? Warum werden die Ordner als Dateien ausgegeben?

Mit freundlichen Grüßen,
Philipp E.
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon Basiii » Montag 30. Januar 2012, 19:47

Ich hoffe ich habe das Problem richtig verstanden, deine Verzeichnisse sind laut PHP 0 Byte groß?

Die Funktion heißt auch filesize und nicht dirsize 8)

Für die Größe des Verzeichnisses müsstest du das Verzeichnis samt Unterverzeichnisse auslesen und alle Dateigrößen addieren.
Benutzeravatar
Basiii
HTML-Acrobat
 
Beiträge: 1139
Registriert: Dienstag 12. Januar 2010, 13:57

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon drPHIP132 » Montag 30. Januar 2012, 19:51

bau mal noch ein:

if(verzeichnissname != ( '.' AND '..' )
{
#mache dies und das
}


Dadurch kriegst du diese zwei Ordner weg, die oben dran stehen.
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon Yamram » Montag 30. Januar 2012, 19:54

Öhm, darum ging es jetzt eigentlich gar nicht. Ich meine, du siehst ja, dass ich da ein bisschen Design reingebracht habe. Für Ordner habe ich da so ein hübsches Bildchen mit einem Ordner gemacht und für Dateien ist da so ein Zettel. Doch warum werden die Ordner apps, documents und music als Dateien "angezeigt"? Eigentlich müsste da doch auch ein gelber Ordner kommen. Doch der HTML-Code ist falsch! Beim Ordner images funktioniert es ja aber bei den drei anderen nicht. Warum?
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon webmaster3000 » Montag 30. Januar 2012, 19:58

Kann es sein, dass du wieder dieses Problem hast, die Warnung jedoch unterdrückt und deshalb nicht ausgegeben wird, die Prüfung auf Verzeichnis-oder-nicht fehlschlägt und einfach der else-Zweig ausgeführt wird? Guck doch mal, ob is_file() auch fehlschlägt, etwa so:
Code: Alles auswählen
if(is_dir($eintrag){
  echo "Verzeichnis";
}
elseif (is_file($eintrag){
  echo "Datei";
}
else{
  echo "Weder Datei noch Verzeichnis, was dann?";
}
 


@drPHIP132: Deine if-Abfrage funktioniert auch nicht, das hatten wir schon hier geklärt.

Hoffe, ich konnte helfen,
webmaster3000
Zuletzt geändert von webmaster3000 am Montag 30. Januar 2012, 20:04, insgesamt 3-mal geändert.
webmaster3000
HTML-Doctor
 
Beiträge: 257
Registriert: Donnerstag 29. September 2011, 16:32
Wohnort: Irgendwo in Thüringen

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon drPHIP132 » Montag 30. Januar 2012, 20:01

Du hast bei else { } das echo vergessen, webmaster3000 :D
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon webmaster3000 » Montag 30. Januar 2012, 20:03

Ups, geändert.
webmaster3000
HTML-Doctor
 
Beiträge: 257
Registriert: Donnerstag 29. September 2011, 16:32
Wohnort: Irgendwo in Thüringen

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon Yamram » Montag 30. Januar 2012, 20:05

Nein, ich unterdrücke beim Debuggen doch keine Fehlermeldung. Das wäre doch voll die Ironie. Also bei deinem kleinen Testscript kommt folgendes raus:

VerzeichnisVerzeichnisWeder Datei noch Verzeichnis, was dann?Weder Datei noch Verzeichnis, was dann?Weder Datei noch Verzeichnis, was dann?VerzeichnisWeder Datei noch Verzeichnis, was dann?

Es ist wie du schon gesagt hast, aber waruuuum?
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon drPHIP132 » Montag 30. Januar 2012, 20:10

pack mal in jeden ordner irgendeine datei und schau mal, was dans passiert.

Wenn es nun funktioniert, musst du einfach für jeden ordner, der aber leer ist IMMER das bild einfügen für einen Ordner.
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon Yamram » Montag 30. Januar 2012, 20:14

Das habe ich schon längst ausprobiert. Aber es funktioniert trotzdem nicht :/ Wofür gibt es denn die Funktion is_dir();, wenn sie ziemlich oft nicht funktioniert?
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon Yamram » Dienstag 31. Januar 2012, 16:59

Ich glaube, hier ist selbst die Forengemeinschaft ratlos :o :/
Benutzeravatar
Yamram
HTML-Sonderfall
 
Beiträge: 616
Registriert: Samstag 5. Februar 2011, 20:05
Wohnort: C:\Users\Yamram\Desktop\Papierkorb.ink

Re: Verzeichnis auslesen funktioniert nicht richtig.

Beitragvon lauras » Dienstag 31. Januar 2012, 17:06

Schau dir mal die Kommentare unter der Funktion an - vielleicht hilft dir das weiter: is_dir
Benutzeravatar
lauras
Moderator
 
Beiträge: 2114
Registriert: Samstag 3. November 2007, 22:08


Beiträge bitte im neuen Forum

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron