Wie würdet ihr das lösen.... ?

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

  • Wie würdet ihr das lösen.... ?

    Hi!

    Folgendes soll realisiert werden:
    Diverse User können via FTP Dateien hochladen.

    In gewissen Zeitabständen kommt ein Cronjob der deren Dateien, nach erfolgter Prüfung, in die Arbeitsverzeichnisse überträgt.

    Ich möchte nun verhindern, dass der Cronjob Dateien überträgt, die noch nicht zu 100% hochgeladen wurden.

    Wie würdet ihr das lösen?
    Ich erwarte keinen Programmcode, sondern nur eine Idee...
    Ich habe jetzt schon eine Lösung, frage mich aber, ob es auch "bequemer" geht.

    Danke!

  • #2
    man könnte schauen ob das Datum der letzten Änderung in der Vergangenheit liegt, kommt dann aber darauf an wie groß die Dateien sind und ob es je nach Zeitdifferenz trotzdem noch Überschneidungen geben kann

    Kommentar


    • #3
      Ahso...
      Bislang habe ich das so gemacht, dass ich mir die Dateinamen und die Dateigrößen hole, dann 20 Sekunden warte und sie erneut hole.
      Stimmen die Werte der Dateigrößen überein, ist die Datei für mich "fertig hochgeladen" und ich kopiere die von dort weg.

      Ich dachte halt, es geht irgendwie eleganter....

      Kommentar


      • #4
        Ich bin mir jetzt nicht sicher, meine aber irgendwo mal gesehen zu haben, dass während des Uploads folgendes wahr ist:
        PHP-Code:
        filesize$file ) > strlenfile_get_contents$file ) ) 
        . Muss du vielleicht mal überprüfen, ich kann mich da jetzt nämlich auch ganz schrecklich verrennen!

        Kommentar


        • #5
          Das werde ich prüfen.... vielen Dank....

          Kommentar


          • #6
            Das wird nicht unbedingt helfen....
            Manche FTPs legen die Datei in der kompletten Länge an und füllen sie so nach und nach..
            Auf Filesize kann man sich dann nicht verlassen.

            filesize( $file ) > strlen( file_get_contents( $file ) )
            Das dürfte ein Seiteneffekt wegen fehlendem clearstatcache() sein.
            Wir werden alle sterben

            Kommentar


            • #7
              Das dürfte ein Seiteneffekt wegen fehlendem clearstatcache() sein.
              Wie gesagt, ich habe es nicht selbst ausprobiert. Ich glaube sogar, das war aus einem Perlprogramm heraus, aber gleiche Art und Weise. Vielleicht aber auch nicht ^^

              Kommentar


              • #8
                Erst mit PHP6 wird es da Differenzen geben können. Oder ich habe was ganz Wichtiges nicht verstanden.
                Wir werden alle sterben

                Kommentar


                • #9
                  Na das Problem ist doch hier nicht PHP, sondern vielmehr der FTP-Server... entweder der Server wird so konfiguriert, dass die Datei erst bei 100% an die richtige Stelle kopiert wird, oder er wird so konfiguriert, dass die Datei bis zum vollständigen Schreiben durch den FTP-Server gelockt wird.
                  Das ist meiner Meinung nach ein Problem vom FTP-Server und hat rein gar nichts mit irgendeiner Anwendung zutun, die die Datei dann benutzen will *zuck*

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar

                  Lädt...
                  X