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

  FORUM HardWare.fr
  Programmation

  [PHP] pourquoi ca marche pas???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] pourquoi ca marche pas???

n°92091
IvanleFou
Posté le 22-01-2002 à 19:40:20  profilanswer
 

J'esssais de recuperer une chaine de caracteres sur un page web mais ca marche pas:
 
Ce script marche:
if(!$file) {  
  echo "<p>Impossible d'ouvrir le fichier</p>.\n";  
  exit;
   }
while (!feof($file)) {
    $line = fgets($file, 1024);
    if (eregi("<title>(.*)</title>", $line, $out)) {
      $result = $out[1];
      break;
    }
  }
 
Par contre celui-la pas moyen de le faire marcher, il retourne rien:
if(!$file) {  
  echo "<p>Impossible d'ouvrir le fichier</p>.\n";  
  exit;
   }
while (!feof($file)) {
    $line = fgets($file, 1024);
    if (eregi("Results Received</td><td>(.*)</td>", $line, out)) {
      $result = $out[1];
      break;
    }
  }
 
Voici un extrait de la page web. je veux recuperer la valeur en gras:
</a>
</td>
</tr>
<tr>
<td>
Results Received</td>
<td>
9948
</td>
</tr>
<tr>
<td>
 
Quelqu'un peut m'aider?

 

[edtdd]--Message édité par IvanleFou--[/edtdd]

mood
Publicité
Posté le 22-01-2002 à 19:40:20  profilanswer
 

n°92098
stef_dober​mann
Personne n'est parfait ...
Posté le 22-01-2002 à 19:55:25  profilanswer
 

c normal, cherche un motif ki n'existe pas!!
 
essai ca ou un truc du genre :
 
