Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 21/12/2006, 18h28   #1
Membre actif
 
Inscription : juin 2006
Messages : 545
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 545
Points : 174
Points : 174
Par défaut Problème avec fopen

Salut,
je créé un petit moteur de recherche afin de rechercher des éléments sur plusieurs site et renvoyé vers le site s'il y a un resultat positif.
Mais j'ai un soucis, j'ai un fichier txt qui contient une url par ligne des sites sur lequel chercher du type :
http://www.domaine.com
http://www.domaine2.com
http://www.domaine3.com
.....
et j'ai le code suivant:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
<?
include("../conf.php3");
 
$urltxt = "url.txt"; 
$flux=@fopen($urltxt,"r"); 
 
	while (!feof($flux)) 
 		{
 
 		$url=fgets($flux);
 
		$fp=@fopen($url,"r"); 
		$contenu = ""; 
		$textrecherche = "$recherche";
 
			if($fp) 
				{
  					while(!feof($fp)) 
   						{
   						$contenu .= fgets($fp,1024); 
   						} 
 
					if(ereg("$textrecherche","$contenu")) // si cest bon
						{
						echo 'Résultat sur le site ' .$url.'<br>\n';
						}
					else // c'est pas bon
						{
						echo 'Aucun résultat sur' .$url.'<br>\n';
						}
				}
			else
				{
				echo $url .' Impossible d\'ouvrir le fichier<br>';
				}
 		}
 
?>
Le problème c'est que lorsque je lance le script ca m'affiche impossible d'ouvrir le fichier autant de fois que j'ai de site dans mon fichier.
Quelqu'un pourrait m'aider s'il vous plait?

Merci
morgan47 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 18h36   #2
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 795
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 795
Points : 1 685
Points : 1 685
Salut,
si tu es sur un serveur distant, je te conseille de faire un phpinfo() et de vérifier que allow_url_fopen est à 'on'.
Djakisback est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 18h46   #3
Membre actif
 
Inscription : juin 2006
Messages : 545
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 545
Points : 174
Points : 174
Je ne pense pas que ce soit cela car quand ej remplace :
par :
Code :
$fp=@fopen("http://www.domaine.com,"r");
Ca marche trés bien, enfin ca n'affiche pas le message impossible d'ouvrir le fichier, ca met juste que le site ne contient pas la recherche quoi.
morgan47 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 18h50   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Le résultat de fgets inclue le (ou les) caractère(s) de nouvelle ligne. Il convient donc dans votre cas d'appliquer la fonction (r)trim.


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 18h52   #5
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 795
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 795
Points : 1 685
Points : 1 685
En fait fgets() te retournes le caractère de fin de ligne aussi. Ca doit venir de là donc soit tu fais un str_replace sur $url ou plus simple tu fais un :

Code :
1
2
3
4
$urls = file("fichier.txt", "r");
foreach($urls as $url) {
...
}
Djakisback est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 22h47   #6
Membre actif
 
Inscription : juin 2006
Messages : 545
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 545
Points : 174
Points : 174
Merci je viens de tester avec trim ca mache.
Merci beaucoup a vous trois
morgan47 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 16h04.


 
 
 
 
Partenaires

Hébergement Web