Dateien von einen Ordner mit PHP anzeigen

Binio

Erfahrenes Mitglied
Hallo habe ein Problem.
Lade per FTP Daten auf mein Server. Möchte diese ohne jedesmal die Website zu ändern eine PHP-Script schreiben der z.B. in den Ordner guckt und die Datennamen dann anzeigt :)
Ist das überhaupt machbar ? Ich danke aber schon, da ja bekanntlich PHP keine Grenzen gesetzte werden :)

Würde mich über eine Antwort sehr freuen.
Lieben Gruß Robert
 
ich weiss zwar nicht genau ob du das meinst aber probiere mal das

$handle=opendir ('dein Verzeichnis');
while (false !== ($file = readdir ($handle))) {
echo $file."<br>";
}
closedir($handle);

gruss

dirk
 
Hier der Anfang:
<<click>>

So, das ist alledrings (gleube ich) nur fuer eine ebene, also der sucht nicht in weiteren unterordnern, da musste dir das script mal umbasteln lassen, irgendwie ;)

So sieht das also aktuell etwa bei mir aus (habs natuerlich style-maessig angepasst):
guckst du :)


Naja ich hoffe n paar von euch php-programmierern koennt ihm weiterhelfen :)
 
Ja danke genau sowas habe ich mir vorgestellt. Er sollte ja nur in ein Verzeichniss gucken :)
Für die unterordner werde ich dann hmmm ja das eine gute frage dann mach ich einfach keine unterordner :)
Ich danke euch Jungs für die schnelle Antwort

Lieben Gruß Robert
 
Für Unterordner kannst Du das Script anpassen. Ich habe mal etwas in der Richtung gemacht und das Script ist über die Suche sicherlich zu finden (Suchworte am besten: php AND rekursiv AND ordner).
Hmm eines dieser Scripte von mir findest Du auch im Zend.com Code Repository in den Scripten für »Folders & Files«
 
hehe bei diesen Tollen Script gibt es ein Problem :)
Sicher mit einer einzelnen If abfrage zu lösen :)
// meine Aktuelle VERSION //
$handle=opendir ('daten');
while (false !== ($file = readdir ($handle)))
{
echo "<a href=\"daten/".$file."\">".$file."</a><br>";
}
closedir($handle);

da listet er mir
.
..
lalala.txt
auf.
Und er macht die . und .. als link :(
Ist aber nicht so der Sinn :(
Kann mir da einer sagen was in die If Abfrage rein soll ?
 
ok die lösung ist
if ($file != "." && $file != "..")
echo "<a href=\"daten/".$file."\">".$file."</a><br>";

hab falsch gedacht
habe immer

if ($file = "." || $file = "..");
else
echo "<a href=\"daten/".$file."\">".$file."</a><br>";

gedacht und das hat leider nicht geklappt aber ich weiss noch immer nicht wieso :(
 
Binio hat gesagt.:
Code:
...
echo "<a href=\"daten/".$file."\">".$file."</a><br>";
...
Also den ersten fehler hab ich dir rot makiert.
(Glaube dass das falsch ist, weiss nicht genau, sieht zumindest nicht nach html aus :rolleyes:

Und nochwas: wenn du anfuehrungszeichen in klammern (z.B. "Hallo "du" da..") schreibst, dann nimm unterschiedliche!
Also so wie hier:
'Hallo "du" da...'

Es gibt naemlich die ' und die ",
weiss nich genau ob es falsch interpretiert wird, wenn man immer die selben nimmt, aber es ist einfach uebersichtlicher, finde ich..



Und hier noch was rotes, was du vergessen hast:

if ($file != '..' && $file != '.') {
echo "<a href=\"daten/".$file."\">".$file."</a><br>";
}



Im grossen und ganzen muesste das so richtig sein (denk ich, hab noch nich allzuviel php-erfahrung ;) :
Code:
<?php
  function listing ($dir) { 
  	print 'Dateien in '.$dir.'<br><br>';
	$dirh = opendir ($dir); 
	while ($file = readdir($dirh)) { 
	  if ($file != '..' && $file != '.') { 
		$fileinfo = pathinfo ($dir.$file);
		$filedata = file ($dir.$file);       
		print '<a href="'.$dir.urlencode($file).'">'.$file."</a><br>\n";
	  } 
	} 
	closedir ($dirh); 
  } 
  listing ('./daten/');
?>
Bei mir funktioniert es zumindest..

Falls du einen anderen unterordner benutzen willst, dann kannste einfach daten abaendern in nen anderen Ordner.. Aber das ./ und das / vor, bzw. nach dem ordnernamen muessen bleiben

Das muesste es im Grunde sein..
Ich hasse Programmiersprachen die ich nicht beherrsche.. wieder ne stunde dafuer geopfert.. :mad:

Naja ich hoffe du kommst damit klar..
Bis denne..


//NACHTRAG (nr. 463563576 ;)) :
Ich habe das mal geuploadet damit man sehen kann, wie das etwa dann aussehen kann
<<click>>

Ich weiss das deine loesung auch funktioniert, aber das hier issn bissel komfortabler, finde ich ;)

P.S.:
Sorry wegen der rechtschreibfehler, aber ich habs eilig und noch mehrere sachen zu tun, musste das hier also schnell (naja, innerhalb einer stunde die ich dafuer brauchte) hinkritzeln..
 
Zuletzt bearbeitet:
schreib mir mal ne mail an Frage und ich schick dir mal meine Navi vorbei die glaube ich für dich das richtige ist
Bin zwar newbe aber bei mir klapt es
 
Zurück