""Dave Faulkner"" <[EMAIL PROTECTED]> wrote in message
9bb3cf$ck0$[EMAIL PROTECTED]">news:9bb3cf$ck0$[EMAIL PROTECTED]...
> Hi People!,
>
> this seems like an age old question that just doesnt seem to be able to
get
> solved. I too have a problem calling NT programs from within my PHP
script.
> Hoepfull there is a guru out there who will be able to tell me what i am
> doing wrong.
>
> As the subject states, i am running WinNT4, SP6, IIS4, PHP4. I have a web
> page that users can use to upload pictures to my server. This script it
> pasted below
>
> <?
>
> include "header.inc";
> if ($image_name != "") {
> copy("$image", "../aviation/uploads/$image_name") or die ("Couldn't copy
the
> file.");
>
> } else {
>
>  die("You forgot to add a filename");
>
> }
>
> $img_location = "aviation/uploads/$image_name";
>
> $db = mysql_connect("user", "password") or die("Can't connect to
server.");
> mysql_select_db("database", $db) or die("Can't select database.");
>
>
>
> $insert_data = "INSERT INTO table (image, fname, lname, email, location,
> rego, remarks, airline) VALUES ('URL/$image_name', '$fname', '$lname',
> '$email', '$location', '$rego', '$remarks', '$airline')";
>
> mysql_query($insert_data) or die("Couldn't insert data.");
>
> system("echo File has been uploaded! | blat - -s \"$image_name
> uploaded --\" -t $email");
>
> ?>
>
> This php file is called from another HTML file. All this info is passed
into
> the database, and at the same time the image itself is copied to another
> directory on the server. All that works excellently!!!. However, what i
want
> to do is, i want to add some form of compression to the picture (before or
> after doesnt matter) when it is copied to the directory. The idea behind
> this is so that when people come to my web site and query the database on
> pictures, they are compressed a little to save download time.
>
> PROBLEM: I have tried all sorts of things from cjpeg/djpeg to trying to
call
> an expternal program called "autobatchit.exe" with the php file to add
> compression etc.
>
> Below is some of the stuff i have tried:
>
> // exec("I:\Perl\bin\cjpeg.exe -quality 30 -progressive $image_name");
> // exec("c:/autobatchit!/autobatchit.exe");
> // exec("c:\autobatchit!\autobatchit.exe");
> // exec("c:\command.com /k autobatchit.bat" );
>
> And other variations which i have not added. The results are varying. If i
> use "cmd" int he exec() anywhere, the script seems to halt at that point
and
> wont go any further. However all of the above lines result in NOTHING
> happening at all!........if i look at the task manager while i run the
> script, nithing comes up at all in relation to what i am trying to
execute.
>
> SO thats about it!!.............the persont hat solves the problem for me
> gets a free freddo!!!
>
> In all honesty i have tried a lot of different stuff that just doesnt seem
> to work. If anyone can help me out with this i owuld be very appreciative.
I
> have been trying for days to ge tthis working with no luck. It is quite
> possible that i have missed something very simple as i have only been
> working with php (or any coding for that matter) for about two weeks now.
>
> Thanks in advnace for any help anyone can give me
>
> Regards
>
> Dave Faulkner

Dave here is a simple script that calls an batch file the first example does
not work
using double quotes the second example does work using single quotes.
<?
print "<HTML>\r\n";
print "<HEAD>\r\n";
print "<TITLE> EXEC() TEST</TITLE>\r\n";
print "</HEAD>\r\n";
print "<BODY>\r\n";

 exec("D:\Xitami\temp\cleanup.bat", $returnstring,$returnvar);
 print "Return var: ".$returnvar."<BR>\r\n";
 print "Printing output ".count($returnstring)." lines:<BR>";
 print "\r\n";
 while (list($line, $text) = each($returnstring))
 {
  print "[$line] $text<br>";
 }

print "</BODY>\r\n";
print "</HTML>\r\n";
?>
#############
<?
print "<HTML>\r\n";
print "<HEAD>\r\n";
print "<TITLE> New Document </TITLE>\r\n";
print "</HEAD>\r\n";
print "<BODY>\r\n";

 exec('D:\Xitami\temp\cleanup.bat', $returnstring,$returnvar);
 print "Return var: ".$returnvar."<BR>\r\n";
 print "Printing output ".count($returnstring)." lines:<BR>";
 print "\r\n";
 while (list($line, $text) = each($returnstring))
 {
  print "[$line] $text<br>";
 }

print "</BODY>\r\n";
print "</HTML>\r\n";
?>

the .bat file has
del pipe*.*
del *.tmp

as per-perl the single quote say's 'Yes really use this like this'.
in earlier post I said that one has to escape the backslash but this
does not appear to be the case with PHP/Apache.
The two problems I can think of (Not having NT, IIS) are permission settings
in both NT and IIS. try running the EXEC() on something that stays in
/root/webpages/ and see if you get the same results.
I wish I had more cpu time with nt but the only time I have on it is setting
up
permissions for network conections.

hope something clicks for ya soon
have fun I am

Patrick




-- 
PHP Windows 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]

Reply via email to