<html>
<head>
<title>Main Page</title>
</head>
<body>
<h2>Main Page</h2>
<form method="post" action="index.php" enctype="multipart/form-data">
<input type="file" name="filename">
<input type="hidden" name="MAX_FILE_SIZE" value="102400"/>
<input type="submit" value="Upload file">
<br>
<?php
echo $_FILES['filename']['name'];
$uploads_dir = '/uploads';
$tmp_name = $_FILES['filename']['tmp_name'][$key];
$name = $_FILES['filename']['name'][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
?>
</body>
</html>
如何将此文件移至文件夹? 我尝试使用move_uploaded_file 但它最令人感动...(
答案 0 :(得分:2)
使用此
echo $_FILES['filename']['name'];
正如 BrianDriscoll 所指出的,MAX_FILE_SIZE
的声明必须在文件输入字段之前。
<form action = "index.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="102400" />
<input type="file" name="filename" />
<input type="submit" value="Upload file" />
</form>
$ _ FILES ['filename'] ['name'] - name
包含上传用户的原始路径
文件。
$ _ FILES ['filename'] ['tmp_name'] - tmp_name
包含驻留在服务器上的临时文件的路径。该文件应存在于具有临时名称的临时目录中的服务器上。
请参阅此tutorial on Tizag。
答案 1 :(得分:1)
您可以使用$_FILES
数组获取有关上传文件的信息。
var_dump($_FILES)
看看它包含的内容。
$_FILES['filename']
将包含文件的信息。
$_FILES['filename']['name']
作为原始文件名$_FILES['filename']['tmp_name']
作为服务器上临时文件的路径。除非你移动它,否则这将被删除!使用move_uploaded_file()
我建议阅读this tutorial
答案 2 :(得分:0)
除了其他人所说的,你还还错过了PHP手册中的MAX_FILE_SIZE声明:
MAX_FILE_SIZE隐藏字段(以字节为单位)必须位于 文件输入字段,其值是接受的最大文件大小 PHP。应始终使用此表单元素,因为它可以节省用户 等待传输大文件的麻烦只是为了找到它 它太大了,转移失败了。请记住:愚弄这个 在浏览器端设置非常简单,所以永远不要依赖文件 此功能会阻止更大的尺寸。它只是一个 应用程序客户端用户的便利功能。 但是,最大尺寸的PHP设置(在服务器端) 不能被愚弄。
<input type="hidden" name="MAX_FILE_SIZE" value="102400"/>
答案 3 :(得分:-1)
您需要定义表单的action-attribute。
<form method="post" action="" enctype="multipart/form-data">
编辑:以及abhshkdz写的内容。