markus: Fehlermeldung beim Upload sehr großer dateien

hallo alle zusammen,

wenn ich eine Datei über ein Upload-Feld hochlade und dann per PHP weiterverarbeiten will, bekomme ich folgende Fehlermeldung:
Fatal error: Allowed memory size of 8388608 bytes exhausted at (null):0 (tried to allocate 6400 bytes) in ...

das passiert nur bei großen dateien so ab 500KByte.
Kann man da was gegen machen? Irgendeine Einstellung an der ini oder so vielleicht?

grüße,
markus

  1. Hi,

    wenn ich eine Datei über ein Upload-Feld hochlade und dann per PHP
    weiterverarbeiten will, bekomme ich folgende Fehlermeldung:

    Das heißt hochgeladen wird die datei?

    Fatal error: Allowed memory size of 8388608 bytes exhausted at
    (null):0 (tried to allocate 6400 bytes) in ...

    8388608 byte das sind genau 8MB, ich weis jetzt nicht genau aber vll.
    hat der server nur 8MB RAM oder so, sprich du solltest nach dme Upload
    mal den speicher (bis auf die eine datei) löschen.

    das passiert nur bei großen dateien so ab 500KByte.

    wie gesagt (8388608/1024)/1024 = 8 MB.

    MfG

  2. Hello,

    Fatal error: Allowed memory size of 8388608 bytes exhausted at (null):0 (tried to allocate 6400 bytes) in ...

    das passiert nur bei großen dateien so ab 500KByte.

    Kommt der Fehler schon beim Hochladen? Das glaube ich nicht.
    Handelt es sich ummeine Bilddatei im Gepackten Format, die weiterverarbeitet wird?
    Benutzt Du die GD-Lib dafür?

    Wie groß ist das Bild in Pixeln?

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. hi tom,

      Kommt der Fehler schon beim Hochladen? Das glaube ich nicht.

      nein, er kommt bei der verarbeitung des Bildes.

      Handelt es sich ummeine Bilddatei im Gepackten Format, die weiterverarbeitet wird?

      ja, ist eine jpg-datei, komprimiert. hat ca. 83K.

      Benutzt Du die GD-Lib dafür?

      jop, das bild soll verkleinert werden und dann im Filesystem gespeichert werden.

      Wie groß ist das Bild in Pixeln?

      hat 1600*1200px - scheint also eher an den abmessungen zu liegen, also an der dateigröße....

      viele grüße,
      markus

      1. Hello,

        Wie groß ist das Bild in Pixeln?
        hat 1600*1200px - scheint also eher an den abmessungen zu liegen, also an der dateigröße....

        So ist es.
        Das Bild wird von der GD-LIB in ein internes RGB-Pixel-Format übersetzt mit 8 Bit Farbtiefe pro Kanal, also 24Bit/px

        Das Bild benötigt also in der "ausgepackten" Version 5.760.000 Bytes zuzüglich Overhead.
        Zusätzlich musst Du es noch im Original im Speicher halten und das Script benötigt auch noch Arbeitsspeicher. Und für das Ziel (das verklienerte Bild) benötigst Du nochmals Speicher.
        Da sind die 8MB, die häufig default sind, bald erschöpft.

        Versuch mal, ob Du ini_set('memory_limit', '32M'); durchbringst, ober ob das gesperrt ist bei Dir.

        Und die Beispiele lesen: http://de2.php.net/getimagesize

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. hi tom,

          vielen dank für deine antwort, sehr interessantzu lesen,
          das wußte ich alles gar nicht.

          Versuch mal, ob Du ini_set('memory_limit', '32M'); durchbringst, ober ob das gesperrt ist bei Dir.

          das geht durch, ist ja mein server ;-)))
          habs direkt in der ini geändert.

          danke nochmal,

          grüße,
          markus

          1. Hello,

            das geht durch, ist ja mein server ;-)))
            habs direkt in der ini geändert.

            Wenn auch Andere darauf zugreifen dürfen, würde ich es nicht in der ini ändern, sondern z.B. in den VirtHosts eine <directory>-Angabe machen und es dort ausschließlich für das Directory dieses Scripts festlegen.

            Wenn es nur ein "Offline-Server" ist, dann ist es natürlich egal.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau