PHP :: Bug #41989 :: move_uploaded_file & relative path
| Bug #41989 | move_uploaded_file & relative path | ||||
|---|---|---|---|---|---|
| Submitted: | 2007-07-13 09:46 UTC | Modified: | 2007-07-19 15:50 UTC | ||
| From: | gerome dot fournier at infomaniak dot ch | Assigned: | |||
| Status: | Closed | Package: | Filesystem function related | ||
| PHP Version: | 5.2.3 | OS: | Debian sarge | ||
| Private report: | No | CVE-ID: | None | ||
[2007-07-13 09:46 UTC] gerome dot fournier at infomaniak dot ch
Description: ------------ The function move_uploaded_file does not work if the destination path is a relative path. The function returns TRUE, but the file is not moved at all. If I replace the following line: $dest_file = "./tmp/test.txt"; by: $dest_file = getcwd() . "/tmp/test.txt"; then everything works as expected. In the reproduce code, I provide the HTML form used to upload a file, and the PHP code to process the uploaded file. PHPINFO of the server running this script is available here: http://imu120.infomaniak.ch/phpinfo.php Reproduce code: --------------- <html> <form enctype="multipart/form-data" METHOD="POST" action="upload.php"> <input type="file" name="import_file"/> <input type="submit" name="submit"/> </form> </html> <?php if (is_uploaded_file($_FILES["import_file"]["tmp_name"])) { $dest_file = "./tmp/test.txt"; if (move_uploaded_file($_FILES["import_file"]["tmp_name"], $dest_file)) { // check the uploaded file has really been moved or not if (! file_exists($dest_file)) echo "ERROR: uploaded file not moved as $dest_file"; else echo "OK: uploaded file moved as $dest_file"; } } ?> Expected result: ---------------- OK: uploaded file moved as ./tmp/test.txt Actual result: -------------- ERROR: uploaded file not moved as ./tmp/test.txt
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits