www.php.net/popen ? ... or am I missing something?
On Fri, Jul 13, 2001 at 07:52:51PM -0400, Jeff Hill wrote:
> Don Read wrote:
> > On 13-Jul-01 Jeff Hill wrote:
> > > Don Read wrote:
> > >> On 13-Jul-01 Jeff Hill wrote:
> > >> > I've tried everything I can to pipe a string with mime content to
> > >> > metamail, but it fails in every variation of:
> > >> >
> > >> > exec("echo $mime_string | /usr/bin/metamail -d -q -r -w -x -y ",
> > >> > $met_res) ;
> > >>
> > >> what about "/bin/echo ..."
> > >
> > > Nope, but I do appreciate the thought. Using "/bin/echo" just results in
> > > $met_res becoming an empty array, as does my example string.
> > >
> >
> > Huh ?
>
>
> > $cmd='/bin/echo' ." $mime_string | /usr/bin/metamail -d -q -r -w -x -y ";
> > echo ' cmd is:<br>', $cmd, '<p>';
> > fpassthru($cmd);
>
>
> Well, I really do appreciate the help; maybe I'm misunderstanding
> something. Using your statement above and executing the php script from
> bash, I first get the results of your echo statement:
>
> cmd is:<br>/bin/echo
> . . . then the $mime_string, and then on the last line,
> | /usr/bin/metamail -d -q -r -w -x -y <p><br>
>
> After your echo statement, the fpassthru($cmd) results come back:
>
> <b>Warning:</b> Supplied argument is not a valid File-Handle resource in
> <b>./mimescript_test.php</b> on line <b>9</b><br>
>
> The entire contents of this mimescript_test.php are:
> ---------------------------------------------------
> #!/usr/local/bin/php -q
> <?php
>
> $fp0 = fopen('php://stdin','r') or die("couldnt open stdin");
> while(!feof($fp0)) {
> $mime_string .= fgets($fp0,4096);
> }
> $cmd='/bin/echo' ." $mime_string | /usr/bin/metamail -d -q -r -w -x -y
> ";
> echo ' cmd is:<br>', $cmd, '<p>';
> fpassthru($cmd);
> ?>
> ----------------------------------------------------
>
> As it seems fpassthru is supposed to work with the file pointer rather
> than string, I did try using $fp0 rather than $mime_string, but I got
> "not a valid File-Handle resource".
>
> If I substitute exec for fpassthru and add a $return to capture what
> comes back, I get an empty array (I get a response of "Array" when
> attempting to echo the $return variable, when I echo $return[0], etc., I
> get nothing.
>
> If I substitute system for fpassthru, I get only "127" when I echo the
> $return.
>
> I'm not the expert, but it certainly seems the problem lies in getting
> the /bin/echo command pipe the string to metamail, and I'm not certain
> how to make it do so.
>
> Regards,
>
> Jeff Hill
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
--
Hank Marquardt <[EMAIL PROTECTED]>
http://web.yerpso.net
Web & Database Development in PHP, MySQL/PostgreSQL
Small Office Networking Solutions - Debian GNU/Linux & FreeBSD
PHP Instructor - HTML Writers Guild <http://www.hwg.org>
*** PHP II "The Cool Stuff" starts July 16, 2001
*** http://www.hwg.org/services/classes/p181.1.html
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]