It seemed that it was Putty itself that wouldn't work for me (don't ask me
why).
So I used Telnet and it worked.
After having my advicor (this is a education project) visiting me we found
out why that passthru() function didn't work.
It's very simple really, passthru() doesn't allow spaces in paths so
"C:\program files\etc." becomes "C:\program" => false path.
Removing the application (htmldoc.exe) to "C:\" instead did the job.

For anyone else having same problems this is the correct way to type it (my
example):

<?
function topdf($filename, $options = "") {
    header("Content-Type: application/pdf");
    flush();
    passthru("C:\htmldoc -t pdf14 --quiet --jpeg size A4 --webpage $options
\"$filename\"");
}
?>

This function now works and sends the result pdf directly to the browser.

Thanks for your time Court, I wouldn't have thought of using Telnet myself
:)

~ Sviss

"Court Shrock" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> To explain the 400 bad request, you most likely had a typo when you typed
in
> the HTTP request.  The request is case-sensitive and very particular.
Most
> likely, the "Host: localhost" portion of the request messed up somehow.
>
> When you get a "HTTP/1.1 200 OK" response, that means that the webserver
> accepted the request and will process your request.  In order to test
> whether or not the passthru function is doing things properly, you are
> verifying what is being sent to the browser by simulating what the browser
> would send to your webserver and then what the browser is getting in
> response.  It will all start to make sense when you start seeing your
files
> output--of course, in the request that I had you type, I assumed the file
> that returns the pdf is named "index.php" or whatever file your webserver
> will retrieve when it gets a root "/" request.  If this is not the case,
you
> need to replace the "GET / HTTP/1.1" line with "GET /yourfile.php
HTTP/1.1"
> or even "GET /yourfile.php?var1=whatever__yougettheidea HTTP/1.1".
>
> passthru is working properly if you see something like:
> HTTP/1.1 200 OK
> Date: Mon, 25 Feb 2002 23:20:35 GMT
> Server: Apache/1.3.20 (Unix) PHP/4.0.6 mod_ssl/2.8.4 OpenSSL/0.9.6
> X-Powered-By: PHP/4.0.6
> Transfer-Encoding: chunked
> Content-Type: application/pdf
>
> [lots of binary data]
>
> it isn't working if you see something like this:
> HTTP/1.1 200 OK
> Date: Mon, 25 Feb 2002 23:20:35 GMT
> Server: Apache/1.3.20 (Unix) PHP/4.0.6 mod_ssl/2.8.4 OpenSSL/0.9.6
> X-Powered-By: PHP/4.0.6
> Transfer-Encoding: chunked
> Content-Type: text/html
>
> <html>some stupid html, or nothing at all</html>
>
> in which case, I would try a different method to verify that data is
> properly passing between php and htmldoc.exe.
>
> I hope this has addressed some of the confusion.
> Court
>
> > -----Original Message-----
> > From: Sviss Cobazor [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, February 25, 2002 5:12 PM
> > To: [EMAIL PROTECTED]
> > Subject: Re: [PHP-WIN] passthru() on Win98 ??
> >
> >
> > I followed your instructions and got:
> >
> > HTTP/1.1 400 bad request
> > > Date: Tue, 26 Feb 2002 01:05:57 GMT
> > > Server: Apache/1.3.20 (Win32)
> > > Connection: close
> > > Content-Type: text/html charset=iso-8859-1
> >
> > ... And then the same in html source ... (in the putty window)
> >
> > So I didn't get what was expected but either way I'm not sure
> > what to do if
> > I did.



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

Reply via email to