>  기사  >  백엔드 개발  >  PHP下传文件一个很奇怪的有关问题

PHP下传文件一个很奇怪的有关问题

WBOY
WBOY원래의
2016-06-13 10:33:40847검색

PHP上传文件一个很奇怪的问题
下面的的form提交页面

HTML code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->


upload.php页面的代码
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->    if($_FILES["spic"]["error"] != 0)    {        switch($_FILES["spic"]["error"])        {            case 1:                echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 ";                break;            case 2:                echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 ";                break;            case 3:                echo "文件只有部分被上传。 ";                break;            case 4:                echo "没有文件被上传。 ";                break;            default:                echo "未知错误";                        }    }else    {        echo "没有发生错误";        }


 我在form表单里边有限制最大的尺寸 MAX_FILE_SIZE=1M 如果我上传word 图片 如果是超过1M的话会提示的 但是我换了一个大于1M的exe 竟然可以上传成功
查看了PHP.INI之后更加郁闷  

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "d:/wamp/tmp"

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

我没有修改过配置文件!
配置文件限制最大2M但是我上传exe的文件传了 30M左右的 竟然没有报错。

大牛门帮忙看看什么问题

------解决方案--------------------
遇到问题,首先开启error_reporting(E_ALL),然后对症下药
------解决方案--------------------
你表单里隐藏域的值没有加入判断,怎么会起效?

既然你php.ini中设置了上传的最大大小。应该会生效。检查重启了服务器没有。
------解决方案--------------------
PHP code
if (isset($_POST['sub'] ){} else {   echo '文件过大或者,其他未知错误!';}//如果小于1M,echo $_POST['sub'] 会显示upload;,但是如果大于,echo $_POST['sub'] 就会显示空;<br><font color="#e78608">------解决方案--------------------</font><br>对,应该用楼上的方法,判断 sub 表单按钮是否被点击提交来判断文件上传<br><br>然而另一方面,我调试的时候上传个1.73MB的exe文件是可以正常上传的,估计是配置问题,而不是代码存在问题<div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.