php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.08.2004, 23:39  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard WebFTP: php denkt die ordner wären dateien...

hi@all,
habe mal ein php skript von hier bekommen und nun habe ich das problem, dass die ordner als datei angenommen werden.
das sehe ich daher, weil vor der datei und dem ordner sind kleine bildchen für datei ein blatt und für ordner eben ein ordner nun zeigt es aber vor den ordner auch das blatt an, d.h., dass die ordner als datei erkannt werden, was aber natürlich nicht sein soll.
was kann ich dagegen machen?
Code:
          function getDir($path, &$dirs, &$files) 
          { 
            $handle = opendir($_REQUEST['path']); 

            if($handle) 
            { 
              while($value = readdir($handle)) 
              { 
                if(is_dir($value) && $value != "." && $value != "..") 
                  $dirs[] = $value; 
                else if($value != "." && $value != "..") 
                  $files[] = $value; 
              } 
              closedir($handle); 
              sort($dirs); 
              sort($files); 
            } 
          } 

          $path = $_REQUEST['path']; 
          $dirs = array(); 
          $files = array(); 

          $data = getDir($path, $dirs, $files); 

          echo "<table cellspacing='0' cellpadding='0' border='0'>";

          if($_REQUEST['path'] != "../")
          {
            echo "<tr><td>[img]../img/pathback.gif[/img]</td><td>..</td></tr>\n";
          }

          foreach ($dirs as $value) 
            echo "<tr><td>[img]../img/ordner.gif[/img]</td><td>".$value."</td></tr>\n";

          foreach ($files as $value) 
            echo "<tr><td>[img]../img/datei.gif[/img]</td><td>".$value."</td></tr>\n";

          echo '</table>';
MfG,
WasserDragoon.
phpfortgeschrittener ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.08.2004, 23:59  
Gast
 
Beiträge: n/a
Standard

http://de.php.net/manual/de/function.is-dir.php
 
Alt 06.08.2004, 00:00  
Gast
 
Beiträge: n/a
Standard

Hallo, versuche es mal mit
Code:
if(is_dir($path."/".$value) ...
 
Alt 06.08.2004, 02:32  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard

boah cool danke @MovieStar.
Das ist mir eben auch klar geworden, da ich ja im link &path=../ gemacht habe. d.h. es sollte nicht im admin-ordner den webftp starten sondern im hauptordner...also musste es auch in der funktion umgeändert werden. fettes THX.
jetzt fehlt mir nur noch eines und zwar wie ich es realisieren kann, dass ich den .. ordner also ein ordner zurück wenn man da draufklickt auch ein ordner zurück kommt.
wie kann ich das am besten realisieren der aktuelle code ist folgender:
Code:
          function getDir($path, &$dirs, &$files) 
          { 
            $handle = opendir($_REQUEST['path']); 

            if($handle) 
            { 
              while($value = readdir($handle)) 
              { 
                if(is_dir($_REQUEST['path']."/".$value) && $value != "." && $value != "..") 
                  $dirs[] = $value; 
                else if($value != "." && $value != "..") 
                  $files[] = $value; 
              } 
              closedir($handle); 
              sort($dirs); 
              sort($files); 
            } 
          } 

          $path = $_REQUEST['path']; 
          $dirs = array(); 
          $files = array(); 

          $data = getDir($path, $dirs, $files); 

          echo "<table cellspacing='0' cellpadding='0' border='0'>";

          if($_REQUEST['path'] != "../")
          {
            echo "<tr><td>[img]../img/pathback.gif[/img]</td><td>..</td></tr>\n";
          }

          foreach ($dirs as $value) 
            echo "<tr><td>[img]../img/ordner.gif[/img]</td><td>".$value."</td></tr>\n";

          foreach ($files as $value) 
            echo "<tr><td>[img]../img/datei.gif[/img]</td><td>".$value."</td></tr>\n";

          echo '</table>';
hiermit ist klar, was ich machen will und zwar einen ordner zurück nur habe ich den <a>-tag noch nicht hingeschrieben weil ich nicht weiß wie ich das realisieren kann:
Code:
          if($_REQUEST['path'] != "../")
          {
            echo "<tr><td>[img]../img/pathback.gif[/img]</td><td>..</td></tr>\n";
          }
MfG,
WasserDragoon.
phpfortgeschrittener ist offline  
Alt 06.08.2004, 08:25  
Gast
 
Beiträge: n/a
Standard

Wieso rufst du in der Funktion getDir noch $_REQUEST['path'] auf?
$path wird doch als Parameter übergeben.
Die Anzeige von ".." würde ich nicht mehr unterdrücken.
Das entsprechende gif abhängig vom Inhalt von $value anzeigen z. B. wenn ".." enthalten ist.
Der Aufruf (wenn ich das richtig verstanden habe) ist doch dann der gleiche.
 
Alt 06.08.2004, 11:04  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard

das ist doch eigentlich egal hauptsache es funktioniert...
was ich mich jetzt nur frage, wie man das mit dem ordner zurück (..) realisieren kann.
MfG,
WasserDragoon.

EDIT: wenn ich jetzt zum beispiel in path ../img/ bin dann möchte ich per link auch wieder zurück nach ../ kommn und das mache ich über pathback.gif und dann .. und das .. soll verlink werden zum zurück kehren, aber wie geht das?
phpfortgeschrittener ist offline  
Alt 06.08.2004, 14:13  
Gast
 
Beiträge: n/a
Standard

Klar. War auch nur eine Bemerkung nebenbei.
Würde ich aber trotzdem ändern weil es irreführend ist. :wink:
".." ist doch ein Verzeichnis wie die anderen auch. Behandle es doch auch wie die anderen. Also nicht unterdrücken in der Funktion.
Problematisch wird's bei der Angabe der 3 gif's. Eine absolute Angabe des Pfades würde hier doch helfen.
 
Alt 06.08.2004, 14:32  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard

die 3 gibs werden doch angezeigt es wird alles richtig angezeigt und erleichtern würde es die volle url auch nicht.
also wie realisiere ich das nun?
MfG,
WasserDragoon.
phpfortgeschrittener ist offline  
Alt 06.08.2004, 14:42  
Gast
 
Beiträge: n/a
Standard

hmmm ...
was passiert denn wenn du es so machst wie ich vorgeschlagen habe?
Zeig doch mal den geänderten code.
 
Alt 06.08.2004, 17:43  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard

was soll ich denn genaugenommen ändern?
soll ich anstatt ../ immer http://sha.funpic.de/ machen? und was soll mit $_REQUEST['path'] in der getDir-funktion passieren?
MfG,
WasserDragoon.
phpfortgeschrittener ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] script das html dateien aus einem bestimmten ordner listet PHP Tipps 2004 16 09.05.2009 18:52
Wie Dateien im Ordner auflisten ? fdm PHP Tipps 2008 5 27.07.2008 20:00
Ordner inkl. aller Unterordner und Dateien verschieben? BartTheDevil89 PHP Tipps 2008 6 14.02.2008 08:45
TreeMenu Fatal Error PHP Tipps 2006 8 07.04.2006 11:22
Ordner fehler? und Dateien zusammenfassen PHP Tipps 2006 4 09.03.2006 10:42
Anzahl der Dateien in einem Ordner zählen PHP Tipps 2006 4 16.01.2006 20:44
[Erledigt] Dateien (Bilder) aus eiem Ordner ausgeben PHP Tipps 2005-2 5 30.12.2005 18:55
Dateien aus einem Ordner löschen PHP Tipps 2005-2 14 13.06.2005 21:27
Dateien und Ordner aus einem Verzeichnis lesen PHP Tipps 2005 4 28.05.2005 16:00
Dateien aus beliebigem Ordner packen ?? nsane PHP-Fortgeschrittene 2 10.12.2004 21:42
Dateien aus Ordner andersherum auslesen nsane PHP Tipps 2004-2 1 08.12.2004 17:29
Ordner und Dateien des Webspaces anzeigen lassen PHP Tipps 2004 1 05.11.2004 08:26
Alle Dateien im Ordner anzeigen Sirke PHP Tipps 2004 10 14.09.2004 17:36
dateimanager mit ordner anzeigen also quasi webftp phpfortgeschrittener PHP Tipps 2004 5 09.08.2004 01:10
ordner und dateien mit php anzeigen...wie? phpfortgeschrittener PHP Tipps 2004 5 04.08.2004 22:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
bestimmten ordner beim webftp nicht anzeigen, webftp php

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.