如果条件不起作用

时间:2010-06-28 09:51:49

标签: php

if ( ( ($_FILES["file"]["type"] == "image/gif") ||
       ($_FILES["file"]["type"] == "image/jpeg") || 
       ($_FILES["file"]["type"] == "image/pjpeg") ) && 
     ($_FILES["file"]["size"] < 20000))
   {
      header ("Location: index.html");
   }

如果用户上传了任何图片,我正在使用上面的代码将页面重定向到index.html。但它不起作用。页面未被重定向。有人可以帮助我吗?

提前致谢

4 个答案:

答案 0 :(得分:0)

PHP: header - manual:

  

请记住,必须调用header()   在发送任何实际输出之前,   通过普通的HTML标签,空白   文件中的行,或PHP中的行。

答案 1 :(得分:0)

鉴于此评论......

  

用户应该提交pdf或   word文件。页面保持空白   而不是重定向页面

此语句检查图像是gif,jpeg还是pjpeg,如果它是其中之一,则重定向。由于图像的类型为pdf或doc,因此不符合条件。

if ( ( ($_FILES["file"]["type"] == "image/gif") ||
       ($_FILES["file"]["type"] == "image/jpeg") || 
       ($_FILES["file"]["type"] == "image/pjpeg") ) && 
     ($_FILES["file"]["size"] < 20000))
   {
      header ("Location: index.html");
   }

我建议你要么完全删除这个if语句,只要使用“header(...”行 - 或者你想检查文件是否是正确的类型并显示一条消息告诉人们它不是“T ...

if ($_FILES["file"]["type"] == "application/pdf") {
    header ("Location: index.html");
} else {
    echo 'Incorrect File Type';
}

答案 2 :(得分:0)

重定向是否有效,没有if条件?也许不是if条件不起作用,而是你的redirect-command中的一些错误。这有时候很奇怪,有header('Location: ...');

答案 3 :(得分:0)

$ _ FILES [“file”] [“type”]取决于客户端发送给服务器的内容。
使用getimagesize()确定服务器上的mimetype。

重定向后调用 exit(); 因为脚本一直在运行,并且可以将HTTP状态从301(重定向)修改回200,404,500等等。

您可以通过添加以下内容来进一步调试if语句:

  // ...
  header ("Location: index.html");
  exit();
} else {
  var_dump($_FILES["file"]);
}