bestimmte dateien aus Ordner auslesen

xtratz

Gesperrt
Hallo Leute,

ich möchte für ein Kundenmenü einen Ordner auslesen indem sich PDF Dateien befinden.
Und zwar sollen alle PDF Dateien die z.b. mit 101010 beginnen berücksichtigt werden alle anderen aber nicht.

Hat mir jemand einen Tipp wie ich das machen kann ?!.

Gruss
 
Mit PHP kann man leider keine Ordner auslesen, denn die stehen im Schrank und enthalten Unterlagen, und da kommt PHP nunmal nicht dran.
Was Du aber auslesen kannst sind Verzeichnisse.
Du oeffnest einfach Dein Verzeichnis mit open(), liest alles nach und nach mit readdir() aus, vergleichst ob der Eintrag mit Deinem String anfaengt und am Ende schliesst Du das Verzeichnis noch mit closedir().
 
Danke Dir.
Also das Verzeichnis konnte ich mittlerweile auslesen und die Dateien werden auch angezeigt.
Allerdings komme ich einfach nicht drauf wie ich das mit dem vergleichen machen soll.

Dafür bietet doch php schon eine fertige Funktion oder ?

Gruss
 
Das kannst Du mit Hilfe von substr() loesen.
Beispiel (hier werden alle Dateien die mit 12345 anfangen ausgegeben):
PHP:
$prefix="12345";
$dir=opendir("./");
while ($file=readdir($dir))
{
 if (substr($file,0,strlen($prefix))==$prefix)
 {
  echo $file.'<br>';
 }
}
 
Du könntest auch mit regulären Ausdrücken arbeiten:
PHP:
<?php

	$dir = opendir('./');
	while( $file = readdir($dir) ) {
		if( !preg_match('<^101010.*\.pdf>', $file) ) {
			continue;
		}
		echo $file . '<br>';
	}

?>
 
Mir ging es nicht unbedingt um die Unterbreitung des effektivsten Vorschlags, sondern eher um die Aufzählung einer weiteren Möglichkeit zur Lösung des Problems. Nur weil für manch einen die Syntax regulärer Ausdrücke zu abstrakt und kryptisch wirkt, heißt es noch lange nicht, dass das Arbeiten mit selbigen zu hoch gegriffen sei. Sicherlich kann der Einsatz einer Regulären-Ausdrucks-Funktion in diesem Falls als übertrieben angesehen werden, doch für manche ist meine Variante vielleicht einfacher zu durchblicken als deine.

Also lege ich gleich noch eine weitere, sicherlich einfachere Lösungsmöglichkeit nach: die glob()-Variante:
PHP:
<?php

	$files = glob('101010*.pdf');
	foreach( $files as $file ) {
		echo $file . '<br>';
	}

?>
 
Es führen doch viele Wege nach Rom oder....?! ;-)

Jedenfalls danke ich euch recht herzlich. Ich hatte das jetzt mal mit substr_count() gelöst.
Denke aber das ist sehr unsauber.

Gumbos letzter Vorschlag ist glaube ich für meine Zwecke am besten geeignet.


Danke und Gruss
 
Zurück