ugrás a tartalomhoz

Szerializálás nagy objektumokkal, például 10MB-os levél a sessionbe

rgrrbbt · 2007. Már. 26. (H), 13.57
sziasztok,

a következő kérdésem volna:
a serialize() függvény úgy tűnik, rengeteg memóriát használ. ha pl. egy 10mb-os objektumot szeretnék szerializálni, még 32mb sem elég, mindig "allowed memory size of ... exhausted" üzenettel kiszáll a script. nincs valami ötletetek, hogyan lehetne megoldani ezt a problémát? a szolgáltatómnál fix 32mb-os memory limit van beállítva, és szeretném, ha pl. egy 10mb-os levelet bele tudnék préselni a sessionbe.

előre is köszönöm!
 
1

Lehet PHP bug is

Hodicska Gergely · 2007. Már. 26. (H), 16.43
Szia!


Valamelyik új PHP verzió esetén volt egy csúnya bug ezzel kapcsolatban. Keress rá a bugs.php.net-en, hogy a Te PHP verziódat nem érinti-e esetleg ez a hiba. Jó eséllyel erről lehet szó esetedben.


Üdv,
Felhő
2

10Mb-os levelet minek...

TeeCee · 2007. Már. 26. (H), 17.55
... szeretnél belerakni sessionba?
Nem lehet, hogy hatékonyabb megoldást találunk, ha elmondod mire kell?
Nekem elsőre nem tűnik jó ötletnek ekkora tartalmat sessionban tárolni, vagy legalábbis fölösleges. Eddig még sosem volt ilyenre igényem, pedig hidd el, elég összetett dolgokkal is találkoztam...
3

ekkorát már fileba szokták

Szekeres Gergő · 2007. Már. 26. (H), 21.44
inkább írd ki fileba, és olvasd onnan vissza. így csak az elérési utat kell valahogy tárolnod. De ez nekem is nagyon gyanús, 10 mbos levélben pl nem tudom mi lehet.. Egyátalán milyen levél? e-mail?
4

re

rgrrbbt · 2007. Már. 27. (K), 12.34
köszönöm a válaszokat!

egy webes mailkliensen dolgozom, oda kellene a téma. egyetlen dolog miatt akartam csak sessionben tárolni: ha oldvasod a levelet, a képeket is mindjárt megmutatja, és miután a borwser aszinkron töltögeti le a képeket, valahogy hozzá kell férnie a levélhez a képeket kinyomató script(ek)nek is.
teljesen igazatok van, hogy nem túl jó megoldás, inkább fileba kéne írni, csak meg akartam spórolni magamnak az ilyen ideiglenes fileok eltakarítását. nem tudom, hogy egy tmpname() névvel létrehozott file végülis mikor lesz eltakarítva (a szolgáltatónál), előfordulhat, hogy pont rosszkor; ha meg nincs automatikus takarítás, akkor ottmarad minden szemét, ha a user elfelejt kijelentkezni. ha pedig a saját könyváramba mentem őket, ki kell találnom valami módszert, amivel x méretnél kisebbre tudom fogni az ilyen dolgokat (pl. minden írás előtt addig törlöm a legrégebbieket, amíg a könyvtár nem lesz elég kicsi), de így meg akkor van gond, ha egy pillanatban egyszerre sokan nézik a leveleket.

sajnos nincs túl sok gyakorlatom phpvel. talán hülyeség is volt nekiállni, de mostmár mindegy, valahogy befejezem.

bocsánat a hosszú postért, és mégegyszer köszönöm a válaszokat!
5

mailklienst...

TeeCee · 2007. Már. 27. (K), 15.53
.. de miért?

fontos, hoyg TE csináld?

Van 1001 ingyenes is, pl: http://uebimiau.org/