Speicherfehler beim Datei-Upload

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

  • Speicherfehler beim Datei-Upload

    Hallo zusammen,

    Ich habe kürzlich eine Galerie in Betrieb genommen, in welcher jeder Benutzer Bilder hochladen kann.

    Die ersten 60 Bilder haben auch gut geklappt, aber danach war Ende:

    *Fatal error*: Allowed memory size of 5242880 bytes exhausted (tried to allocate 2640 bytes) in...

    die betroffene Zeile ist:
    PHP-Code:
    $thumbnail imagecreatetruecolor($thumbnailwidth$thumbnailheight); 
    (ist aber glaub ich eher unwichtig)

    Ich hab länger rumgesucht zu dem Thema und habe auf Grund der Ergebnisse erstmal das hier dem Code beigefügt:
    PHP-Code:
    if(!ini_set("memory_limit""24M"))
        echo 
    "fehler"
    Das sollte für Bilder (das script meckert schon, wenn man nur 1 Bild hochladen möchte) eigentlich reichen, nicht?

    Bringt aber nichts, fehler tritt trotzdem auf.
    Laut Provider kann ich PHP.ini Befehle, die den Speicher betreffen, selbst setzen, ergo müsste das ja funktionieren.

    Anscheinend ist aber irgendetwas anderes die Ursache für das Problem... Endlosschleifen o.ä. gibts aber auch nicht.

    Habt ihr da vielleicht eine Lösung?

    Grüße, Oli

    // Edit: Ich habe eben gesehen, dass ich einmal imagedestroy() vergessen habe, im Script. Ist das wichtig?
    Wenn ja, wie kann ich den Speicher, den die alten Bilder dadurch belegt haben, wieder freigeben?
    Zuletzt geändert von OliOli; 25.10.2005, 18:51.

  • #2
    Re: Speicherfehler beim Datei-Upload

    Berabeitest du mehrere Bilder pro Scriptinstanz?
    Wenn ja, Bildobjekte nach dem Bearbeiten wieder aus dem Speicher geputzt? (imagedestroy)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ja wie gesagt, habs bei einer thumbnail-instanz vergessen wieder freizugeben, habs natürlich gleich hinzugefügt.

      Wie kann ich den Speicher denn komplett wieder freigeben? Also am Anfang eines Scriptes oder so...

      Kommentar


      • #4
        Also mit
        PHP-Code:
        unset(variable
        solltest du den Speicher, den die Variable belegt hat, wieder freigeben können.
        Allerdings musst Du darauf achten, dass die PHP Bearbaitungsmethoden für Grafiken die Bilder immer AUspacken. Sprich die machen im Speicher aus dem JPG im Prinzip ein BMP. Also benötigen sie den kompletten Speicher, den das dekomprimierte Bild braucht. Also ein 1600x1200 Bild braucht bei 24 bit Farbtiefe schon so ca 5,5 MB.

        Kommentar

        Lädt...
        X