egi("Results Received</td>.*<td>(.*)</td>
ou
egi("Results Received</td>[\n\r]<td>(.*)</td>
 
enfin tu voi ce ke je veux dire :??:


---------------
Tout à commencé par un rêve...
n°92104
IvanleFou
Posté le 22-01-2002 à 20:08:34  profilanswer
 

pkoi tu dis que le motif n'existe pas?
 
C'est parce que je lui ai pas indique les sauts de ligne?
 
Je l'ai po fait car je sais po comment faut faire!

n°92171
stef_dober​mann
Personne n'est parfait ...
Posté le 22-01-2002 à 22:31:06  profilanswer
 

c pour ca que j'ai ecris ca :
 
egi("Results Received</td>.*<td>(.*)</td>  
ou  
egi("Results Received</td>[\n\r]<td>(.*)</td>


---------------
Tout à commencé par un rêve...
n°92340
IvanleFou
Posté le 23-01-2002 à 12:38:10  profilanswer
 

j'ai essaye toutes les combinaisons avec \n et \r mais rien a faire :cry:

n°92344
gizmo
Posté le 23-01-2002 à 12:45:15  profilanswer
 

et si tu essayais avec les expressions régulières perl, car elles,  elles permettent le pattern sur plusieurs lignes.

n°92377
IvanleFou
Posté le 23-01-2002 à 14:01:13  profilanswer
 

ben le perl j'en ai jamais fait, je connais pas du tout.
 
Sinon j'ai compris pkoi ca peut pas marcher. Tout simplement car ds ma variable $line il ne pas pas y avoir simultanement le texte qui precede le nb que je veux recup et le nb lui meme. Car entre les 2 ya des sauts de lignes. Et comme la fonction fgets recupere une chaine de caractere jusqu'au saut de ligne...
 
C grille koi :(

n°92380
FLY LM
Posté le 23-01-2002 à 14:14:20  profilanswer
 

IvanleFou a écrit a écrit :

ben le perl j'en ai jamais fait, je connais pas du tout.
 
Sinon j'ai compris pkoi ca peut pas marcher. Tout simplement car ds ma variable $line il ne pas pas y avoir simultanement le texte qui precede le nb que je veux recup et le nb lui meme. Car entre les 2 ya des sauts de lignes. Et comme la fonction fgets recupere une chaine de caractere jusqu'au saut de ligne...
 
C grille koi :(  




 
Tu peux donner un exemple de fichier à traiter, c'est toujours une valeur numérique qui est à récuperer ??
 
Merci.

n°92552
IvanleFou
Posté le 23-01-2002 à 19:05:23  profilanswer
 

Bon alors voici la page que je veux traiter:
http://www.multimania.com/bestofti92/exemple.htm
 
Et je veux pouvoir recup les valeurs result received, total CPU time...

n°92559
bozocarzu
Posté le 23-01-2002 à 19:15:03  profilanswer
 

esais sa
 
if(!$file) {  
 echo "<p>Impossible d'ouvrir le fichier</p>.\n";  
 exit;
  }
while (!feof($file)) {
   $line = fgets($file, 1024);
   if (eregi("Results Received<\/td>[\\n\\r]<td>(.*)<\/td>", $line, out)) {
     $result = $out[1];
     break;
   }
 }

 

[edtdd]--Message édité par bozocarzu--[/edtdd]

mood
Publicité
Posté le 23-01-2002 à 19:15:03  profilanswer
 

n°92611
IvanleFou
Posté le 23-01-2002 à 22:06:56  profilanswer
 

Nan marche tjs pas. A mon avis ca peut pas marcher comme ca.
 
J'explore une autre soluttion. en utilisant le fonction fgetss. Elle est similaire a fgets a par qu'elle supprime les balises html. Si l'on copie la page html ds un fichier avec cette fonction et en supprimant les sauts de ligne apres a mon avis ca doit etre galette pour en recuperer le contenu.
 
Pbr: c bcq plus lourd a faire.

n°92615
FLY LM
Posté le 23-01-2002 à 22:13:10  profilanswer
 

IvanleFou a écrit a écrit :

Nan marche tjs pas. A mon avis ca peut pas marcher comme ca.
 
J'explore une autre soluttion. en utilisant le fonction fgetss. Elle est similaire a fgets a par qu'elle supprime les balises html. Si l'on copie la page html ds un fichier avec cette fonction et en supprimant les sauts de ligne apres a mon avis ca doit etre galette pour en recuperer le contenu.
 
Pbr: c bcq plus lourd a faire.  




 
Je viens de voir l'exemple, je suis dessus, je donne bientôt la soluce...
 
@+

n°92636
IvanleFou
Posté le 23-01-2002 à 22:39:33  profilanswer
 

fly LM a écrit a écrit :

 
 
Je viens de voir l'exemple, je suis dessus, je donne bientôt la soluce...
 
@+  




 
Merci c sympa

n°92640
FLY LM
Posté le 23-01-2002 à 22:44:54  profilanswer
 

<?php
 $file = 'exemple.html';
 $_get = '';
 
 if($fp = fopen($file,"r" ))
 {
  while(!feof($fp))
  {
   $_get .= fgets($fp, 1024);
 
  }
  fclose($fp);
 }
 else
 {
  echo 'Impossible d\'ouvrir le fichier '.$file;
 }
 
 if(preg_match("/received[^\<]+?<\/td>[^\<]+?<
td>([^\<]+?)<\/td>/i",$_get,$reg))
 {
  echo 'Result : '.$reg[1];
 }
 else
 {
  echo 'Pas de reconnaissance';
 }
 
?>

n°92646
IvanleFou
Posté le 23-01-2002 à 22:49:41  profilanswer
 

oula c'est koi c truc de fou!!? :ouch:  :heink:

n°92647
FLY LM
Posté le 23-01-2002 à 22:50:42  profilanswer
 

IvanleFou a écrit a écrit :

oula c'est koi c truc de fou!!? :ouch:  :heink:  




 
Une RegExp :lol: :lol:

n°92651
IvanleFou
Posté le 23-01-2002 à 22:56:44  profilanswer
 

heuuu... et ca marche chez toi?
 
Moi ca me sort: "Pas de reconnaissance"

 

[edtdd]--Message édité par IvanleFou--[/edtdd]

n°92653
FLY LM
Posté le 23-01-2002 à 23:00:07  profilanswer
 

IvanleFou a écrit a écrit :

heuuu... et ca marche chez toi?
 
Moi ca me sort: "Pas de reconnaissance "Pas de reconnaissance"  




 
Oui ça marche  
 
Je reteste...

n°92654
FLY LM
Posté le 23-01-2002 à 23:03:10  profilanswer
 

J'ai carrement mis :
 
$file = 'http://www.multimania.com/bestofti92/exemple.htm';
 
et cela me sort bien le résultat...

n°92655
IvanleFou
Posté le 23-01-2002 à 23:03:26  profilanswer
 

pourtant j'ai fais un copier/coller: http://www.multimania.com/bestofti92/essai.php3

 

[edtdd]--Message édité par IvanleFou--[/edtdd]

n°92664
FLY LM
Posté le 23-01-2002 à 23:22:43  profilanswer
 

Dans le doute je l'ai mis chez Free :
 
http://fly.captain.free.fr/test/
 
Ca marche.

n°93396
IvanleFou
Posté le 25-01-2002 à 16:03:49  profilanswer
 

est ce que ca pourrait etre multimania qui ait desactive une fonction et pas free?
 
parce que moi ya rien a faire :cry:

n°93403
FLY LM
Posté le 25-01-2002 à 16:21:40  profilanswer
 

IvanleFou a écrit a écrit :

est ce que ca pourrait etre multimania qui ait desactive une fonction et pas free?
 
parce que moi ya rien a faire :cry:  




 
fait un phpinfo(); tu verras bien...
Cela m'étonne, y-a rien de bien méchant dans le script.

n°93415
IvanleFou
Posté le 25-01-2002 à 17:08:04  profilanswer
 

ben alors je sais po car j'ai fais un copier/coller de ton script ds un fichier a l'extension php3. :??:

mood
Publicité
Posté le   profilanswer
 


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

  [PHP] pourquoi ca marche pas???

 

Sujets relatifs
[PHP] Ben l'authentification http par php ca marche pas chez free .??[PHP] Un compteur qui marche pas
[PHP] Setcookie marche chez free?[PHP] comment ça marche "include" ?
[PHP] Expressions régulières, comment ça marche?[PHP] Comment ça marche les sessions?
[PHP] pourquoi la fonction filemtime ne marche que sur les .php3 ???[PHP] - [Newbie] - Pourquoi ke ca marche pas
[PHP] ça marche sous Win NT?[PHP + Access] "odbc_num_rows" ne marche pas
Plus de sujets relatifs à : [PHP] pourquoi ca marche pas???


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