[PhP] lire une partie d'une ligne

Résolu
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   -  
azerty0 Messages postés 1274 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
A voir également:

9 réponses

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
Kilian
 
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   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
kilian Messages postés 8732 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

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

Posez votre question
azerty0 Messages postés 1274 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
kilian Messages postés 8732 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
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
Je lis les docs, et je t'en reparle ;)

Merci beaucoup.
0
azerty0 Messages postés 1274 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
azerty0 Messages postés 1274 Date d'inscription   Statut Membre Dernière intervention   75
 
affichage du var_dump :
array(1) { [0]=>  string(166) "
0