Verzeichnis auslesen ohne index.php

Denniz

Erfahrenes Mitglied
Hi Leute,
ich habe ein kleines Skript zusammengebaut welches mir meine Files aus einem Verzeichnis ausliest.

Jetzt liegt die php in dem Verzeichnis in dem meine anderen Files auch liegen.
Wie müßte man das Skript umschreiben damit die php nicht mitangezeigt wird

PHP:
<?php
$theDirectory = ""; 
print("List of files:\n<br>");
$dir = opendir("./");
while ( ($file=readdir($dir)) !== false ) {
	if(is_file($file)){
		$date = filectime($file); 
		$meindatumsformat = date(' d.m.y', $date); 
		echo "<b>$meindatumsformat</b> - "."<a href=\"".$_SERVER['REQUEST_URI']."$theDirectory".$file."\""." target=\"_blank\">$file</a><br>\n";
	}
}
closedir($dir);
?>

Ausgabe:
Code:
List of files:
07.12.08 - haus.jpeg
07.12.08 - index.php
 
PHP:
<?php
// forbidden extensions
$array = array('php');
foreach(glob("./*") as $file)
{
  if(is_file($file) && !in_array(pathinfo($file, PATHINFO_EXTENSION), $array))
  {
    // echo file
  }
}

Das wäre eine mögliche Lösung.
 
Hallo,

ja danke das klappt schon mal,

jetzt habe ich das Problem das mir die dateien nicht aufgelistet werden sobald ich ein bestimmten Ordner angebe.
Woran liegt es und was müßte ich ändern?

PHP:
<?php
$array = array('php');
$theDirectory = "folder/";
print("List of files:\n<br>");
$dir = opendir("folder");  // Wenn ich ein Verzeichnis angebe dann werden wie Dateien nicht ausgelesen, warum ?
while ( ($file=readdir($dir)) !== false )  {
	if(is_file($file) && !in_array(pathinfo($file, PATHINFO_EXTENSION), $array)){
		$date = filectime($file); 
		$meindatumsformat = date(' d.m.y', $date); 
		echo "<b>$meindatumsformat</b> - "."<a href=\"".$_SERVER['REQUEST_URI']."$theDirectory".$file."\""." target=\"_blank\">$file</a><br>\n";
	}
}
closedir($dir);
?>
 
Das wurden sie dir bei deinem ersten Skript aber auch nicht.
Der Grund dafür ist, dass keine der beiden Funktionen rekursiv abläuft.

In den Kommentaren zu [phpf]readdir[/phpf] bzw. [phpf]glob[/phpf] gibt es dafür aber einige Hinweise.
 
Zurück