PHP文件无法上传

时间:2011-10-14 07:14:40

标签: php file upload

我不会乱用PHP,但我不明白这有什么问题。我在大约15分钟前使用了相同的代码,但现在它停止了工作。我没有改变任何东西,所以我有点困惑。

无论如何,这是一个表格,你应该提交截图,这是我的表格的代码,

<form method="post"
enctype="multipart/form-data">
<label for="file">Screenshot of them agreeing to terms:</label>
<input type="file" name="file" id="file" /> <br />
<input type="submit" name="submit" value="Submit" />
</form>

我认为没有任何问题。这是处理所有这些的PHP(我认为/希望)

 if(isset ($_POST['loanee'])) {
            if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    $name = md5_file(sys_get_temp_dir() . $_FILES['tmp_name']);
      move_uploaded_file(sys_get_temp_dir() . $_FILES["files"]['tmp_name'], "public_html/mc/images/{$name}.jpeg");
    }
  }

我没有得到任何回应,并且错误日志中没有出现任何错误,所以出了什么问题?

感谢您的帮助。

Loanee不是问题,因为我的sql数据库在图片被“上传”后正在更新,我没有把整个表格,因为其中一些有一些我认为不必要的信息,表格正如我之前所说的那样工作正常,对于那些不断告诉我loanee没有设置在表格中的人来说很抱歉。

3 个答案:

答案 0 :(得分:1)

您不必使用sys_get_temp_dir()$_FILES["files"]['tmp_name']已经指向临时目录。

所以将代码更改为:

$name = md5_file($_FILES["file"]['tmp_name']);
move_uploaded_file($_FILES["file"]['tmp_name'], "public_html/mc/images/{$name}.jpeg");

修改:哦,您应该使用is_uploaded_file来检查文件是否已上传。

答案 1 :(得分:0)

我没有看到$_POST['loanee']设置在哪里,但是需要设置它。否则,有趣的代码就会被跳过。

答案 2 :(得分:0)

在php脚本的第一行,检查应该来自HTML表单的loanee变量,但表单中没有任何带有该名称的字段。

更具体:

if(isset ($_POST['loanee'])) {    // That line does not correspond to any input element into your form

要解决您的问题,请删除该语句控件或使用该名称在表单中添加新字段。