Précédent   Forum des professionnels en informatique > PHP > Outils > WAMP
WAMP Forum d'entraide sur WAMP (Windows Apache MySQL PHP) : installation, utilisation, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/06/2007, 16h14   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 33
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 33
Points : 10
Points : 10
Par défaut Allocation de mémoire

Bonjour,
Je réalise actuellement une newsletter qui devrait envoyer des fichiers .pdf de formats qui font approximativement 14mo et 5mo. J'utilise mime et je mets en forme le msg de tel sorte qu'il passe sur un maximum de logiciel de msg sous texte ou html(script récupéré sur php.net cf:14-Aug-2006 09:19). Je l'ai modifié en fonction de mes besoins et j'ai ajouté un envoie de deux documents au lieu d'un seul:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File for Attachment
if($poterie) {
  $f_name="../Images/Documents/Tarif_Poterie_2006.pdf";    // use relative   path OR ELSE big headaches. $letter is my file for attaching.
  $handle=fopen($f_name, 'rb');
  $f_contents=fread($handle, filesize($f_name));
  $f_contents=chunk_split(base64_encode($f_contents));    //Encode The Data For Transition using base64_encode();
  $f_type=filetype($f_name);
  fclose($handle);
} elseif ($porcelaine) {
  $f_name="../Images/Documents/Tarif_Soie_2006.pdf";    // use relative path OR ELSE big headaches. $letter is my file for attaching.
  $handle=fopen($f_name, 'rb');
  $f_contents=fread($handle, filesize($f_name));
  $f_contents=chunk_split(base64_encode($f_contents));    //Encode The Data For Transition using base64_encode();
  $f_type=filetype($f_name);
  fclose($handle);
}
Premièrement: je ne pense pas envoyer les deux fichiers mais un seul, car je l'écraserai lors de la deuxième partie, il faudrait alors utiliser un tableau?
Deuxièmement: je reçois ce message d'erreur que je ne comprends pas
Citation:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 14471949 bytes) in
qui correspond à ça
Code :
 $f_contents=fread($handle, filesize($f_name));
Quelqu'un aurait-il une idée?
chtorrel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 16h27   #2
Membre éclairé
 
Avatar de Asmodean
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : février 2006
Messages : 311
Points : 346
Points : 346
Envoyer un message via MSN à Asmodean
Ca veut dire que ton script à dépasser la quantité de RAM max qui peut lui être alloué.

Pour changer ca tu peux modifier ton php.ini en changeant la ligne :

Là à prioris ca devrait égal à 8M chez toi...tu peux le passer à 16M voir 32M ^^
Asmodean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 16h44   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 33
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 33
Points : 10
Points : 10
Merci, mais je gagne une ligne, j'ai le même message d'erreur, mais le code erroné est :
$f_contents=chunk_split(base64_encode($f_contents));
chtorrel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 16h45   #4
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
Effectivement, le memory_limit du php.ini est une des solutions.
Il est possible aussi de modifier ce parametre via ini_set(); mais c'est a vérifier.

Par contre, si tu es hébergé chez un hebergeur gratuit, voire un mutualisé, la plupart du temps, l'access a cette directive est bloqué. Ce qui se comprend bien dans la mesure ou si tu prend toute la mémoire, ben les ptits camarades hébergés sur le même serveur risquent de ramer dur. Donc aie conscience du problème, si la solution est facile à mettre en oeuvre chez soi, elle n'est pas toujours possible en ligne.
__________________
Rakken

Oneira, un monde imaginaire d'Heroic Fantasy.

Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 16h52   #5
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 33
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 33
Points : 10
Points : 10
non non ca marche, j'avais pas redemarré wamp.
Merci.
chtorrel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h42.


 
 
 
 
Partenaires

Hébergement Web