Probleme lors de l'execution d'un script php avec fopen
Résolu/Fermé
Utilisateur anonyme
-
Modifié par ammmmmine le 14/06/2011 à 22:41
Utilisateur anonyme - 15 juin 2011 à 16:03
Utilisateur anonyme - 15 juin 2011 à 16:03
A voir également:
- Probleme lors de l'execution d'un script php avec fopen
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Ghost script - Télécharger - Polices de caractères
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
6 réponses
coeus
Messages postés
3021
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
119
14 juin 2011 à 22:56
14 juin 2011 à 22:56
Salut !
Première question... Ça ne t'aidera pas mais je dois savoir : Pourquoi utiliser des fichiers et non pas des bases de données ?
Première question... Ça ne t'aidera pas mais je dois savoir : Pourquoi utiliser des fichiers et non pas des bases de données ?
Utilisateur anonyme
Modifié par ammmmmine le 14/06/2011 à 22:59
Modifié par ammmmmine le 14/06/2011 à 22:59
l'hebergeur ne me permet pas d'utiliser la base de donnée d'un site A pour le site B.
coeus
Messages postés
3021
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
119
14 juin 2011 à 23:01
14 juin 2011 à 23:01
Et tu es sûr(e) que le nombre de liens est en cause ? As-tu essayé, par exemple, de savoir à partir de combien de liens ça cause problème ?
Et peux-tu nous poster la partie de ton code qui régit la création de ce fichier ? Ça nous aiderait à déceler d'éventuelles erreurs...
Et peux-tu nous poster la partie de ton code qui régit la création de ce fichier ? Ça nous aiderait à déceler d'éventuelles erreurs...
coeus
Messages postés
3021
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
119
14 juin 2011 à 23:05
14 juin 2011 à 23:05
Mmmmmm... Dans ce cas donne-moi ton code, je regarderai ça demain... Là je quitte.
Bonne soirée !!!
Bonne soirée !!!
Utilisateur anonyme
Modifié par ammmmmine le 14/06/2011 à 23:20
Modifié par ammmmmine le 14/06/2011 à 23:20
voila le script qui me pose probleme : syntaxiquement il est bon mais ca bouffe beaucoup de ressources (je crois meme que ca vient du preg_match et du tableau a 3 dimensions):
<?php ini_set('max_execution_time','480'); ini_set('memory_limit','4096M'); ?> <?php $i=0; if(!$handle = fopen("liens1.txt", "rb")){ echo'<p>probleme ouverture du lien externe</p>'; } else{ while (($buffer = fgets($handle)) !== false) { $links[$i]=$buffer; $i++; } fclose($handle); } ?> <?php $i=0; $h = fopen("liens2.txt","w"); fclose($h); //pre-disposition : page vierge while(!empty($links[$i])) { $h1 = fopen(trim($links[$i]), "rb"); $contents = stream_get_contents($h1, -1, -1); fclose($h1); preg_match_all("#<li class=\"leaf([^\"]*)\"><a href=\"\/folder([^(\")]+)\">#" , $contents , $matches[$i]); $i++; } $i=0; $j=0; $h2 = fopen("liens2.txt","a"); while(!empty($matches[$i][2][$j])) { $count = count($matches[$i][2])/2; while($j<$count) {fwrite($h2, "http://www.siteB.com/folder".$matches[$i][2][$j]."\r\n"); $j++; } $j=0; fwrite($h2,"------------\r\n"); $i++;} fclose($h2); ?>
j'ai deja essayé de mettre un fopen comme alternative au tableau a 3 dimensions c'est a dire : des qu'il ouvre un lien il rentre dans le fichier txt les données qui l'interesse ....mais ca arrete le script au bout d'une 20ene de liens aussi .... donc ca revenait presque a la meme chose.
au fait , je m'excuse d'avance pour l'illisiblité de mon code ( ca donne pas envie de le lire ... :p )
au fait , je m'excuse d'avance pour l'illisiblité de mon code ( ca donne pas envie de le lire ... :p )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
coeus
Messages postés
3021
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
19 juin 2013
119
15 juin 2011 à 14:14
15 juin 2011 à 14:14
Mmmmmmm désolé je ne vois pas ce qui pourrait poser problème au niveau du script... :-(
Par contre, à moins que tu héberges ton propre site, je ne suis pas sûr que tes ini_set() aient grand effet. La plupart des hébergeurs, de mon expérience, ont des protections jalouses contre ce genre de commande ; sinon ce serait bien trop facile de leur drainer des ressources et d'abuser du système.
Tu peux peut-être voir si tu n'as pas un autre moyen de changer les limites de mémoire ? Ou sinon, de voir si ce n'est pas un de tes liens qui bogue ? As-tu essayé de changer l'ordre d'écriture de tes liens, voir si ça bloquerait à une autre ligne que la 20e ?
Désolé de ne pas pouvoir t'être d'une plus grande aide... Bonne chance pour trouver la solution !!!
Par contre, à moins que tu héberges ton propre site, je ne suis pas sûr que tes ini_set() aient grand effet. La plupart des hébergeurs, de mon expérience, ont des protections jalouses contre ce genre de commande ; sinon ce serait bien trop facile de leur drainer des ressources et d'abuser du système.
Tu peux peut-être voir si tu n'as pas un autre moyen de changer les limites de mémoire ? Ou sinon, de voir si ce n'est pas un de tes liens qui bogue ? As-tu essayé de changer l'ordre d'écriture de tes liens, voir si ça bloquerait à une autre ligne que la 20e ?
Désolé de ne pas pouvoir t'être d'une plus grande aide... Bonne chance pour trouver la solution !!!
Utilisateur anonyme
15 juin 2011 à 16:03
15 juin 2011 à 16:03
c bon j'ai trouvé l'erreur :
etant donné que des fois le preg_match_all n'est pas satisfait une case du tableau reste vide ..... du coup quand on passe a l'etape suivante (c.a.d copier le contenu du tableau dans le fichier txt 2 , quand il rencontre une case vide il s'arrete , j'ai rectifié l'avant dernier while).
merci en tout cas pour ton aide ;)
etant donné que des fois le preg_match_all n'est pas satisfait une case du tableau reste vide ..... du coup quand on passe a l'etape suivante (c.a.d copier le contenu du tableau dans le fichier txt 2 , quand il rencontre une case vide il s'arrete , j'ai rectifié l'avant dernier while).
merci en tout cas pour ton aide ;)