IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème avec fopen


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    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'.

  3. #3
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut
    Je ne pense pas que ce soit cela car quand ej remplace :
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $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.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    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.

  5. #5
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $urls = file("fichier.txt", "r");
    foreach($urls as $url) {
    ...
    }

  6. #6
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut
    Merci je viens de tester avec trim ca mache.
    Merci beaucoup a vous trois

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec fopen
    Par Vincent157 dans le forum Visual C++
    Réponses: 1
    Dernier message: 28/06/2007, 14h14
  2. problème avec fopen
    Par eoberlin dans le forum C++
    Réponses: 10
    Dernier message: 26/08/2006, 20h26
  3. Problème avec fopen
    Par Fonzy007 dans le forum Langage
    Réponses: 2
    Dernier message: 24/07/2006, 18h15
  4. [FTP] Problème avec fopen sur URL
    Par Biboune2008 dans le forum Langage
    Réponses: 14
    Dernier message: 22/06/2006, 17h00
  5. Problème avec fopen
    Par Binouce dans le forum C
    Réponses: 10
    Dernier message: 15/01/2006, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo