[php] stoppen met cachen van bestanden

Pagina: 1
Acties:

  • Terranca
  • Registratie: April 2000
  • Laatst online: 30-08 19:48
ik ben bezig met een applicatie waarvoor het nodig is grote bestanden via fread() in te lezen, en vervolgens met fwrite() weer in een ander bestand te zetten. Sommige bestanden zijn meer dan 100MB groot, en staan op remote servers.

Het probleem is het geheugenlimiet van PHP, blijkbaar cacht hij alles wat hij heeft geschreven in het geheugen. Iets wat ik echt niet kan gebruiken. Is er een maniertje om deze caching uit te zetten? Ik wordt dr echt gek van want nu stopt het script omdat het limiet op 10MB zit oid. :?

Verwijderd

staat in je config van je server en voor zover ik weet is dat niet mogelijk met een commando but i could be wrong ;)

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Probeer de mem_limit is wat hoger te zetten :)

http://www.php.net/ini_set

voorbeeld:
PHP:
1
<?ini_set('memory_limit', '200M');?>

Ik weet niet of het werkt...
Het werkt!

edit:

Zo dan, ddc? :P

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 20:24
eamelink: Ik weet niet of het werkt...
En dat met zo'n ondertitel.

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

volgens mij kan je beter de file vanaf de andere server dmv scp of curl/wget sucken als zijnde externe applicatie...

Klaar voor een nieuwe uitdaging.


  • Terranca
  • Registratie: April 2000
  • Laatst online: 30-08 19:48
Op dinsdag 16 juli 2002 09:32 schreef eamelink het volgende:
Probeer de mem_limit is wat hoger te zetten :)

http://www.php.net/ini_set

voorbeeld:
PHP:
1
<?ini_set('memory_limit', '200M');?>

Ik weet niet of het werkt...
Zou kunnen, maar ik heb geen 200MB RAM in die bak :'(
Denk idd dat ik maar wat ga klooien met wget :) Toch bedankt allemaal

Verwijderd

100 mb inlezen met fread() ?! oei..

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Hoe lees je dat in dan :?

Als jij:
code:
1
2
3
4
5
6
7
8
$fp = fopen('url', 'r');
$fwp = fopen('output', 'w');
while(!feof($fp))
{
     fwrite($fp, fread($fp, 4096));
}
fclose($fp);
fclose($fwp);

doet zal dat toch zeker geen 100MB innemen :?

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Op dinsdag 16 juli 2002 12:03 schreef Terranca het volgende:

[..]

Zou kunnen, maar ik heb geen 200MB RAM in die bak :'(
Denk idd dat ik maar wat ga klooien met wget :) Toch bedankt allemaal
Hoeft ook niet, je os gaat dan wel swappen ofzo :)
Op dinsdag 16 juli 2002 09:33 schreef ddc het volgende:

[..]

En dat met zo'n ondertitel.
Hmmm, nu je het zegt :)! ff veranderen als het nog kan!

Verwijderd

Op dinsdag 16 juli 2002 09:39 schreef chem het volgende:
volgens mij kan je beter de file vanaf de andere server dmv scp of curl/wget sucken als zijnde externe applicatie...
Ik ben het met je eens, dat is veel makkelijker en minstens even snel.

/edit tiepvaut
Pagina: 1