RE: Converting CGI+Perl to PHP Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



$_FILES is blank because the camera does not post the data using a form. PHP
will only load data into $_FILES if the form contains an '<input type=file>'
element.

Rob. 

-----Original Message-----
From: php-objects@xxxxxxxxxxxxxxx [mailto:php-objects@xxxxxxxxxxxxxxx] On
Behalf Of Ali Jamali
Sent: 25 November 2008 09:27
To: php-objects@xxxxxxxxxxxxxxx
Subject: Re:  Converting CGI+Perl to PHP Help

I am wandering why the $_files is blank when the camera sent the image . 

Just have look on that text file :

When I am sending image from HTML page Text file out put is look like this :

__________________________________________________


 Host = localhost

File data = 
 DATA
User-Agent = Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.4)
Gecko/2008102920 Firefox/3.0.4 (.NET CLR 3.5.30729)

File data = 
 DATA
Accept = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

File data = 
 DATA
Accept-Language = en-us,en;q=0.5

File data = 
 DATA
Accept-Encoding = gzip,deflate

File data = 
 DATA
Accept-Charset = ISO-8859-1,utf-8;q=0.7,*;q=0.7

File data = 
 DATA
Keep-Alive = 300

File data = 
 DATA
Connection = keep-alive

File data = 
 DATA
Referer = http://localhost/test/upload_image.htm

File data = 
 DATA
Cache-Control = max-age=0

File data = 
 DATA
Content-Type = multipart/form-data;
boundary=---------------------------16541483331115

File data = 
 DATA
Content-Length = 73071

File data = 
 DATA
_______________    
Host = localhost
User-Agent = Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.4)
Gecko/2008102920 Firefox/3.0.4 (.NET CLR 3.5.30729)
Accept = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language = en-us,en;q=0.5
Accept-Encoding = gzip,deflate
Accept-Charset = ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive = 300
Connection = keep-alive
Referer = http://localhost/test/upload_image.htm
Cache-Control = max-age=0
Content-Type = multipart/form-data;
boundary=---------------------------16541483331115
Content-Length = 73071
_______________    
Host: localhost <br />
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.4)
Gecko/2008102920 Firefox/3.0.4 (.NET CLR 3.5.30729) <br />
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 <br
/>
Accept-Language: en-us,en;q=0.5 <br />
Accept-Encoding: gzip,deflate <br />
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 <br />
Keep-Alive: 300 <br />
Connection: keep-alive <br />
Referer: http://localhost/test/upload_image.htm <br />
Cache-Control: max-age=0 <br />
Content-Type: multipart/form-data;
boundary=---------------------------16541483331115 <br />
Content-Length: 73071 <br />
_______________    
FileName = Array
_______________    
___________________    

File data = 
 DATA
___________________    
_________________________________________________________________

When I am sending image from Camera  Text file out put is look like this :

Host = 192.168.11.40

File data = 
 DATA
User-Agent = Axis shttpclient $Revision: 1.45 $

File data = 
 DATA
Content-Type = image/jpeg

File data = 
 DATA
Content-Disposition = attachment; filename="image.jpg"

File data = 
 DATA
Content-Length = 35095

File data = 
 DATA
_______________    
Host = 192.168.11.40
User-Agent = Axis shttpclient $Revision: 1.45 $
Content-Type = image/jpeg
Content-Disposition = attachment; filename="image.jpg"
Content-Length = 35095
_______________    
Host: 192.168.11.40 <br />
User-Agent: Axis shttpclient $Revision: 1.45 $ <br />
Content-Type: image/jpeg <br />
Content-Disposition: attachment; filename="image.jpg" <br />
Content-Length: 35095 <br />
_______________    
_______________    
________________________________________________________

My PHP Code is like this now : 



 <?php
$uploaddir = $_SERVER["DOCUMENT_ROOT"] . '/test/live/';
$uploadfile = $uploaddir .$_FILES['FileName']['name'];
$myFile = $_FILES['FileName']['name'].".txt";
$fh = fopen($uploaddir.$myFile, 'w') or die("can't open file");


foreach (getallheaders( ) as $name => $value) {
print($name. "=". $value);
$stringData = "$name = $value\n";
fwrite($fh, $stringData) ;
fwrite($fh, "\r\n");
fwrite($fh, "File data = \r\n");
fwrite($fh, "$HTTP_RAW_POST_ DATA");
fwrite($fh, "\r\n");
echo "<br/>";
}
    
