Group: PHP-Entwicklung

Forums > Forum "PHP: Q & A" > Article thread ""

Article thread - Articles 1-10 out of 13

<< Back Next >>
  • Article only visible to registered members
  • Re: rename : No such file or directory 04 Nov 2009, 10:52 am

    Anführungszeichen setzen?

    rename('/home/lie/vt/zg-trans-db-H.07.09.09.csv', '/home/lie/vt/zg-trans-db-H.2009.09.07.csv')

    Und davor sicherheitshalber noch ein file_exists() oder is_file() ...

    Edit: Ah sorry, zu schnell gelesen. Die Pfade kommen ja aus Variablen.
    Sind da evtl. Symlinks drin und PHP darf diesen nicht folgen?
    Oder, wie für Home-Verzeichnisse typisch, sind die Rechte auf 700 gesetzt?


    Viele Grüße
    Marco
    This article was modified on 04 Nov 2009 at 10:55 am.
  • Article only visible to registered members
  • Re^3: rename : No such file or directory 04 Nov 2009, 11:10 am

    Es ist ein Unterschied ob man PHP via CLI oder Apache aufruft, da dort verschiedene Rechte und auch Konfigurationen angesprochen werden. Ins Blaue geraten würde ich auf safe_mode = on tippen, oder im Apachefall noch zusätzlich auf open_basedir_restriction (Aber dann würde eine entsprechende Fehlermeldung ausgespuckt werden). Es kann auch sein das die zu verschiebenden Dateien einem anderen Benutzer gehören und der auszuführende Nutzer nicht das Recht hat auf die Datei zuzugreifen (unter manchen wirren Konstellationen ist das sogar mit "root" der Fall)

    Versuchen Sie doch mal dem Problem auf die Schliche zu kommen wenn Sie einfach ein

    <?php
    if(!file_exists('/home/lie/vt/zg-trans-db-H.07.09.09.csv')) echo "NO";
    else echo "Yes";
    ?>

    ausführen.

    Das Sie eine Datei mit einem LinuxCLI Tool sehen heißt nicht auch das es PHP genauso sieht. Alternativ lassen Sie einfach mal jemanden Drittes einen Blick auf die Kiste werfen. Kann sich nur um irgendwas Banales handeln.
  • Re^3: rename : No such file or directory 04 Nov 2009, 11:16 am

    Hi,

    kannst Du mal Auszüge aus Deinem Skript posten?

    Grüße,
    Ralf
  • Re^4: rename : No such file or directory 04 Nov 2009, 11:23 am

    Und ein Auszug von "ls -l" auf das Verzeichnis das die Daten enthält wäre auch super. Vielleicht gibts ja doch einen Dateinamenfehler.
  • Article only visible to registered members
  • Re^6: rename : No such file or directory 04 Nov 2009, 12:27 pm

    Hi,

    ich habe das bei mir mal nachvollzogen. Ging auch nicht.

    Ändere mal den Beginn der while-Schleife in folgendes um:

    while (!feof($input)) {

    $datei = trim(fgets($input,300));

    if (empty($datei))
    continue;

    ...
    }

    In der Dateiparkplatz gibt es wahrscheinlich einen Zeilenumbruch am Ende der dafür sorgt, dass die Schleife einmal zu oft durchlaufen wird.

    Danach ging es zumindest bei mir.

    Grüße,
    Ralf
  • Re^7: rename : No such file or directory 04 Nov 2009, 12:44 pm

    Nochmal,

    das Problem liegt nicht nur im Zeilenumbruch in der Datei parkplatz, sondern vor allem am Zeilenumbruch im Dateinamen. Daher funktioniert es mit der Zeile: $datei = trim(fgets($input,300));
    Das trim() entfernt Zeilenumbrüche und Leerzeichen. In Deiner Version sollte rename eine Datei umbenennen, die übersetzt etwa so aussah: /home/lie/vt/zg-trans-db-R.30.10.09.csv\n
    Das kann man auch ganz gut an den Fehlermeldungen sehen.

    hoffe es klappt jetzt,

    Grüße,
    Ralf
  • Article only visible to registered members
<< Back Next >>

Forums > Forum "PHP: Q & A" > Article thread ""

Top