Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1337 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  pb avec allowed max size

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb avec allowed max size

n°1132466
bedomon
La vérité est ailleurs
Posté le 27-06-2005 à 15:43:27  profilanswer
 

Salut tout le monde,
 
je voudrais savoir comment on peut contourner ce probleme :  
 
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 81 bytes) in /home/XXXX/XXXX/XXXX/sylk2csv_v2.php on line 6
 
Pour info je mets un fichier de 6mo dans un tableau et c'est ca qui plante
le pb en plus c'est que c'est sur un serveur distant et que l'on a pas les droits de root pour le serveur apache.

mood
Publicité
Posté le 27-06-2005 à 15:43:27  profilanswer
 

n°1132474
FlorentG
Posté le 27-06-2005 à 15:45:54  profilanswer
 

Ne pas charger un tableau de 6 Mo [:spamafote] Y'a quoi dedans  pour que ça soit si lourd ?
 
Et aussi, réfléchis 2 minutes : si y'avait un moyen de contourner, à quoi servirait la limite ?

n°1132489
bedomon
La vérité est ailleurs
Posté le 27-06-2005 à 15:51:40  profilanswer
 

Je sais bien le fichier est un .slk (fichier qui vient de sphinx)et quand je le fais en local il y a aucun probleme mais sur le serveur ca passe pas. (pour info je converti le fichier slk en csv pour le mettre en base) et oui il est enorme le fichier il y aura 116 champs dans ma base avec plus de 5000 ligne

n°1132491
FlorentG
Posté le 27-06-2005 à 15:52:26  profilanswer
 

Faut pas tout charger, faut faire ligne par ligne [:spamafote], ou petit bloc par petit bloc

n°1132513
bedomon
La vérité est ailleurs
Posté le 27-06-2005 à 16:07:52  profilanswer
 

Je m'en doute mais j'ai bien galerer a faire mon script pour que la conversion soit nikel et la je ne vois pas du tout comment le changer pour faire ce que tu dis si tu as une idée voivi mon code:

Code :
  1. <?php
  2. set_time_limit(0);
  3. function slk2csv($file) {
  4.    // Chargement du fichier dans un tableau
  5.    if(!$tableau = file($file)) return;
  6.    $xmax = 0;
  7.    // Pour chaque ligne
  8.    foreach($tableau as $ligne) {
  9.       // Ne commence pas par "C" ==> zappe
  10.       if(substr($ligne,0,1)!="C" ) continue;
  11.       // Si la case contient un ; (doublé en slk)
  12.       $ligne2 = str_replace(";;","ø",$ligne);
  13.       // Découpe la ligne à chaque ;
  14.       $tmp = explode(";",$ligne2);
  15.       // on lit à partir de la 2e colonne
  16.       $i = 1;
  17.       // lecture du Y éventuel
  18.       if(substr($tmp[$i],0,1)=="Y" ) {
  19.          $y = str_replace("Y","",$tmp[$i]);
  20.          $i++;
  21.       }
  22.       // lecture du X
  23.       $x = str_replace("X","",$tmp[$i]);
  24.       // mémorisation du max
  25.       $xmax = max($x,$xmax);
  26.       // lecture de la valeur
  27.       $v = ereg_replace("[K\"]","",$tmp[$i+1]);
  28.       $tab[$y][$x]="\"".trim(str_replace("ø",";",$v))."\"";
  29.    }
  30.    // ENCODAGE EN CSV
  31.    // colonnes séparées par ;
  32.    for($i=1;$i<=$y;$i++) {
  33.       // remplissage des cases vides
  34.       for($j=1;$j<=$xmax;$j++)
  35.          if(!isset($tab[$i][$j]))
  36.             $tab[$i][$j] = "";
  37.       ksort($tab[$i]);
  38.       $tab2[] = @implode(";",$tab[$i]);
  39.    }
  40.    // lignes séparées par \n
  41.    return implode("\n",$tab2);
  42. }
  43. $fichier = "Etic";
  44. // conversion du fichier slk en csv
  45. $temp = slk2csv($fichier.".slk" );
  46. // création du fichier .csv
  47. $f = fopen($fichier.".csv","w" );
  48. fputs($f,$temp);
  49. fclose($f);
  50. ?>

