Filename ausgeben

matthiasschnueriger

Erfahrenes Mitglied
Guten abend!

Für meine Bildergallerie möchte ich, dass nicht nur das Bild, sondern darunter
auch der Filename angezeigt wird. Die jeweilige Dateiendung (also die letzten 4 Zeichen)
sollen natürlich nicht angezeit werden. Z.B. wenn das Bild Sommer.jpg heisst, dass unter
dem Bild Sommer angezeigt wird.

Ich nehme an, dass sollte nicht zu schwierig sein mit einem "echo" oder?!
Es wäre super, wenn mir jemand sagen könnte, wie ich das machen soll.

Danke und Gruss, Matthias
 
Dann halt die Endung entfernen, mit preg_replace()

Wenn ich mich nicht irre geht das z. B. so:
PHP:
 $val = "Dateiname.jpg";
 $val = preg_replace("/.(jpg|jpeg|gif)/i",'', $val);
 // ab hier ist $val = "Dateiname";


oder per explode:
array explode ( string separator, string string [, int limit])

Beispiel:
$val = "Dateiname.jpg";
$arr = explode(".",$val);

//ab hier ist $arr[0] = "Dateiname"; und $arr[1] = ".jpg";
 
Hallo,

ich will die Dateinamen in den Title einlesen.
Beispiel: domain.de/elena.html - im Title (Browser) sollte dann elena stehen.
Leider steht im Broser immer der / vor dem Wort.

Folgenden Code habe ich eingebaut:

<?php $val = strip_tags($_SERVER[REQUEST_URI]);
$val = preg_replace("/.(html|htm|php)/i",'', $val);

Hat jemand eine Idee?

MfG:
Jürgen Krebs
 
PHP:
<?php

$val = strip_tags($_SERVER[REQUEST_URI]);
$val = preg_replace("/.(html|htm|php)/i",'',$val);
$val = preg_replace("[A-Za-z]*\.[A-Za-z]*\//i",'',$val);

?>
Ungetestet - sollte aber mit jedem Domainnamen gehen

PHP:
<?php

$val = strip_tags($_SERVER[REQUEST_URI]);
$val = preg_replace("/.(html|htm|php)/i",'',$val);
$val = preg_replace("domain.de/",'',$val);

?>
Die einfachste Variante
 
Hallo Neurodeamon,

danke für die beiden Codes - habe beide getestet.
Variante1 Fehlermeldung:
Warning: preg_replace(): Unknown modifier '*' in /home/www/web13/html/index.php on line = letzte Zeile vom Code

Variante2:
Warning: preg_replace(): Delimiter must not be alphanumeric or backslash in /home/www/web13/html/index.php on line = letzte Zeile vom Code.
 
Sorry, daran merkt man, das ich gerade übelst erklältet bin...
Kann nicht mehr klar denken. So funktioniert es (getestet):

PHP:
<?php
$val = strip_tags("domain.de/bla.html");
$val = preg_replace("/.(html|htm|php)/i",'',$val);
$val = preg_replace("/[a-zA-Z]+.[a-zA-Z]+\//",'',$val);
echo $val;
?>
Ergibt: bla
 
Hallo,

erstmal gute Besserung !

Zu dem Code,

Ich habs ausprobiert, es funktioniert teilweise:

$val = strip_tags("domain.de/bla.html"); habe ich ersetzt durch:
$val = strip_tags("index.php");
funktioniert - im Browser wird jetzt im Titel bei den Keywords usw. "index" angezeigt - wie gewünscht ohne dem "/".

Jetzt soll aber wenn z.B. domain.de/haus.php aufgerufen wird im Titel, Metatags "haus" zu sehen sein.
Gibt es eine Möglichkeit das "domain.de/bla.html" bzw. "index.php" dynamisch auszulesen?

Danke.
 
Zurück