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