• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Problem mit str_replace

Status
Für weitere Antworten geschlossen.

csigg

Neues Mitglied
Hallo,

ich benötige für mein PHP-Skript einen Pfad, um Bilder hochzuladen.
Der Pfad wird normal wie in Windows angegeben,
allerdings muss ich die \ in / ändern.
das wollte ich mit folgender Zeile machen:
PHP:
$bildpfad = str_replace("*\\*", "/", $bildpfad);
Dabei komm allerdings das raus:
Code:
Warning:  copy(C:\\Dokumente und Einstellungen\\Administrator\\Desktop\\bilder\\action_1.jpg) [[url=http://function.copy]webhosting24 - Login[/url]]: failed to open stream: No such file or directory in /opt/lampp/htdocs/newsletter/erstelleEntwurf.php on line 46
D.h. der \ wird durch 2 / ersetzt. Kann mir jemand erklären wieso??
 
so wies aussieht wird der \ er durch 2 \ ersetzt

wozu sind die Sterne in str_replace, soweit ich weiß reicht es so:
PHP:
   $bildpfad = str_replace("\\", "/", $bildpfad);
Ich fasse den Fehler so auf, dass nichts ersetzt wird, da keine Sterne in dem Pfad vorkommen und die \ automatisch escaped werden (daher das \\), obiger Code sollte beides beheben.

Ich kann mich natürlich auch vollkommen irren ;)

EDIT:
Zu langsam
 
ups, sorry, die Sterne hab ich nur zum testen rein gemacht, ohne die gehts auch nicht.
Also der eigentliche Code sieht so aus:
PHP:
$bildpfad = str_replace("\\", "/", $bildpfad);
 
vielleicht hilft dir das weiter
PHP:
$bildpfad = preg_replace("/\\\/i","/",$bildpfad);
 
Zuletzt bearbeitet:
danke werd ich morgen früh mal ausprobieren.

aber kann es sein dass ihr was flasch verstanden habt, bzw. ich es wahrscheinlich falsch erklärt habe??
Ich will einfach \ durch / ersetzen, der doppel /, also // komt nur daher dass ich es nicht anders schreiben kann in php.
 
ich habs oben nocheinmal editiert
das trifft auf
C:\Dokumente und Einstellungen\Administrator\Desktop\bilder\action_1.jpg
und auf
C:\\Dokumente und Einstellungen\\Administrator\\Desktop\\bilder\\action_1.jpg
zu und ersetzt es mit /

also ist es egal ob du die backslashes escapest oder ob php das macht ^^
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben