How to define the file storage location in PHP FIL

2019-02-26 01:37发布

问题:

In the following script I tried uploading file to tmp folder in htdocs but the file is not moving to that location. How do I define the storage location?

<?php
if ($_FILES["file"]["error"] > 0)
{
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
    echo "Upload:    " . $_FILES["file"]["name"] . "<br />";
    echo "Type:      " . $_FILES["file"]["type"] . "<br />";
    echo "Size:      " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["C:\xampp\htdocs\tmp"];
}

回答1:

$_FILES["file"]["C:\xampp\htdocs\tmp"] shouldn't exist, try instead:

move_uploaded_file($_FILES['file']['tmp_name'], '/path/to/your/upload/directory/' . basename($_FILES['file']['name']));

Bare in mind that this code is insecure if you use it verbatim (as it is), you need to validate the file mime type (with the proper tools) and sanitize the final file name at the very least.



回答2:

well the code you posted isn't moving any file. You miss

move_uploaded_file ( $_FILES["file"]["tmp_name"][$key], 'C:\xampp\htdocs\tmp\new_file.txt' );

http://php.net/manual/en/function.move-uploaded-file.php