Ankündigung

Einklappen
Keine Ankündigung bisher.

Komischer Fehler ... Verzeichnis-Überprüfung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Komischer Fehler ... Verzeichnis-Überprüfung

    Hallo,

    wahrscheinlich bin ich blind, oder aber komme mit diesen Anführungszeichen und Klammern nicht klar. Folgendes Problem: Ich möchte über ein html-Formular Dateien per FTP uploaden. Dabei soll die Datei in ein entsprechend der eingegeben Kundennummer benanntes Verzeichnis geladen werden. Die entsprechende Zeilen im Skript
    Code:
    $source_file = $_FILES["datei"]["tmp_name"];
    $destination_file = "upload/".$kundennr."/".$_FILES["datei"]["name"];
    $upload = ftp_put($conn_id, "$destination_file", "$source_file", FTP_BINARY);
    funktionieren auch!

    ABER: wenn ich vorher per
    Code:
    if (is_dir("upload/.$kundennr")) {
    überprüfen möchte, ob es dieses Verzeichnis schon gibt, bringt er mir eine gewünschte Fehlermeldung, obwohl es dieses Verzeichnis gibt.

    Ich vermute, dass irgendwas im Skript mit den Anführungszeichen nicht stimmt, habe auch schon verschiedenste Möglichkeiten probiert.
    Kann mir jemand helfen???
    Danke!


  • #2
    angenommen, die kundennummer lautet 12345 .

    dann lädst du eine datei nach
    Code:
    upload/12345/dateiName ...
    du überprüfst aber, ob
    Code:
    upload/.12345
    ein ordner ist.

    Kommentar


    • #3
      Danke für deine Antwort. Aber auch ohne den Punkt geht es leider immer noch nicht.
      Ich dachte der Punkt wäre gerade dazu da, etwas zu verbinden?! Und hier wollte ich an den String den Inhalt der Variablen $kundennr anhängen ...

      Kommentar


      • #4
        Probier mal dieses :

        PHP-Code:
        <?php

           
        if (is_dir('upload/'.$kundennr)) 
           {

               ...

           }

        ?>
        ToolsTool - Online (SEO-)Tools im Browser gleichzeitig starten ...

        Kommentar


        • #5
          Zitat von axo
          angenommen, die kundennummer lautet 12345 .

          dann lädst du eine datei nach
          Code:
          upload/12345/dateiName ...
          du überprüfst aber, ob
          Code:
          upload/.12345
          ein ordner ist.

          Kommentar


          • #6
            Da gibt es ein weiteres Problem.
            Bist Du sicher, dass sich ftp_put und is_dir auf das gleiche Verzeichnis beziehen? Ich bezweifel das.

            Kommentar


            • #7
              @Bruchpilot:

              Wie meinst du das?
              Zumindest sollen sie sich aufs gleiche Verzeichnis beziehen. Ich möchte doch "nur" erreichen, dass eine Datei in den Ordner upload/$kundennr per ftp_put geschoben wird. Zuvor soll aber überprüft werden, ob es dieses Verzeichnis gibt und falls nicht eine entsprechende Fehlermeldung ausgeben ...

              Kommentar


              • #8
                @Michigras:

                Was dürfen mir deine Zeichen sagen?

                :wink:

                Kommentar


                • #9
                  $upload = ftp_put($conn_id, "$destination_file", "$source_file", FTP_BINARY);
                  $conn_id ist eine Verbindungresource, die wohl durch ftp_connect zurückgeliefert wurde. Eine ftp Verbindung zu einem anderen (FTP-)Server.
                  $destination_file bezieht sich dort also auf ein Verzeichnis, das der ftp Server zur Verfügung stellt.
                  if (is_dir("upload/.$kundennr")) {
                  Das bezieht sich auf das lokale Dateisystem des Servers, auf dem php läuft - nicht den FTP-Server.
                  Wo ist also der Sinn des Ganzen?

                  Kommentar


                  • #10
                    Aaah ... verstehe. Und wie schaffe ich es nachzusehen, ob auf dem ftp-Server so ein Verzecihnis vorhanden ist? Ich dachte, sobald ich die ftp-Verbindung hergestellt habe, bewege ich mich auf dem ftp-Server. Und deswegen der Suchbefehl. Dass sich das natürlich auf dem php-Server bezieht wusste ich nicht. Geht das überhaupt was ich machen will?

                    Kommentar


                    • #11
                      Du kannst zB versuchen lassen, in das Verzeichnis zu wechseln
                      Wie ein chdir im lokalen Dateisystem nur eben per ftp.
                      http://de3.php.net/manual/en/function.ftp-chdir.php

                      Kommentar


                      • #12
                        Ok danke ... das klingt gut. Werde das demnächst mal probieren und hier schreiben, obs geklappt hat.

                        Danke erstmal!!!

                        Kommentar

                        Lädt...
                        X