Ankündigung

Einklappen
Keine Ankündigung bisher.

Datei Upload mit PHP - Probleme

Einklappen

Neue Werbung 2019

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

  • Datei Upload mit PHP - Probleme

    Hi!

    Bei mir läuft XAMPP für Windows Version 1.4.2.
    Habe in den letzten Wochen ein PHP-Projekt realisiert, was auch wunderbar funktioniert. Es enhält unter anderem einen Datei-Upload.

    Die Datei wird über ein Formular geschickt:
    <form enctype="multipart/form-data" method="post" action="upload.php">
    <input type="file" name="form_file">

    Und ein PHP-Skript kopiert das ganze dann ins richtige Verzeichnis:
    $upload = "$form_file_name";
    copy ($form_file, "files/".$upload);


    Doch bei langsamen Verbindungen (z.B über ISDN) macht dieser Vorgang Probleme.

    Bei einer 600 KB Datei kommt nach ca. 1 Minute diese Fehlermeldung:
    "Fatal error: Maximum execution time of 1200 seconds exceeded"

    Bei einer 2 MB Datei kommt die Meldung nach ca. 3 Minuten.

    Was kann das sein? Und warum passiert das je nach Dateigröße zu einem anderen Zeitpunkt?
    Ich habe in der php.ini den Wert auch schon mal auf 30000 bzw. 0 gestellt, keine Änderung.
    Aber eigentlich macht das ja auch keinen Sinn, da 1200 Sekunden (=20 Minuten) hoch genug sein müssten.

    Bin für jede Hilfe dankbar.
    Gruß FunnyDee

  • #2
    versuch das kopieren mal mit dem befehl:

    Code:
    copy_uploaded_file($_FILES['form_file']['tmp_name'],"./files/" . $_FILES['form_file']['name']);
    mit den alten vars kenn ich mich leider nicht mehr wirklich aus, glaub aer dass da die sourcefile falsch angegeben ist...
    mfg Floh

    Programmers don't die, they GOSUB without RETURN

    Kommentar


    • #3
      Hi!

      Leider produziert deine Code-Zeile genau die gleiche Fehlermeldung. Habe move_uploaded_file genommen, ich hoffe das meintest du.

      An falschen Vars kann es auch nicht liegen, denn bei einer schnellen Verbindung bzw. einer kleineren Datei klappt es ja.

      Also......hat noch irgendwer Vorschläge?

      Gruß FunnyDee

      Kommentar


      • #4
        hm ja klar hab move gemeint+g+ sorry mein fehler...
        hmm check mal ob du so große dateien über haupt hoch laden darfst.

        steht bei phpinfo unter upload_max_filesize
        mfg Floh

        Programmers don't die, they GOSUB without RETURN

        Kommentar


        • #5
          Bei welchem Provider bist du denn? Manche erlauben Up- und Downloads nicht.

          Kommentar


          • #6
            Zitat von TheProgrammer
            Bei welchem Provider bist du denn? Manche erlauben Up- und Downloads nicht.
            Was will ich mit nem Webspace der keine Downloads kann? Ich mach Tausende Downloads am Tag. Jeder Seitenabruf ist ein Download!

            Kommentar


            • #7
              Re: Datei Upload mit PHP - Probleme

              Zitat von funnydee
              Doch bei langsamen Verbindungen (z.B über ISDN) macht dieser Vorgang Probleme.

              Bei einer 600 KB Datei kommt nach ca. 1 Minute diese Fehlermeldung:
              "Fatal error: Maximum execution time of 1200 seconds exceeded"

              Bei einer 2 MB Datei kommt die Meldung nach ca. 3 Minuten.
              Setz in der php.ini
              max_execution_time
              auf einen höheren Wert oder füge am Scriptanfang folgendes ein:
              Code:
              set_time_limit (300); # 5 Minuten
              2 MB könnte allerdings schon an folgenden Grenzen scheitern (Zielserver):
              "post_max_size
              Setzt die maximal erlaubte Größe von POST-Daten. Diese Option betrifft auch den Datei-Upload. Um größere Dateien hochzuladen, muss der Wert größer sein als upload_max_filesize."

              Kommentar


              • #8
                Ich meine Downloads von mehreren 100 KBs

                Kommentar


                • #9
                  An upload_max_filesize und post_max_size liegt es nicht, die stehen auf 20 MB.
                  Außerdem funktionieren größere Dateien, wenn die Verbindung schnell ist. Ich habe so schon eine 10 MB Datei hochgeladen (über LAN). Und wenn ich beide ISDN Kanäle nehme, klappt auch die 600 KB Datei. Sehr merkwürdig also.....

                  Und ich benutze auch keinen Webspace beim Provider, der Server steht bei mir, sonst könnte ich ja gar nicht die php.ini ändern *g*

                  Ich würde mal sagen, die Fehlermeldung ist absolut unsinnig. Ein Bug von PHP? Oder muss ich bei Apache suchen?

                  Kommentar


                  • #10
                    Zitat von funnydee
                    An upload_max_filesize und post_max_size liegt es nicht, die stehen auf 20 MB.
                    Außerdem funktionieren größere Dateien, wenn die Verbindung schnell ist. Ich habe so schon eine 10 MB Datei hochgeladen (über LAN). Und wenn ich beide ISDN Kanäle nehme, klappt auch die 600 KB Datei. Sehr merkwürdig also.....
                    In der Tat... Mich irritieren die "1200 sec." (20 Min) etwas, weil Du einen anderen Wert genannt hattest.

                    Ich würde mal sagen, die Fehlermeldung ist absolut unsinnig. Ein Bug von PHP? Oder muss ich bei Apache suchen?
                    Uff, ich kenne mich mit den Windows Versionen sehr wenig aus.

                    Da es aber im LAN Klappt und per ISDN nicht, möchte ich doch mal ganz kühn die Schuld auf die "Wartezeit" schieben.

                    Kommentar


                    • #11
                      JUHUUU ICH HAB'S

                      Man muss den Wert "max_input_time" höher setzen, dann klappt es.
                      Naja, wieder was gelernt.

                      Aber vielen Dank für die zahlreichen Vorschläge!

                      FunnyDee


                      - C L O S E D -

                      Kommentar


                      • #12
                        Zitat von funnydee
                        Man muss den Wert "max_input_time" höher setzen, dann klappt es. Naja, wieder was gelernt.
                        Ich dann auch. Wo haste denn die Variable ausgegraben? Die steht noch nich ma im angelsächsischen Handbuch drinne...

                        Kommentar


                        • #13
                          Habe noch weiter bei Google gegraben und dann einen Link zu php.net gefunden. Leider steht dieser Tip auch nur in der englischen Fassung, deshalb habe ich ihn am Anfang auch nicht gefunden.

                          Hätte eigentlich gedacht, dass in der englischen und deutschen Fassung die gleichen Sachen stehen. Ist aber scheinbar nicht so. Also schon wieder was gelernt

                          Hier ist der direkte Link zu dem Tip:
                          http://de3.php.net/manual/en/feature...n-pitfalls.php

                          Gruß FunnyDee

                          Kommentar

                          Lädt...
                          X