2
'<?php
    $allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?> '

我已经尝试过 application/pdf ....如何上传 pdf 文件?我可以将 jpg 和 png 上传到我的网站上,但不能用于 doc、txt 或 pdf。我知道这段代码适用于 $allowedExts = array("jpg", "jpeg", "gif", "png"); 只是,但如何更改 || ($_FILES["file"]["type"] == "image/jpeg") 到 || ($_FILES["file"]["type"] == "application/pdf")? 提前谢谢...

4

1 回答 1

3

您的代码正在寻找扩展 (pdf) && 类型

pdf 的 MIME 类型:

应用程序/pdf、应用程序/x-pdf、应用程序/acrobat、应用程序/vnd.pdf、文本/pdf、文本/x-pdf

Microsoft 文档的扩展和 mime 类型:http: //fileext.com/faq/office_mime_types.php


我认为你可以解决这个问题:

修改您的页面添加此行

echo "Type: " . $_FILES["file"]["type"] . "<br> Extension: " . $_FILES["file"]["name"] . "<br>";

它将显示文件类型和名称。

于 2013-01-02T02:41:46.323 回答