On Friday 08 February 2002 22:29, Denis Bucher wrote:
> >Est-il possible d'�crire du "binaire" en stdout avec php ? Les commandes
> >fwrite et fputs sont faites pour manipuler des strings, mais le binaire...
>
> Et des strings de binaire �a marche pas ?

Oui, mais un string est un string et toutes les fonctions de manipulation de 
strings consid�rent qu'un NULL termine ce string. Ce qui est normal ! Il 
manque la possibilit� d'�crire et lire des buffers comme avec la fonction 
read/write. Les fonctions fread/fwrite de php sont inutiles (dans ce cas) car 
elles se comportent comme gets/puts.


> Notez que si length est fourni, alors l'option de configuration
> magic_quotes_runtime sera ignor�e, et les slash seront conserv�s.\

Oui, mais quand je dis "binaire", je pense � un buffer qui peut contenir des 
NULLs. Comme les seules fonctions � disposition sont fread/fwrite pour mon 
socker, je ne peux pas lire l'int�gralit� de mon buffer si celui-ci contient 
des NULLs (et il en contient).

Bref, le seul moyen consiste � encoder le binaire pour s'assurer que le 
buffer transmis ne contient aucun NULL, et � d�coder de l'autre c�t�. 

J'ai pomp� le code C d'encodage Base64 de php pour l'inclure dans mon 
programme. Ainsi je peux �tablir ma connection socket, r�cup�rer du bainaire 
encod� par un programme C et le d�coder avec les fonctions standards de php.
L'expansion de la taille du buffer est d'environ 30%. A mon avis, je ne vois 
pas d'autre solution.

Merci pour ton aide

Daniel


--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à