n°1132518
FlorentG
Posté le 27-06-2005 à 16:09:02  profilanswer
 

Ca ressemble à quoi un slk ?

n°1132526
bedomon
La vérité est ailleurs
Posté le 27-06-2005 à 16:12:32  profilanswer
 

FlorentG a écrit :

Ca ressemble à quoi un slk ?


ca ressemble a ca :
 
C;Y1;X56;K"NbAutreEquipt5"
C;Y1;X57;K"NbAutreEquipt6"
C;Y1;X58;K"NbAutreEquipt7"
C;Y1;X59;K"AccesEtabInternet"
C;Y1;X60;K"QuelTypeAcces"
C;Y1;X61;K"QuelTypeAcces2"
C;Y1;X62;K"QuelTypeAcces3"
C;Y1;X63;K"QuelTypeAcces4"
C;Y1;X64;K"QuelTypeAcces5"
C;Y1;X65;K"QuelTypeAcces10"
C;Y1;X66;K"QuelTypeAcces11"
C;Y1;X67;K"DebitInternet"
C;Y1;X68;K"SiTechnoReseauAltern"
C;Y1;X69;K"SiTechnoReseauAltern2"
C;Y1;X70;K"NbPosteInternet"
C;Y1;X71;K"SiPareFeuEtab"
C;Y1;X72;K"SiOuiFiltrageWeb"
C;Y1;X73;K"SiOuiFiltrageWeb2"
C;Y1;X74;K"SiOuiControlePosterioriEtab"
C;Y1;X75;K"SiOuiControlePosterioriEtab2"
C;Y1;X76;K"SiCharteInternet"
C;Y1;X77;K"SiOuiSiAnnexeReglmtInter"
C;Y1;X78;K"NbEnseignantB2I"
C;Y1;X79;K"NbDisciplineB2I"
C;Y1;X80;K"NbEleveAttestB2iNiv2"
 
c'est un format si tu l'ouvre sous excel ca te donne un tableur et les coordonné de chaque cellule sont representé par le Y(ligne) et le X (colonne) la valeur de la cellule est ce qui il a apres le K. Je precise au total dans le fichier slk j'ai 255045 lignes ( :ouch: ) voila la réponse a la taille du fichier


Message édité par bedomon le 27-06-2005 à 16:14:12
n°1132527
FlorentG
Posté le 27-06-2005 à 16:13:09  profilanswer
 

Bah essaye par groupe de quelques lignes pour voir... Tu prends 50 lignes, tu convertis, tu envois, etc...

n°1132539
bedomon
La vérité est ailleurs
Posté le 27-06-2005 à 16:17:19  profilanswer
 

J'ai deja essayé.
En fait j'ai une grosse contraine c'est que tout va etre automatiser de facon hebdomadaire et j'ai essayer ce que tu ma dis et j'ai pu en conclure que le fichier ne doit pas depasser 2mo.
Un autre contrainte c'est que si je decoupe le fichier je peux me retrouver avec les valeurs d'une meme ligne dans deux "tableau" different et donc je risque une perte de donné


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  pb avec allowed max size

 

Sujets relatifs
ERROR C2533 constructor not allowed a return type!!Exception & Heap size
question sur une instruction avec un "size of "GD: get image size qui retourne rien...
comment creer le type size_t (c/c++) en Ada?Conseillez vous "background-size" (CSS)
[Swing] JPanel.set*Size(...) ??[Scheme] let* avec canvas% : quand get-client-size disponible ?
c# unsafe error : cannot take the address or size of a variable of...<?xml version="1.0" ?> -> probleme : font-size dans IE
Plus de sujets relatifs à : pb avec allowed max size


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR