begin process at 2012 05 30 20:38:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

FIFO ecriture/lecture en php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

FIFO ecriture/lecture en php

vendredi 17 mars 2006 à 15:48:54 | FIFO ecriture/lecture en php

suleyman

bonjour jaimerai savoir comment faire pour Crée un fichier FIFO, ensuite ecrire et lire dans le fichier, en PHP !
tres urgent!
je vous remercie davance !
vendredi 17 mars 2006 à 17:31:56 | Re : FIFO ecriture/lecture en php

malalam

Administrateur CodeS-SourceS
Hello,

sur quelle plateforme...?
vendredi 17 mars 2006 à 17:33:15 | Re : FIFO ecriture/lecture en php

malalam

Administrateur CodeS-SourceS
Enfin bref :
[ Lien ]

sinon, avec les fopen() et dérivés, tu peux peut-être y arriver.
vendredi 17 mars 2006 à 21:59:01 | Re : FIFO ecriture/lecture en php

coucou747

Administrateur CodeS-SourceS
Salut,

FIFO = une pipe ?

comme sous linux :
cat /dev/zero > /dev/hda1 (ne pas essayer...)
ou encore :
ps -ea | grep apache

c'est bien de ça que tu parles ?

posix_mkfifo('var/IrcPipe', 0644) or die('Création de pipe impossible !');

mais bon, je me suis arrété là... j'ai pas réussi à aller plus loin, alors j'ai décidé d'utiliser des fichiers....


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
vendredi 17 mars 2006 à 22:05:47 | Re : FIFO ecriture/lecture en php

suleyman

En effet je dois faire un petit programme en php, qui permet de créer  un fichier FIFO a laide de la fonction
posix_mkfifo()
ensuite deffectuer une ecriture* / lecture

*Par exemple: BONJOUR !
samedi 18 mars 2006 à 02:51:21 | Re : FIFO ecriture/lecture en php

Teclis01

Hum...
J'ai effectué un projet il y a peu et il consistais a utiliser XMMSpipe pour controler XMMS depuis une machine distante.
Pour l ecriture j'ai utilisé directement la fonction shell_exec();
pour la lecture néanmoins, comme je n arrivais pas a utiliser de façon convenable le fopen et le fread car la lecture etait synchrone je suis passé par le C et le PHP... je m explique:
je voulais recuperer le volume sonore ainsi que la balance appliqué au lecteur.
j ai donc utilisé ceci:

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin est un pipe où le processus va lire
   1 => array("pipe", "w"),  // stdout est un pipe où le processus va écrire
   2 => array("file", "/tmp/error-output.txt", "a"), // stderr est un fichier
);

$process = proc_open("/tmp/msg_pipe-out", $descriptorspec, $pipes);
if (is_resource($process)) {
    // $pipes ressemble à :
    // 0 => fichier accessible en écriture, connecté à l'entrée standard du processus fils
    // 1 => fichier accessible en lecture, connecté à la sortie standard du processus fils
    // Toute erreur sera ajoutée au fichier /tmp/error-output.txt

    fwrite($pipes[0], " ");
    fclose($pipes[0]);

    while(!feof($pipes[1])) {
        $pipecontent=fgets($pipes[1], 1024);
                /*Parser Balance*/
                $contentbalance=explode("~",$pipecontent);
                echo $contentbalance[1].$contentbalance[2];
                /*Parser volume*/
                $contentvolume=explode("[",$pipecontent);
                echo $contentvolume[1].$contentvolume[2];             
    }
    fclose($pipes[1]);
    // Il est important que vous fermiez les pipes avant d'appeler
    // proc_close() afin d'éviter un verrouillage.
    $return_value = proc_close($process);
        /*Renvoie 0 si Ok*/
    echo "La commande a retourné $return_value\n";
}
?>

/tmp/msg_pipe-out est le chemin + nom de fichier que j ai utilisé afin d ecrire dans le pipe in et avoir une reponse dans le pipe out

Le programme en C le voici(j avoue qu'il est degeu mais il marche et je n'avais pas spécialement le tps de faire propre)

#include <unistd.h>
#include <sys/time.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


static void send_command(char* s);

static FILE *in, *out;

