ID: 10307 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open -Bug Type: HTTP related +Bug Type: Documentation problem Operating System: freebsd 4.2 PHP Version: 4.2.1 New Comment:
Making this a Documentation Problem; I can't find any code that sets PHP_UPLOADED_FILE_NAME, PHP_PUT_FILENAME or other variations, so it seems that the docs at http://www.php.net/manual/en/features.file-upload.put-method.php are just plain wrong. However, it does seem that fopen("php://stdin", "rb") will allow access to that data (but I haven't tried to verify this). Previous Comments: ------------------------------------------------------------------------ [2002-08-25 19:57:56] [EMAIL PROTECTED] Sounds like the data is ending up coming from stdin; try the following code: $data = fopen("php://stdin", "rb"); $destfile = fopen("file_to_overwrite", "wb"); while(!feof($data)) { $chunk = fread($data, 4096); fwrite($destfile, $chunk); } fclose($destfile); fclose($data); This doesn't explain why it doesn't behave as documented, but should be enough to get you going. ------------------------------------------------------------------------ [2002-08-25 12:40:18] [EMAIL PROTECTED] PUT method is used for publishing from HTML editors. But apache brings the data to the script to the stdin stream. So, PHP does not accept any data. And, also, does not set up any variable on that score. ------------------------------------------------------------------------ [2002-08-13 22:43:27] [EMAIL PROTECTED] updating version as per user comments. ------------------------------------------------------------------------ [2002-07-15 03:22:45] [EMAIL PROTECTED] I am using FreeBSD 4.6 and mod_php4-4.2.1_2. I am using curl to send the file. curl -T /kernel http://server/test.dat Interesting thing is that the PHP code is executed and terminated BEFORE the file has completed uploading. Weird. ------------------------------------------------------------------------ [2002-07-14 19:15:57] [EMAIL PROTECTED] I have duplicated this problem with PHP 4.2.1, on a Linux Mandrake system with an Apache 1.3 server. However, instead of a browser, I am using the W3C libbwww sample program, put.c (http://www.w3.org/Library/Examples/put.c). This is about as "official" a PUT command as you can get. For a server script, I have one that is about as simple as you can get. <?php #copy($PHP_UPLOADED_FILE_NAME,"uploaded_file"); print "$PHP_UPLOADED_FILE_NAME"; ?> I've tried many variations, printing out $_POST and $_FILES, and other variables, all with the same empty results. Any new ideas? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/10307 -- Edit this bug report at http://bugs.php.net/?id=10307&edit=1 -- PHP Documentation Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php