kostenloser Webspace werbefrei: lima-city


Dateinamen mit Zeilenumbruch löschen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    superpartner

    superpartner hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    superpartner

    superpartner hat kostenlosen Webspace.

    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
  5. 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
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!