On 03/03/2010 13:01, Paul Halliday wrote:
> I need to pipe some data to an external application.
> 
> I have this:
> 
> while ($row = mysql_fetch_array($theData[0])) {
>     $src_ip[] = $row[0];
>     $dst_ip[] = $row[1];
>     $sig_desc[] = $row[2];
> 
>     $rec ++;
>     if ( $rec == $recCount ) {
>             break;
>     }
> }
> 
> for ($i = 0; $i < sizeof($src_ip); $i++) {
>     $tmpResult[] = "$sig_desc[$i],$src_ip[$i],$dst_ip[$i]\n";
> }
> 
> 
> The external program is called like:
> 
> cat results.csv | theprogram outputfilename
> 
> Is there a way mimic this w/o outputting $tmpResult to a file first?
> 
> Thanks.
> 

Hi,

I have used this code to feed data to gpg and read back the encrypted
result, Im sure you can adapt it to your needs.

function Encrypt($data){
        
        # http://www.theoslogic.com/scripts/php-gpg/
        
        $gpg_command="/usr/bin/gpg $parameters";
        
        $errLog = "/tmp/errors.log";
        
        $dspecs = array(
                0=>array("pipe", "r"),
                1=>array("pipe", "w"),
                2=>array("file", $errLog, "a")
        );
        
        $encrypted="";
        $procdata="";
        
        $gpgproc = proc_open($gpg_command, $dspecs, $pipes);
        
        if (is_resource($gpgproc)) {
                fwrite($pipes[0], $data);
                fclose($pipes[0]);
                
                while($procdata = fgets($pipes[1], 1024)) {
                        $encrypted .= $procdata;
                }
                fclose($pipes[1]);
        }
        
        return $encrypted;
}

It works really well.

Regards

Ian
-- 


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to