Teil einer Zeichenkette löschen

Tix

Erfahrenes Mitglied
Hallo,

ich habe folgendes kleines Problem:

In meiner Datenbank steht der Pfad
M:\Sonstige Daten\Makler 2000\BILDER\$bildname
und das ganze möchte ich mittels PHP in
$bildname
umwande
ln.

Ich habe mir dazu schon einiges durchgelesen. Auch die str_split und preg_* Funktion aber irgendwie verstehe ich die nicht.

Kann mir dabei jemand helfen oder zumindest neue Denkansätze geben. Ich verzweifel immer bei der preg Funktion mit den Zeichenketten.

Danke, Tix
 
PHP:
//-- Dateiendung der Datei bekommen
$pfad = 'dein/pfad/irgend/wo/hin.jpg';
$url = explode("/", $file);
$dateiname = $url[count($url)-1];

Müsste klappen! Ungetestet
 
jo, funktioniert schonmal gut, aber ich hab was falsch geposted

mein pfad lautet nämlich so
M:\Sonstige Daten\Makler2000\BILDER\
und nicht
M:/Sonstige Daten/Makler2000/BILDER/

Das heißt in meiner variablen steht das nich drin, wegen dem Backslash ( \ )

Das will PHP ja nich so richtig, was muss ich davor setzen damit der auch weiß dass ich genau das zeichen meine?

Hoffe es ist verständlich was ich meine
 
Dann machst du es einfach so:

PHP:
//-- Dateiendung der Datei bekommen
$pfad = 'dein/pfad/irgend/wo/hin.jpg';
$url = explode("\", $file);
$dateiname = $url[count($url)-1];

Das mienst du doch, oder?
 
die funktion selber klappt bestens.

Folgendes geht aber in PHP nicht unzwar das hier

PHP:
$pfad = 'M:\Daten\bild.gif'

PHP nimmt nämlich nur das hier an

PHP:
$pfad = 'M:/Daten/bild.gif'

Ich hoffe Ihr seht den unterschied zwischen / und \

Da muss irgendein Zeichen vor, genauso wie bei vielen " eine \" vor muss.

Ich hoffe ihr versteht welches Problem ich habe undzwar das dass hier

PHP:
$pfad = 'M:\Daten\bild.gif'

kein sauberer PHP-Befehl ist. Wenn ich das schreibe macht der einen Fehler bei der Ausgabe
 
Also dann musst du erstmal alle Zeichen innerhalb des Strings in / umwandeln mittels str_replace:

PHP:
<?php
$pfad = "M:\Sonstige Daten\Makler 2000\BILDER\bild.gif";
$pfad = basename(str_replace("\\", "/" , $pfad));
echo $pfad;
?>

Probleme hab ich dann bekommen wenn am ende der URL ne Variable steht dann bekomm ich ne Fehlermeldung rein :/
 
Zuletzt bearbeitet:
Achso, na dann sieht das Script so aus:
PHP:
//-- Dateiendung der Datei bekommen
$pfad = 'dein\pfad\irgend\wo\hin.jpg';
str_replace('\\','/',$pfad);
$url = explode("/", $file);
$dateiname = $url[count($url)-1];

#Edit da war wohl jmd. schneller!
 
Zurück