首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP文件上传器(图像)不上传某些图像

PHP文件上传器(图像)不上传某些图像
EN

Stack Overflow用户
提问于 2014-03-20 02:47:23
回答 1查看 1.2K关注 0票数 0

尝试使用PHP上传某些图像,但不起作用,我使用了w3Schools的示例,尝试上传一个高度值高于宽度值的图像。

它在“正常”图像(水平)上工作得很好,但正如我所说的,我不能让它在垂直对齐的图像上工作。

我认为这个脚本根本无法识别这个文件。

错误消息是:$_FILES“文件”所在行的索引未定义)

*此脚本仅用于检查我知道的文件DOESENT UPLOAD IT *

这是我试图让PHP检查http://rubenringdal.net/img/testigjen.jpg的图像。

代码语言:javascript
复制
<html>
<head>
    <title></title>
</head>
<body>
<form action="uploader.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>

    <?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_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 "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-20 03:06:06

如果您的图像大于您允许的大小,20kb,它将无法工作,因此请将其更改为更大的值。

代码语言:javascript
复制
($_FILES["file"]["size"] < **20000**)

在处理它之前,您必须检查是否有任何内容已上载。

代码语言:javascript
复制
<?php
if(!empty($_FILES["file"]))//Check if its not empty
{


     $allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 200000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_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 "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
}
?>

<html>
<head>
    <title></title>
</head>
<body>
<form action="uploader.php" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22515413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档