Re: PHP4 Bug/Feature? File upload variables not set in HTTP_POST_VARS

From: Date: Wed, 22 Nov 2000 01:36:22 +0000
Subject: Re: PHP4 Bug/Feature? File upload variables not set in HTTP_POST_VARS
References: 1  Groups: php.windows 
Request: Send a blank email to php-windows+get-4034@lists.php.net to get a copy of this message
Uploaded files are stored in $HTTP_POST_FILES[] array since PHP4.0.2, read http://www.php.net/manual/features.file-upload.php Pavel ----- Original Message ----- From: "Ignatius Teo" <iteo@scu.edu.au> To: <php-windows@lists.php.net> Sent: Wednesday, November 22, 2000 2:05 AM Subject: [PHP-WIN] PHP4 Bug/Feature? File upload variables not set in HTTP_POST_VARS > Hi all, > > I'm running both PHP3.0.16 & PHP4.04dev on Win98 with Apache 1.3.12. > > I used to be able to access the file upload variables as part of the $HTTP_POST_VARS globals, but now my scripts are broken because this is no longer the case. > > PHP3.0.16 sets the file upload variables in $HTTP_POST_VARS - except for $HTTP_POST_VARS[$userfile."_type"], ie. one could previously under PHP3 access $HTTP_POST_VARS["MyFile_name"] and $HTTP_POST_VARS["MyFile_size"]. > > Is this a bug is PHP4, or a "feature"? Can we have these returned in HTTP_POST_VARS? > > > Ignatius > PS: Some code is attached below to demonstrate the problem. > Notice what gets returned by $HTTP_POST_VARS running under both PHP3 and PHP4 > ============================================================== > > <?php > $upload_dir = "d:/Temp/"; > file://$enctype = "application/x-www-form-urlencoded"; > $enctype = "multipart/form-data"; > > if ($REQUEST_METHOD=="POST") { > print "\$HTTP_POST_VARS returned:<BR>"; > if (is_array($HTTP_POST_VARS)) { > while (list($key,$val) = each($HTTP_POST_VARS)) { > print "[$key] = $val<br>\n"; > } > } else { > print "$HTTP_POST_VARS<br>\n"; > } > > print "Now the actual variables set are:<BR>"; > print "MyFile = $MyFile<BR>"; > print "MyFile_name = $MyFile_name<BR>"; > print "MyFile_size = $MyFile_size<BR>"; > print "MyFile_type = $MyFile_type<BR>"; > > $destFile = $upload_dir.basename($MyFile_name); > echo "\$destFile=$destFile<BR>\n"; > if (!copy($MyFile,$destFile)) { > echo "Error uploading $MyFile to $destFile"; > } else { > echo "$MyFile uploaded to $destFile"; > } > } else { > ?> > <form enctype="<?php echo $enctype;?>" name="myform" > action="<?php echo basename($PHP_SELF);?>" method="POST"> > <table> > <tr> > <td>File to upload</td> > <td><input name="MyFile" type="file"></td> > </tr> > > <tr> > <td colspan="2"> > <!--input type="hidden" name="MAX_FILE_SIZE" > value="50000"--> > <input name="submit" value="submit" type="submit"> > </td> > </tr> > </table> > </form> > > <?php > } > ?> >

« previous php.windows (#4034) next »