我正在尝试使用html表单和PHP制作上传脚本,我看到很多人使用move_uploaded_file
但我无法弄清楚它的作用,我环顾四周和所有其他网站对我来说太复杂了。有人可以为我“愚蠢”一点吗?
我看到的一个例子:
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
也有人可以向我解释$_FILES
吗?
答案 0 :(得分:2)
move_uploaded_file - 将上传的文件移至新位置
此函数检查以确保filename指定的文件是 一个有效的上传文件(意思是它是通过PHP的HTTP POST上传的 上传机制)。如果文件有效,它将被移动到 目的地给出的文件名。
如果有任何机会,这种检查尤其重要 任何完成上传文件的内容都可以将其内容透露给 用户,甚至是同一系统上的其他用户。
您需要帮助的Manual中的哪一部分?
答案 1 :(得分:0)
PHP手册中的通过HTTP POST方法上传到当前脚本的关联项目数组。
bool move_uploaded_file ( string $filename , string $destination )
此函数检查以确保filename指定的文件是有效的上载文件(意味着它是通过PHP的HTTP POST上传机制上传的)。如果文件有效,它将被移动到目的地给出的文件名。
你可以像这样使用它:
if(move_uploaded_file($_FILES['picture']['tmp_name'], './uploads/'.$_FILES['picture']['name']))
echo 'File successfully uploaded';
else
echo 'File could not be uploaded';
$_FILES['picture']['tmp_name']
:
上传文件存储在服务器上的文件的临时文件名。
$_FILES['picture']['name']
:
客户端计算机上文件的原始名称。
有关详细信息,请查看POST Method Uploads
答案 2 :(得分:0)
$ _ FILES是一个超级全局,很像$ _GET或$ _POST,它存储有关上传文件的信息。
如果您的上传输入表单元素的名称是'myfile',那么在上传后您将有一个辅助数组$ _FILES ['myfile']存储有关上传文件的所有数据。要了解它,只需var_dump()它:
var_dump($_FILES['myfile']);
所有上传的文件通常首先上传到/ tmp目录(或者在php.ini文件中为此目的设置的任何目录)。在对文件进行一些完整性检查之后(比如测试正确的mime类型),您需要将文件移动到它的最终目的地。这就是move_uploaded_file()函数的目的。
在这种情况下,$ _FILES ['userfile'] ['tmp_name']是上传文件的临时文件路径,$ uploadfile应该存储文件的最终路径。