static void send_command(char* s)
{
    fprintf(out, "%s\n", s);
    //using buffered I/O is okay as long as we tell it when it must send
    fflush(out);
}

int main()
{
    char outpipe[]="/tmp/xmmspipe-out_root.0";
    char inpipe[]="/tmp/xmmspipe-in_root.0";

    int iVolumeLeft, iVolumeRight,iBalance;
        float fRatio;

    out = fopen(inpipe, "w");
    if (!out) {
            fprintf(stderr, "Error: can't open input pipe '%s'\n", inpipe);
            return 1;
    }

    send_command("out on");

    //flush outpipe just in case there is some stale output on it
    send_command("out flush");

    in = fopen(outpipe,"r");
    if (!in) {
            fprintf(stderr, "Error: can't open output pipe '%s'\n", outpipe);
            return 1;
    }
    send_command("report volume");
    fscanf(in,"%d %d", &iVolumeLeft, &iVolumeRight);
        /*Traitement si balance n'est pas centree*/
        if(iVolumeLeft!=iVolumeRight){
            if(iVolumeLeft>iVolumeRight){
                fRatio=1-( (float)iVolumeRight/ (float) iVolumeLeft);
                iBalance=(int)(fRatio*100);
                printf("~-1~%d~\n",iBalance);
            }
            if(iVolumeLeft<iVolumeRight){
                fRatio=1-((float) iVolumeLeft/(float) iVolumeRight);
                iBalance=(int)(fRatio*100);
                printf("~1~%d~\n",iBalance);
            }
        }           
        printf ("[%d [%d [ \n", iVolumeLeft, iVolumeRight);
        fclose(in);
    fclose(out);
  
    return 0;
}

J'espere que cela t aidera...

-------------------------------------------------------------------------------------------------------
          Il vaut mieux poser une question et passer pour bête que le rester toute sa vie



Cette discussion est classée dans : fichier, lecture, php, ecriture, fifo


Répondre à ce message

Sujets en rapport avec ce message

lecture et ecriture d'un fichier text avec php à travert des formulaires [ par cacoucatatonique ] salut à tous, je suis à la recherche d'un moin de generer des fichiers texts afin de sauvegarder des paragraphes de text, voir de les modifiers et mem Ecriture fichier en php [ par flopad ] Salut tout le monde,j'utilise ceci pour écrire dans un fichier excel : $fic = ("..\Annu\Annuaire.xls");  // le fichier doit déjà exister   $file = fop traitement de fichier en php [ par daris ] Bonjour, J'ai un fichier sous ce format14366,1,56.9,704,0.411326    14366,2,56.2,703,0.0322821    14366,3,57.5,688,0.181508    14366,4,57.6,687,0.5997 PB Session php [ par hyipicai ] bonjour a tous et toutes,j'ai un pb avec mes sessions,j'ai une page index avec ce code                  include "connex Modification / lecture fichier par PHP et FTP [ par Mickael33480 ] Bonjours à tous / toutes Je viens vous voir car j'ai une petite question à vous pausez : J'ai deux serveurs 1 Web ou il y as le script et un de fichie PHP - Lecture fichier XML [ par conan76 ] Bonjour,Dans le but d'importer des données d'une structure (ASP.Net/Intranet) à une autre (PHP/Internet)  afin de les exposer à la clientèle, le choix Lecture/Ecriture en PHP avec Samba? [ par Rkk ] Bonjour. J'ai actuellement un projet dont une partie consiste à pouvoir sauvegarder et ouvrir de fiches sur un serveur distant. On m'a conseillé d'uti lecture et traitement d'un fichier log en php [ par fillius ] bonjour tout le mondeje suis entrain de faire un stage et je travail sur une application de gestion de fichier log qui doit être fait completement en modification de fichier php [ par xam49 ] Tout d'abord Bonjour j'aurais besoin d'un peu d'aide concernant la modification de fichier .php et/ou .cssil s'agit des sources de phproxy qui sont a Lecture de code PHP [ par bonheur123 ] Bonjour,s'il vous plait, je voudrais que vous m'appreniez comment lire manuellement un code.Je suppose que cela, il faut connaitre très bien le langag


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,371 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales