Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PHP: Ordner auslesen (https://www.delphipraxis.net/25685-php-ordner-auslesen.html)

vlees91 10. Jul 2004 13:40


PHP: Ordner auslesen
 
wie kann man mit php einen ordner von der festplatte vom user auslesen?
opendir und dann readdir tuns nicht

MrKnogge 10. Jul 2004 13:47

Re: PHP: Ordner auslesen
 
Was meinst du mit auslesen, einfach nur anzeigen, oder das du weist was der einzelne Surfer auf seiner Platte daheim hat ?

vlees91 10. Jul 2004 13:53

Re: PHP: Ordner auslesen
 
nein, ich wollte ein eigenes webftp machen, der auch ordner auf der festplatte hochladen kann: also ordner auslese, wenn neuer ordner, dann mkdir auf dem server, wenn neue datei copy(...)

Filou 10. Jul 2004 13:59

Re: PHP: Ordner auslesen
 
Hallo,

versuch es mal mit folgendem Source:

Code:
while($file = readdir($folder_location)) {
 clearstatcache();
 echo($file.'
');
}
$folder_location ist das Verzeichnis, beispielsweise "../".

Tschau!

alcaeus 10. Jul 2004 14:00

Re: PHP: Ordner auslesen
 
Mit PHP kannst du AFAIK nicht auf die Festplatte des Users zugreifen. Du kannst aber mit HTML einen "Datei öffnen"-Dialog mit Eingabefeld bringen:
Code:
<input type="file" name="dateiname" size="49" />
Den Wert kannst du dann ja mit PHP über die $HTTP_POST_VARS auslesen

Greetz
alcaeus

Meflin 10. Jul 2004 14:00

Re: PHP: Ordner auslesen
 
das sollte dir helfen, ist zwar für designausgaben gedacht und nicht zur weiterverarbeitung aber das ist nicht schwer zu ändern
Code:
function show_all_files($ordner, $links = 0, $sub = FALSE) {
  $handle = opendir($ordner);
  while ($file = readdir ($handle)) {
    if($file != "." && $file != "..") {
      if(is_dir($ordner."/".$file)) {
        echo "[img]./gfx/blindgif.gif[/img][b]".$file;
        echo '[/b]
';
        show_all_files($ordner."/".$file, $links+15, TRUE);
      } else {
        echo "[img]./gfx/blindgif.gif[/img]";
        echo '<a href="'.$ordner."/".$file.'" class=textlink>&raquo; '.$file.'';
        echo ' ('.fs_convert($ordner."/".$file).')</a>
';
      }
    }
  }
  closedir($handle);
}

vlees91 10. Jul 2004 14:05

Re: PHP: Ordner auslesen
 
Zitat:

Zitat von Meflin
das sollte dir helfen, ist zwar für designausgaben gedacht und nicht zur weiterverarbeitung aber das ist nicht schwer zu ändern
Code:
function show_all_files($ordner, $links = 0, $sub = FALSE) {
  $handle = opendir($ordner);
  while ($file = readdir ($handle)) {
    if($file != "." && $file != "..") {
      if(is_dir($ordner."/".$file)) {
        echo "[img]./gfx/blindgif.gif[/img][b]".$file;
        echo '[/b]
';
        show_all_files($ordner."/".$file, $links+15, TRUE);
      } else {
        echo "[img]./gfx/blindgif.gif[/img]";
        echo '<a href="'.$ordner."/".$file.'" class=textlink>&raquo; '.$file.'';
        echo ' ('.fs_convert($ordner."/".$file).')</a>
';
      }
    }
  }
  closedir($handle);
}

das hab ich auch von jex-treme.de und php4u.net, aber das tuts nicht

Meflin 10. Jul 2004 14:08

Re: PHP: Ordner auslesen
 
ok, aber warum denn net?

alcaeus 10. Jul 2004 14:09

Re: PHP: Ordner auslesen
 
Nur um dich richtig zu verstehen: willst du die Dateien vom Server finden, auf dem die php-Dateien und somit das WebFTP liegen, oder die Dateien auf der Festplatte des Users, der gerade auf das WebFTP zugreift? Auf die Dateien des Users wirst du AFAIK mit PHP keinen Zugriff bekommen...

Greetz
alcaeus

vlees91 10. Jul 2004 14:14

Re: PHP: Ordner auslesen
 
Zitat:

Zitat von Meflin
ok, aber warum denn net?

mein code:
Code:
<?php
function show_all_files($ordner, $links = 0, $sub = FALSE) {
  $handle = opendir($ordner);
  while ($file = readdir ($handle)) {
    if($file != "." && $file != "..") {
      if(is_dir($ordner."/".$file)) {
        echo '<span style="padding-left: '.$links.'">[b]'.$file;
        echo '[/b]</span>
';
        show_all_files($ordner."/".$file, $links+30, TRUE);
      } else {
        echo '<span style="padding-left: '.$links.'">';
        echo '[url="'.$ordner."]'.$file.'[/url]';
        echo '</span>
';
      }
    }
  }
  closedir($handle);
}
show_all_files("C:\vlees91stuff\");
?>
der fehler:
Code:
Parse error: parse error in c:\apache\htdocs\tree_list.php on line 21
jetzt nicht, dass jemand denkt, dass ich eine dateiliste vom user haben möchte(tree_list.php), ich hab sie nur noch nicht geändert.

Zitat:

Zitat von alcaeus
willst du die Dateien vom Server finden, auf dem die php-Dateien und somit das WebFTP liegen, oder die Dateien auf der Festplatte des Users, der gerade auf das WebFTP zugreift?

ich will auf der festplatte vom user(von mir) zugreifen und alle dateien in einem verzeichniss suchen und dann die unterordner erstellen und dateien kopieren.

Meflin 10. Jul 2004 14:18

Re: PHP: Ordner auslesen
 
also das teil hat definitiv nur 20 zeilen. wie soll da ein fehler in zeile 21 sein? ist das komplett?

vlees91 10. Jul 2004 14:45

Re: PHP: Ordner auslesen
 
ja(komplett), das ist mir auvh schon aufgefallen(mit den 20 zeilen)

himitsu 10. Jul 2004 15:13

Re: PHP: Ordner auslesen
 
Also ich hab es auch mal getestet und da kommt
Zitat:

Parse error: parse error, unexpected $ in K:\_Lokaler WebSpace\Bild\x.php on line 20
(je nach dem, ob und wieviele Leerzeieln nach dem Code stehen)

Der Fehler ist hier
Code:
show_all_files("C:\vlees91stuff[color=red]\"[/color]);
durch das \ wird das nachfolgende " als Zeichen und nicht als Stringende behandelt.
Wodurch der String nicht abgeschlossen wird und beim Dateiende immernoch offen ist, was PHP (und auch andere Sprachen) nicht mag :roll:

Also wenn schon, dann so:
Code:
<?php
function show_all_files($ordner, $links = 0, $sub = FALSE) { 
  $handle = opendir($ordner);
  while ($file = readdir ($handle)) { 
    if($file != "." && $file != "..") { 
      if(is_dir($ordner."/".$file)) { 
        echo '<span style="padding-left: '.$links.'">[b]'.$file;
        echo '[/b]</span>
';
        show_all_files($ordner."/".$file, $links+30, TRUE);
      } else { 
        echo '<span style="padding-left: '.$links.'">';
        echo '[url="'.$ordner."]'.$file.'[/url]';
        echo '</span>
';
      } 
    } 
  } 
  closedir($handle);

show_all_files("C:[color=red]\\[/color]vlees91stuff[color=red]\\[/color]");
?>
(tja, man sollte sich mal mir Strings befassen :zwinker:)




Danach ist zwar der Code richtig, aber er funktioniert dennoch nicht.
a) das Verzeichnis existiert nicht (bei den Meisten)
b) vom Server auf die Festplatte zugreifen wollen :lol:
Zitat:

Warning: OpenDir: Invalid argument (errno 22) in K:\_Lokaler WebSpace\Bild\x.php on line 3

Warning: readdir(): supplied argument is not a valid Directory resource in K:\_Lokaler WebSpace\Bild\x.php on line 4

Warning: closedir(): supplied argument is not a valid Directory resource in K:\_Lokaler WebSpace\Bild\x.php on line 17

vlees91 10. Jul 2004 15:33

Re: PHP: Ordner auslesen
 
DANKE.
falsch:ES FUNKTIONIERT!!!

tschuldigung es funktioniert nur, wenn man es auf dem eigenen webserver ausprobiert. :wall: :wall: :wall: :cry: :( :cry: :cry: :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz