通过 $_POST 将文件上传到服务器 [重复]
Posted
技术标签:
【中文标题】通过 $_POST 将文件上传到服务器 [重复]【英文标题】:upload file to server via $_POST [duplicate] 【发布时间】:2016-07-07 21:24:33 【问题描述】:所以我有一个表单可以让用户将某些文件上传到我的网站(服务器),我一直在想办法将用户提交的文件(及其所有内容)上传到我的网站服务器成功。
这是我迄今为止尝试过的:
(我的表格)
<form action="index.php" method="post">
Select File:<br/>
<input type="file" name="file" id="fileID" accept=".ff"><br/>
<input type="submit" name="submitfile" value="Upload"/>
</form>
(我的 PHP)
if(isset($_POST['submitfile']))
$GetFileextension=$_POST['file'];
if(end(explode('.', $GetFileextension))=="ff")
$usrU = fopen($_POST['file'], "w"); //Attempt to upload file
else
echo "Error: unsupported file type"; //File type is unsupported
问题是所有这些都会将文件上传到我的服务器,但它不包含任何文件内容。
例如,如果我有一个类似example.ff
的文件名,并且我使用上面的脚本来尝试上传文件,它所要做的就是在我的服务器中创建一个名为 example.ff
的文件,但该文件在我的服务器中不会包含example.ff
的原始内容。
我做错了什么?我是上传文件不正确还是什么?
【问题讨论】:
您的表单需要enctype="multipart/form-data"
才能发布文件。我们还使用$_FILES
获取文件
以php.net/file-upload开头
【参考方案1】:
先做一件事
<form action="index.php" method="post" enctype="multipart/form-data">
然后你必须像 _POST 你的文件
$file=$_FILES['file']['name'];
然后上传文件夹中的文件
move_uploaded_file($_FILES['file']['tmp_name'],"path/".$file)
【讨论】:
感谢您的帮助! 任何时候.. 我的荣幸:)以上是关于通过 $_POST 将文件上传到服务器 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
python 通过POST将文件上传到服务器(在单独的线程中)