IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Conversion d'un stream en string.


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Conversion d'un stream en string.
    Bonjour,

    Je reçois un stream que je souhaiterais convertir en string, seulement l'utilisation de stream_get_contents ne me renvoie pas ce que je veux :

    D'abord j'ai vérifier que ma variable est un stream :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo get_resource_type($this->ressource)
    // renvoie bien stream

    Puis lorsque j'utilise
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo stream_get_contents($this->ressource , $x)
    Si $x est trop petit il me fait télécharger la pages, sinon il ne me renvoie rien ( page introuvable ).

    voici le code :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public function login() {
    	$this->ressource = $this->start();
    	$this->sendRequestXML($this->ressource, self::$xmlLogin);
    	//echo get_resource_type($this->ressource);
    	echo stream_get_contents($this->ressource,42);
    }
     
    public function start() {
    	$options = array('ssl'=>array('local_cert'=>self::$cert, 'passphrase'=>self::$passePhrase));
    	$context = stream_context_create($options);
    	$this->ressource = stream_socket_client('ssl://'.$this->host.':'.$this->port, $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
    	if (!$this->ressource) {
    		throw new Exception("CANNOT CREATE FLOW SSL: $errno - $errstr");
    	}
    	else{
    		return $this->ressource;
    	}
    }

    J'ai essayé de convertir en string d'une autre façon, elle fonctionne mais seulement dans certains cas.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     
    public function toStringResponseXML($flux){
    	$data = $this->fullread($flux, 4);
    	$count = unpack('N', $data);
    	$count = $count[1];
    	$buffer = $this->fullread($flux, $count - 4);
    	return $buffer;
    }
     
    public function fullread($flux, $count){
    	$memocount = $count;
    	$buffer = "";
    	while ($count > 0) {
    		$data = fread($flux, $count);
    		$count -= strlen($data);
    		$buffer .= $data;
    		if($memocount==$count) return $buffer; // juste pour eviter que cela rentre dans une boucle infinie.
    	}
    	return $buffer;
    }

    Si je fait un fread sur $this->ressource , alors il me télécharge aussi la page.

    Si quelqu'un à une idée.

  2. #2
    Candidat au Club
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Up

    Donc en fait je pense que dans le stream qu'il m'est retourné, a la conversion en string il y a une part de la chaine qui est en fait du binary code qui me fait dl la page.

    En utilisant juste un fread , puis une preg_match ( c'est une très sale façon de faire) j'arrive a avoir le résultat que je veux.

    Du coup quelqu'un a une idée pour résoudre ça plus proprement ?

Discussions similaires

  1. conversion de la date en string
    Par shoupinou dans le forum BIRT
    Réponses: 8
    Dernier message: 06/12/2007, 08h06
  2. conversion d'un Integer en String
    Par fredonouille dans le forum Langage
    Réponses: 2
    Dernier message: 09/06/2007, 23h58
  3. conversion d'un tableau de string en tableau de file
    Par sroux dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 01/12/2006, 11h19
  4. [C#] Conversion d'un char[] en string.
    Par nutball dans le forum Windows Forms
    Réponses: 2
    Dernier message: 25/07/2006, 10h27
  5. Erreur de conversion de type Null en String
    Par navis84 dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/07/2005, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo