ordnerinhalts-ausgabe mit dateiauslese

scorpio-php

Mitglied
also ich bin noch anfänger in php und steh vor nem für mich recht kniffligem problem..

und zwar möchte ich anhand von folgendem code


PHP:
<?php
$directory = "C:\..."; 
$handle=opendir ($directory);

while (false !== ($file = readdir ($handle))) {
if ($file != "." && $file != "..") { 
echo $file."<br>";
}
}
closedir($handle);
?>

den inhalt eines ordners auslesen. bis hierhin schön und gut, nun möchte ich allerdings nicht, dass die dateinamen gelistet werden, sondern stattdessen soll jede einzelne datei, die im ordner enthaltet ist, geöffnet und jeweils die 1. zeile ausgelesen und anstelle von $file ausgegeben und somit untereinander gelistet werden.

hoffe man versteht was ich meine! thx schon im voraus!:)
 
Verstanden hab ich das schon, allerdings wird das etwas problematisch, wenn es sich z. B. um Bilder handelt - die bestehen nämlich nicht aus Textzeilen. ;) Hier der entsprechende Quelltext:
PHP:
<?php
$directory = "C:...";
$handle=opendir ($directory);

while (false !== ($file = readdir ($handle))) {
if ($file != "." && $file != "..") {
$array = file($file);
echo $array[0]."<br>";
}
}
closedir($handle);
?>
 
Wozu jedes mal die gesamte Datei in ein Array einlesen, wenn nur die erste Zeile benötigt wird? Folgendes sollte performater sein:
PHP:
if ($fp = @fopen($file, 'rb')) {
  echo '<br>'.fgets($fp);
  fclose($fp);
}

snuu
 
Code:
$directory = "./txts"; 
$handle = opendir($directory); 

while (false !== ($file = readdir($handle))) { 
   if ($file != "." && $file != "..") {
      if ($fp = fopen($directory . "\\" . $file, 'r')) {
         echo "<b>" . $file . "</b><br>" . fgets($fp) . "<br><br>"; 
         fclose($fp); 
      }
   } 
} 
closedir($handle);

So funktioniert das bei mir einwandfrei.

Gruß Marvin.

P.S.: Beim nächsten mal würde ich mir wünschen, dass du genauer beschreibst, was nicht funktioniert ;)
 
Zurück