[PhP] lire une partie d'une ligne

Résolu
azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   -  
azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous,

Je suis en train de faire un script php qui ouvre une page web, jusqu'ici, aucoun problème.
Cette page Web contient une ligne que voici :

Le nombre aléatoire pour valider ta réponse est : 1041691507


il faut que je receuille uniquement le nombre, deja la, je sais pas comment m'y prendre. J'ai bien pensé aux fonction fgets et fread, mais elles ne me premettent pas de faire ce que je veux je crois...

Ensuite, il faut que je renvoit ce nombre par methode GET sur une autre page... J'ai donc besoin d'utiliser un forumlaire, mais je vois pas comment mon scirpt peut remplir ce formulaire... =/

J'espère que quelqun pourra m'aider et au moins répondre a une partie de mon problème...

Bonne soirée a tous

Azerty
Configuration: Windows XP
Firefox 3.0

9 réponses

  1. Kilian
     
    Salut,

    Il suffit que tu lises le contenu de ton fichier avec file_get_contents
    Puis tu crées un tableau qui contient ce qu'il y a avant les deux points, puis ce qu'il y a après avec explode
    0
  2. Kilian
     
    Dans ton cas ça donnerais:
    $fichier=file_get_contents("ton_fichier.html");
    $tab = explode(":", $fichier);
    $nombre = $tab[1];
    
    0
  3. azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   75
     
    Euh, j'ai donc essayé, votre solution, mais voila ce qu'il se passe :

    La fonction file_get_contents semble ouvrir ma page. Je receuille le fameux nombre comme ceci :

    		$nombre = 0;		
    		for($i = 1; $i < count($tab) - 1; $i++)
    		{
    			$nomber*=10;
    			$nombre += $tab[i];
    		}


    Mais le Hic, c'est que la page en question reste ouverte, or, elle ne mintéresse pas. un fclose ni fait rien...

    Et un echo de mon nombre ne semble pas marcher non plus, je ne sais pas pourquoi... :(

    Vous voulez le code ?
    0
  4. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Mais tu as pris mon exact? Ca fait quoi si tu fais:
    var_dump($tab);

    Et qu'est ce que tu entends par le fait que ton fichier reste ouvert?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   75
     
    Bah voila le code entier que je te commente :

    		
    
    $fichier = file_get_contents("https://www.newbiecontest.org/epreuves/prog/prog1.php");
    // varibale fichier contenant la ligne de cette page Web.
    
    $tab = explode(":", $fichier);
    //tableau contenant ce qu'il se trouve après les ':' (tab[0] est un espace.)
    
    $nombre = 0;		
    for($i = 1; $i < count($tab) - 1; $i++)
    {
    	$nomber*=10;
    	$nombre += $tab[i];
    }
    //Recupération du nombre selon ce qu'il se trouve dans le tableau
    
    echo $nombre;
    
    var_dump($tab);
    


    Voila, en fait, la fameuse page ("https://www.newbiecontest.org/epreuves/prog/prog1.php") génère un nombre aléatoire après les ':'.

    Mais une fois mon script effectué, Ce qu'il se passe, c'est que je suis sur cette page, et rien d'autre. Je n'ai demandé aucun affichage du contenu de lapage hormis laffichage de $nombre. =/
    0
  7. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Peut être que quand tu vas sur cette page avec ton navigateur ça marche. Mais pour quelqu'un qui n'est pas loggé sur le site, il n'y a qu'un message d'avertissement. Donc forcément un appel à file_get_contents ne peut pas marcher puisqu'il n'envoie pas de cookie comme le ferait le navigateur de quelqu'un de loggé sur le site.

    Donc là je pense qu'il faudrait utiliser des fonctions plus élaborées comme les fonctions curl pour d'abord te logger puis consulter ta page. Les fonctions curl conservent les cookies.
    https://www.php.net/manual/fr/ref.curl.php
    0
  8. azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   75
     
    Je lis les docs, et je t'en reparle ;)

    Merci beaucoup.
    0
  9. azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   75
     
    Bon, je m suis penché sur mon problème, jarrive a renvoyer les valeurs dans l'url sans problème a priori.

    seul Hic, jessaye de lire la page pour reccueillir le nombre, mais cela ne semble pas marcher :

    Voici l'affichage de la page ou je dois reccueillir le nombre ainsi que mon scirpt :

    Le nombre aléatoire pour valider ta réponse est : 1222386528


       		$fichier = file_get_contents("https://www.newbiecontest.org/epreuves/prog/prog1.php");
    		$tab = explode(":", $fichier);
    
    		$nombre = 0;		
    		for($i = 1; $i < count($tab) - 1; $i++)
    		{
    			$nomber*=10;
    			$nombre += $tab[i];
    		}
    		
    		var_dump($tab);
    0
  10. azerty0 Messages postés 1270 Date d'inscription   Statut Membre Dernière intervention   75
     
    affichage du var_dump :
    array(1) { [0]=>  string(166) "
    0