通过 $_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 将文件上传到服务器 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如果已经存在,将数据更新到 MySQL 表中[重复]

图像未通过目标 C 中的 POST 上传到服务器

通过 HTTP $_POST 快速上传图片

python 通过POST将文件上传到服务器(在单独的线程中)

通过POST方法以objective-c的文件格式将语音和图像与文本数据一起上传到服务器的最简单方法是啥?

使用客户端证书和 Android 的 HttpsURLConnection 通过 SSL 上传文件