Gestion d'un fichier txt

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Gestion d'un fichier txt

Re: Gestion d'un fichier txt

par xTG » 06 févr. 2015, 14:01

Tu peux essayer de libérer de la mémoire, tu as le contenu du fichier que tu n'utilises plus dans $Data.
unset($Data);
Mais sinon 35mo c'est petit, je pense donc que la mémoire attribué à PHP est vraiment très basse...
Tu peux t'orienter vers la modification de la mémoire attribuée aux scripts PHP dans le php.ini si cette solution est acceptable.

Re: Gestion d'un fichier txt

par Xahos01 » 06 févr. 2015, 12:04

Beaucoup, fichier volumineux de 35mo

Re: Gestion d'un fichier txt

par Aureusms » 06 févr. 2015, 11:37

Un problème de mémoire ? Combien as-tu de courriels à traiter ?

Gestion d'un fichier txt

par Xahos » 05 févr. 2015, 11:02

Bonjour, pour mon stage on m'a demander de corriger un script php. J'ai travailler pas mal de temps sur l'erreur. Après utilisation de différente technique j'ai découvert le soucis mais je n'arrive pas à le corriger. Le problème est le suivant :
Je lis tout le fichier text de mail et tout les mails sont placer dans un array, puis je dois supprimer les doublons et ensuite suivant les adresses mail entrer par l'utilisateur le script dois supprimer l'adresse mail désirer. Le soucis c'est que passer une certaine quantité de mail, il ne supprime plus rien ...
		$Data = file_get_contents('./documents/mail.txt'); 
		$MailArea = $_POST['delink'];
		$Data_array = explode("\r\n", $Data);
		$TabFicUnique = array_values(array_unique($Data_array));
		$TabArea = explode("\r\n", $MailArea);
		$LengthFic = count($TabFicUnique);
		$LengthArea = count($TabArea);
		$MailTraite = '';
		$TabTemp = $TabFicUnique;
		for($i = 0; $i < $LengthFic; ++$i)
		{
			for($j = 0; $j < $LengthArea; ++$j)
			{
				if ($TabFicUnique[$i] == $TabArea[$j]) unset($TabTemp[$i]);
				
			}
		}
		$TabTemp = array_values($TabTemp);
		$LengthTemp = count($TabTemp);
		for($j = 0; $j < $LengthTemp; $j++) $MailTraite .= $TabTemp[$j] . "\r\n";
		
		$NomFich = "./documents/mail-maj.txt";
		if (!$fp = fopen($NomFich,"w+")) 
		{
			echo 'Erreur dans la création du document texte !';
			exit;
		}
		else echo 'Documents texte mail-maj.txt à été crée correctement <br />';
		
		fwrite($fp, $MailTraite);
		fclose ($fp);
SI on sait m'aider svp, ca serais bien sympas :) .