Retour en début de fichier

bito yep Messages postés 33 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 19 août 2006 - 23 févr. 2006 à 09:12
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 23 févr. 2006 à 12:26
Dans un programme que je développe,

j'utilise un fsockopen, puis, pour renvoyer à l'écran les informations

j'ai une fonction me permettabnt d'éviter les différents caractères spéciaux:

mais je ne parviens pas à faire lire à cette fonction uniquement les
lignes remplies, à chaque fois elle se rend jusqu'en fin de fichier

(temps de chargement de dingues)

et cela me pose le probleme que si j'utilise plusieurs fois cette
fonction le pointeur est en fin de fichier et je ne parvient pas à
entrer ds la boucle me permettant de mémoriser les caractères.



Je souhaiterais donc savoir si il était possible de faire un retour en début de fichier...



merci d'avance

11 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 09:31
Hello,

rewind ($pointeur_fichier);
ou fseek ($pointeur_fichier, 0)
0
bito yep Messages postés 33 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 19 août 2006
23 févr. 2006 à 09:38
je viens d'essayer mais cela me dis que la parametre entré dans rewind n'est pas valide

alors que fsockopen renvoie un pointeur de fichier non ?
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
23 févr. 2006 à 10:56
Salut!
Ca devrait jouer, normalement.... Il est ouvert en quel mode, ton fichier?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
bito yep Messages postés 33 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 19 août 2006
23 févr. 2006 à 10:57
j'ai utilisé fsockopen
0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 11:39
Fais voir ton code ?
0
bito yep Messages postés 33 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 19 août 2006
23 févr. 2006 à 11:45
function read_till($socket)

{

//on initialise la variable $buf

$buf = '';

while (!feof($socket))

{

//on défini les caractère spéciaux qui l'on peut recevoir

$IAC = chr(255);

$DONT = chr(254);

$DO = chr(253);

$WONT = chr(252);

$WILL = chr(251);



//on récupère un caractère

$c = fgetc($socket);



if (!$c)

{

//on l'ignore

//et on passe à la boucle suivant

continue;

}



//$c n'est pas le caractère 255 de la table ascii => ÿ

//le caractère ÿ est présent dans l'entête lors de la connexion telnet

//=>il faut donc l'éviter

if ($c != $IAC)

{

//on ajoute $c à $buf

$buf .= $c;

//et on passe à la boucle suivante

continue;

}



//on récupère à nouveau un caractère

$c = fgetc($socket);



//on évite les caractère spéciaux présent dans l'entête de connexion telnet

if (($c $DO) || ($c $DONT))

{

$opt = fgetc($socket)();

fwrite($this->sock,$IAC.$WONT.$opt);

}

elseif (($c $WILL) || ($c $WONT))

{

$opt = fgetc($socket)();

fwrite($this->sock,$IAC.$DONT.$opt);

}

}

return ($buf);

}





fwrite($sock,"user\r\n");

$retour=read_till($sock);

echo ($retour);

fwrite($sock,"mot de passe\r\n");

$retour=read_till($sock);

echo ($retour);

fwrite($sock,"su -\r\n");

$retour=read_till($sock);

echo ($retour);
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 11:55
il est où le fsockopen () ? et tu veux te déplacer comment dans ce fichier, au juste ?
0
bito yep Messages postés 33 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 19 août 2006
23 févr. 2006 à 11:58
oups j'ai oublié de le mettre.

il est avant le fwrite



je me deplace ds le fichier avec les fgetc de la fonction read_till qui est appelée apres chaque fwrite
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 12:05
Oui ça d'accord, mais je veux dire, ton rzwind, tu veux le mettre où ? A quel moment veux tu retourner au début du fichier ?
0
bito yep Messages postés 33 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 19 août 2006
23 févr. 2006 à 12:08
pour tester j'ai mis mon rewind dans la fonction read_till, apres l'initialisation de $buf



logiquement ca devrait me renvoyer 3 fois la même chose avec quelques lignes supplémentaires à la fin
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 12:26
Essaye le avant l'appel à ta fonction (donc hors fonction).
0
Rejoignez-nous