Bestimmte datein aus ordner ausgeben
Master736
- php
Hallo
ich möchte aus einem Ordner wo mehrere verschiedene Files drin sind eine liste der Files erstellen mit der Endung .bsp
diese Auflistung soll dann hinterher so aussehen
bei den Dateien ( test.bsp, test2.bsp, test3.bsp, test1.wad)
test "test"
test1 "test1"
test2 "test2"
die Datei test1.wad soll hierbei komplett ignoriert werden
kenn mich zwar n bischen mit php aus aber leider hab ich das nicht so hingekriegt
wäre nett wenn mir da wer helfen könnte
Mit Freundlichen Grüßen:
Master736
Lies die Dateien aus dem Ordner und dann sowas:
if (substr($var,-4,4)!='.bsp') {
continue;
} else {
echo $var;
}
Sowas in der Art
Hi,
die Datei test1.wad soll hierbei komplett ignoriert werden
kenn mich zwar n bischen mit php aus aber leider hab ich das nicht so hingekriegt
also das verzeichnis durchlaufen kannst du schon mal, nehme ich an.
wäre nett wenn mir da wer helfen könnte
Was du zu tun hast ist also in der Schleife eine Abfrage zu machen.
zb.
if($dateiendung != 'bsp'){continue;};
Das bedeutet, wenn eine andere Endung als bsb auftaucht, soll die Schleife den nächsten Durchlauf machen. So bleiben am Ende nur die gewünschten Dateien.
carpe noctem
Pia
if($dateiendung != 'bsp'){continue;};
so natürlich, semikolon am Ende gehört nicht dahin:
if($dateiendung != 'bsp'){continue;}
Pia
Hi!
kenn mich zwar n bischen mit php aus aber leider hab ich das nicht so hingekriegt
Und wo genau hängst du fest?
Wie sieht denn dein Script aus?
Es wäre sehr sinnvoll, wenn du deine Versuche gepostet hättest.
ich möchte aus einem Ordner wo mehrere verschiedene Files drin sind eine liste der Files erstellen mit der Endung .bsp
Als erstes brauchst du das Verzeichnis-Handle, welches dir opendir() zurückgibt.
Danach gehst du das Verzeichnis in einer Schleife mit readdir() durch.
diese Auflistung soll dann hinterher so aussehen
bei den Dateien ( test.bsp, test2.bsp, test3.bsp, test1.wad)test "test"
test1 "test1"
test2 "test2"
Mit basename() und dem optionalen zweiten Parameter extrahierst du den Dateinamen ohne die Endung ".bsp".
die Datei test1.wad soll hierbei komplett ignoriert werden
Das macht man mit einer einfachen if-Abfrage.
Den folgenden Code habe ich jetzt nicht getestet. Eventuell ist irgendwo ein Flüchtigkeitsfehler drin.
Und eventuell willst du dir für deine Zwecke noch Anpassungen vornehmen.
Das Prinzip sollte man aber so erkennen können.
<?php
$folder = opendir( "./" );
while ( ( $entry = readdir( $folder ) ) !== FALSE )
{
if ( $entry != "." && $entry != ".." )
{
if ( $entry != 'test1.wad' )
{
$filename = basename( $entry, '.bsp' );
echo $filename . "\"". $filename ."\"<br>\n";
}
}
}
?>
Schöner Gruß,
rob
Hallo rob.
<?php
$folder = opendir( "./" );
while ( ( $entry = readdir( $folder ) ) !== FALSE )
{
if ( $entry != "." && $entry != ".." )
{
if ( $entry != 'test1.wad' )
{
$filename = basename( $entry, '.bsp' );
echo $filename . """. $filename .""<br>\n";
}
}
}
?>
Ick [glob](http://de.php.net/manual/de/function.glob.php) dat jet einfacher.
Einen schönen Montag noch.
Gruß, Mathias
--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules
so habe jetzt ein paar teile hier zusammen geschnitten und hab das richtige ergebnis
damit ihr auch seht was ich gemacht hab hier mein code
<?php
$folder = opendir( "./" );
while ( ( $entry = readdir( $folder ) ) !== FALSE )
{
if ( $entry != "." && $entry != ".." )
{
{
if (substr($entry,-4,4)!='.bsp') {
continue;
} else {
$entry;
}
$filename = basename( $entry, '.bsp' );
echo $filename . "\"". $filename ."\"<br>\n";
}
}
}
?>
solltet ihr doch einen fehler entdecken sacht mir bescheid
und Danke für die mithilfe
MFG: Master736
Ahoi Master736,
so habe jetzt ein paar teile hier zusammen geschnitten und hab das richtige ergebnis
damit ihr auch seht was ich gemacht hab hier mein code
<?php
$folder = opendir( "./" );
while ( ( $entry = readdir( $folder ) ) !== FALSE ){
if ( $entry != "." && $entry != ".." )
{
{if (substr($entry,-4,4)!='.bsp') {
continue;
} else {
$entry;
}$filename = basename( $entry, '.bsp' );
echo $filename . """. $filename .""<br>\n";
}
}
}
?>
>
> solltet ihr doch einen fehler entdecken sacht mir bescheid
Naja, fehler nicht wirklich. Die klammern sind wohl durch c+p Fehler entstanden. Ich persöhnlich hätte es wie folgt gelöst:
~~~php
<?php
$folder = opendir( "./" );
while ( ( $entry = readdir( $folder ) ) !== FALSE )
{
if ( $entry != "." && $entry != ".." )
{
if (substr($entry,-4,4)=='.bsp')
{
$filename = basename( $entry, '.bsp' );
echo $filename . "\"". $filename ."\"<br>\n";
}
}
}
?>
MfG