Php $\u文件数据始终为空

Php $\u文件数据始终为空,php,post,file-upload,file,Php,Post,File Upload,File,我正在尝试发布一个PNG图像。这是我的密码 <form action="http://killprashanth.res.cmu.edu/index.php/main/post" enctype="multipart/form-data" method="post" accept-charset="utf-8"> <div class="hidden"> <input type="hidden" name="userid" value="" />

我正在尝试发布一个PNG图像。这是我的密码

<form action="http://killprashanth.res.cmu.edu/index.php/main/post"  enctype="multipart/form-data" method="post" accept-charset="utf-8"> 
<div class="hidden"> 
 <input type="hidden" name="userid" value="" /> 
 <input type="hidden" name="thread" value="" /> 
</div>
<label for="text">Message text:</label>
<textarea name="text" cols="90" rows="12" ></textarea><br>
<table>
 <tr>
  <td style="width: 40%;">
   <label for="file">Image (optional):</label>
   <input type="file" name="file" value=""  />
  </td>
  <td style="width: 60%;">
   <input type="submit" name="submit" value="send" onclick="reload()" />
  </td>
 </tr>
</table>
</form>
在我的数据库中,除了图像(varchar)始终为空之外,其他一切都正常工作。

尝试删除:

onclick="reload()"
看看现在能不能用。这可能会中断文件上载(在提交表单之前会运行“重新加载”)


如果您想重新加载页面而不是实际转到已发布的页面,您可能需要研究通过AJAX发布。

文件是否上载到上载目录?是否检查了整个数组:print\r($\u FILES)?不要使用用户提供的文件名写入文件系统。这里有一个令人讨厌的目录遍历安全漏洞,但还有很多其他问题需要解决。将文件存储在自动生成的已知良好名称下,如
uploadid-17236478.png
。不,根本不在uploads目录中。我运行了print\u r,但浏览器中没有显示任何内容(这就是它应该如何工作的吗?)。谢谢,是的,我最初设计它的目的是使用messageid.bbq作为文件名,但为了让它正常工作,我到处乱搞。哦,对不起,我应该提到这个函数目前实际上没有任何作用。不过我会试试看;谢谢。试着模仿php页面上的示例代码:也许文件抛出了一个错误?这是非常奇怪的,因为它不工作。我将在我的计算机上设置它并测试你的代码。给我几分钟。。。
onclick="reload()"