[PhP] lire une partie d'une ligne

Résolu/Fermé
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 - 11 avril 2008 à 21:48
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 - 21 avril 2008 à 17:26
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
A voir également:

9 réponses

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
Dans ton cas ça donnerais:
$fichier=file_get_contents("ton_fichier.html");
$tab = explode(":", $fichier);
$nombre = $tab[1];
0
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 75
13 avril 2008 à 06:51
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
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 avril 2008 à 16:50
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 75
13 avril 2008 à 17:20
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
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 avril 2008 à 17:28
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
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 75
13 avril 2008 à 18:24
Je lis les docs, et je t'en reparle ;)

Merci beaucoup.
0
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 75
21 avril 2008 à 17:24
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
azerty0 Messages postés 1274 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 5 septembre 2013 75
21 avril 2008 à 17:26
affichage du var_dump :
array(1) { [0]=>  string(166) "
0