Dateiendung und Verzeichnisname aus Scriptausgabe entfernen
Hallo zusammen,
ich möchte gerne in einem bereits vorhanden Script das
Verzeichnis und die Dateiendung in der Ausgabe entfernen.
Zum Beispiel so
Handbuecher/Testhandbuch.pdf
in
Testhandbuch
Die Endung ist kein Problem für mich,
aber Endung & Verzeichnis zusammen schon,
da ich wohl beim Aufbau irgendwelche Fehler mache.
Ich weiß, dass es zu diesem Thema viel im Internet zu finden gibt,
aber leider nicht wie ich es auf mein
Script bezogen anwenden muss.
MFG Martin Breuer
ich möchte gerne in einem bereits vorhanden Script das
Verzeichnis und die Dateiendung in der Ausgabe entfernen.
Zum Beispiel so
Handbuecher/Testhandbuch.pdf
in
Testhandbuch
Die Endung ist kein Problem für mich,
aber Endung & Verzeichnis zusammen schon,
da ich wohl beim Aufbau irgendwelche Fehler mache.
Ich weiß, dass es zu diesem Thema viel im Internet zu finden gibt,
aber leider nicht wie ich es auf mein
Script bezogen anwenden muss.
MFG Martin Breuer
<?php
$files = glob('Handbuecher/*.pdf');
echo '
<div align="center">
<table border="1" width="270" cellspacing="0" cellpadding="0" height="28">
<tr>
<td bgcolor="#FFFFFF" bordercolor="#FFFFFF" width="100%" align="center">
<font size="2" face="Arial">Dateiname</font></td>
</tr>
</table>
</div>
';
foreach($files as $file)
{
echo '
<div align="center">
<table border="1" width="270" cellspacing="0" cellpadding="0" height="28">
<tr>
<td bgcolor="#F7F7F7" bordercolor="#FFFFFF" width="77%" align="left">
<font size="2" face="Arial"><a style="text-decoration:none" href="'.$file.'"> '.$file.'</a></font></td>
</tr>
</table>
</div>
';
}
?>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288013
Url: https://administrator.de/contentid/288013
Ausgedruckt am: 25.11.2024 um 10:11 Uhr
8 Kommentare
Neuester Kommentar
Moin.
Hiermit kommst du in deiner Schleife an den 'Basename' der Datei ohne Extension.
http://php.net/manual/de/function.pathinfo.php
Gruß grexit
Hiermit kommst du in deiner Schleife an den 'Basename' der Datei ohne Extension.
echo pathinfo($file,PATHINFO_FILENAME);
http://php.net/manual/de/function.pathinfo.php
Gruß grexit
einfach so:
in $file ist der dateiname,
weil nicht erkennlich ist, ob windows oder linux,
zuerst einen replace des $file von backslash zu slash ( \ zu / )
dann einen explode. ( $x = explode ( $file, "/" ))
es folgt:
$dateiname = array_pop ( $x );
jetzt ist in dateiname nur noch der dateiname ohne verzeichnis.
die extension geht so weg
$x = explode ( $dateiname , ":" )
$name = array_shift ( $x )
und damit es ins script passt
$file = $name
auf zeile 19 einfuegen
OT:
( dieser text wurde mit google translater uebersetzt und danke fuer den hinweis ( codetag ), kannte ich nicht,)
in $file ist der dateiname,
weil nicht erkennlich ist, ob windows oder linux,
zuerst einen replace des $file von backslash zu slash ( \ zu / )
dann einen explode. ( $x = explode ( $file, "/" ))
es folgt:
$dateiname = array_pop ( $x );
jetzt ist in dateiname nur noch der dateiname ohne verzeichnis.
die extension geht so weg
$x = explode ( $dateiname , ":" )
$name = array_shift ( $x )
und damit es ins script passt
$file = $name
auf zeile 19 einfuegen
OT:
( dieser text wurde mit google translater uebersetzt und danke fuer den hinweis ( codetag ), kannte ich nicht,)
Zitat von @Martin-BR:
Sorry aber kannst du das nochmal genauer erklären ?
Ich bekomm jetzt zwar nicht mehr das Verzeichnis angezeigt aber immer noch die Endung.
Was mache ich falsch ?
Sorry zurück, die Konstante war falsch... das kommt wenn man mit mehreren Sprachen hantiert. Ist aber bei PHP auch missverständlich denn in jeder anderen Sprache bedeutet "Basename" -> Dateiname ohne Suffix, aber nö PHP nennt es genau umgekehrt...Sorry aber kannst du das nochmal genauer erklären ?
Ich bekomm jetzt zwar nicht mehr das Verzeichnis angezeigt aber immer noch die Endung.
Was mache ich falsch ?
ist oben korrigiert.
Gruß grexit
p.s. ab und zu mal in die Doku schauen dann hättest du es auch selber rausgefunden