//Host: 192.168.11.40 <br />
//User-Agent: Axis shttpclient $Revision: 1.45 $ <br />
//Content-Type: image/jpeg <br />
//Content-Disposition: attachment; filename="image.jpg" <br />
//Content-Length: 45979 <br />



$stringData = "_______________\t\n";
fwrite($fh, $stringData);

foreach (getallheaders() as $name => $value) {
   print($name."=". $value);
   $stringData = "$name = $value\n";
fwrite($fh, $stringData);
   echo "<br/>";
}

$stringData = "_______________\t\n";
fwrite($fh, $stringData);
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";
     $stringData = "$header: $value <br />\n";
    fwrite($fh, $stringData);
}

$stringData = "_______________\t\n";
fwrite($fh, $stringData);

//echo "<pre>"; print_r($_FILES); echo "</pre>";

foreach ($_FILES as $name => $value) {
   print($name."=". $value);
   $stringData = "$name = $value\n";
fwrite($fh, $stringData);
}

$stringData = "_______________\t\n";
fwrite($fh, $stringData);

if (!move_uploaded_file($_FILES['FileName']['tmp_name'],$uploadfile)) {
    die("Possible file upload attack!\n");
    $stringData = "error\t\n";
fwrite($fh, $stringData);
}

fwrite($fh, "___________________\t\n");

fwrite($fh, "\r\n");
fwrite($fh, "File data = \r\n");
fwrite($fh, "$HTTP_RAW_POST_ DATA");
fwrite($fh, "\r\n");
fwrite($fh, "___________________\t\n");


fclose($fh);

?>


____________________________________________________________















________________________________
From: "Atkinson, Robert" <ratkinson@xxxxxxxxxxxxx>
To: php-objects@xxxxxxxxxxxxxxx
Sent: Tuesday, November 25, 2008 1:14:44 PM
Subject: RE:  Converting CGI+Perl to PHP Help


OK, I found it -
http://uk2.php. net/manual/ en/reserved. variables. httprawpostdata. php

Try adding this to your script :-

foreach (getallheaders( ) as $name => $value) {
print($name. "=". $value);
$stringData = "$name = $value\n";
fwrite($fh, $stringData) ;
fwrite($fh, "\r\n");
fwrite($fh, "File data = \r\n");
fwrite($fh, "$HTTP_RAW_POST_ DATA");
fwrite($fh, "\r\n");
echo "<br/>";
}

-----Original Message-----
From: php-objects@ yahoogroups. com [mailto:php-objects@ yahoogroups. com] On
Behalf Of Atkinson, Robert
Sent: 25 November 2008 08:53
To: php-objects@ yahoogroups. com
Subject: RE:  Converting CGI+Perl to PHP Help

You're code looks fine. I would expect to see the image content after the
'Content-Length' header.

Give me some time to have a look.

Robert. 

-----Original Message-----
From: php-objects@ yahoogroups. com [mailto:php-objects@ yahoogroups. com] On
Behalf Of Ali Jamali
Sent: 25 November 2008 06:21
To: php-objects@ yahoogroups. com
Subject: Re:  Converting CGI+Perl to PHP Help

Hi , 

I just for test my program is working or not I write every thing in the file
. when the camera send the image automatically I am making one txt file and
writing every think I that . Now all time this txt file will coming to the
server and information in side of that is 

************ ********* ********* ********* ********* ********* *********
********* ********
Any opinions expressed in email are those of the individual and not
necessarily those of the company. This email and any files transmitted with
it are confidential and solely for the use of the intended recipient 
or entity to whom they are addressed. It may contain material protected by
attorney-client privilege. If you are not the intended recipient, or a person
responsible for delivering to the intended recipient, be advised that you
have received this email in error and that any use is strictly prohibited.

Random House Group + 44 (0) 20 7840 8400
http://www.randomho use.co.uk
http://www.booksatt ransworld. co.uk 
http://www.kidsatra ndomhouse. co.uk
Generic email address - enquiries@randomhou se.co.uk

Name & Registered Office:
THE RANDOM HOUSE GROUP LIMITED
20 VAUXHALL BRIDGE ROAD
LONDON
SW1V 2SA
Random House Group Ltd is registered in the United Kingdom with company No.
00954009, VAT number 102838980
************ ********* ********* ********* ********* ********* *********
********* ********

    


      

[Non-text portions of this message have been removed]


------------------------------------

Are you looking for a PHP job? Join the PHP Professionals directory Now!
http://www.phpclasses.org/professionals/Yahoo! Groups Links




[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Soap]     [Kernel Newbies]     [Yosemite]     [Yosemite Campsites]

  Powered by Linux