Dateinamen mit Zeilenumbruch löschen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ansicht
array
ausgabe
befehl
code
dank
datei
dateiname
egal code
file
folgendes code
ftp
info
komischen dateien
not
nutzen
setzen
shell
versuchen
zugreifen
-
Hallo
ich habe ein bischen mit PHP herum-probiert
dabei wird auch ein Cache in eine .txt Datei geschrieben.
klappt auch alles 1A ....
ABER ... auf einmal erstellt mir der Code eine Datei,
die im Dateiname einen Zeilenumbruch hat ... ?!?!
Ansicht im FTP:
normal wäre: meine_daten_info.txt
jetzt steht da: meine_daten
_info.txt
also mit Zeilenumbruch ?!?! hää? (hatte am Code nix geändert )
das kam auch nur 1x, dann wieder normal und alles OK
wie und warum das passiert ist, das ist erstmal egal ...
... viel Wichtiger: ich kann diese komischen Dateien nicht mehr löschen
egal was ich versuche ... no such file or dir...
HELP !!! .... löschen der vermurxten Dateien ???
(PS: ist nicht auf lima-city sondern anderer Webspace bei 1und1)
Beitrag zuletzt geändert: 5.8.2010 14:26:14 von superpartner -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Lösche sie über PHP. Achte darauf, dass du genau den richtigen Zeilenumbruch nutzt. Es gibt \r, \n und \r\n. Teste folgendes:
echo '<pre>'; foreach (array("meine_daten\n_info.txt", "meine_daten\r\n_info.txt", "meine_daten\r_info.txt") as $file) { echo `rm "$file" 2>&1`, "\n"; }
Beitrag zuletzt geändert: 5.8.2010 15:33:26 von nikic -
Hallo
Danke,
nach dem Array setzen fehlt eine Klammer schließen ... egal
foreach (array( "meine_daten\n_info.txt", "meine_daten\r\n_info.txt", "meine_daten\r_info.txt" ) as $file) { echo `rm $file 2>&1`, "\n"; }
egal, .... damit geht der code .... aber nicht das Löschen ?!
Ausgabe:
----------------------------------------
sh: line 1: _info.txt: command not found
sh: line 1: _info.txt: command not found
rm: cannot remove `cache/meine_daten\r_info.txt': No such file or directory
???
Ansicht FTP Dir-Info:
----------------------------------------
-rw-r--r-- 1 p34877558 ftpusers 0 Aug 5 14:03 meine_daten
_info.txt
-rwxr-xr-x 1 p34877558 ftpusers 0 Aug 5 14:03 meine_daten
_werte.csv
-rw-r--r-- 1 p34877558 ftpusers 3 Aug 5 14:03 meine_daten
_zeiger.txt
cannot remove ... cannot rename ... etc. ---> No such file or directory
?!
Beitrag zuletzt geändert: 5.8.2010 15:08:39 von superpartner -
Ooops, jop, da war einmal das array falsch und es fehlten noch die Anführungszeichen um $file. Jetzt sollte es gehen. Ohne Anführungszeichen interpretiert die Shell das als neuen Befehl ;)
echo '<pre>'; foreach (array("./meine_daten\n_info.txt", "./meine_daten\r\n_info.txt", "./meine_daten\r_info.txt") as $file) { echo `rm "$file" 2>&1`, "\n"; }
Wenn ichs mir recht überlege kannst du hier auch einfach unlink nutzen und musst nicht auf die Shell zugreifen:
echo '<pre>'; foreach (array("./meine_daten\n_info.txt", "./meine_daten\r\n_info.txt", "./meine_daten\r_info.txt") as $file) { unlink($file); }
Nimm, was dir besser gefällt ;)
Beitrag zuletzt geändert: 5.8.2010 15:36:53 von nikic -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage