在php中上传文件到服务器时没有大小限制


No size limitation while uploading the file to server in php

我在这里做上传任何文件(没有文件大小限制,用户可以上传任何文件扩展名)到服务器通过我的php代码(在codigniter),但当我试图上传的文件是大小185MB,所以它给我错误。
我还将php.ini添加到服务器上的文件夹结构中,这是从我的服务器支持中获得的。我增加了上传的大小,也增加了另一个相关的属性。我可以上传大小为20MB的文件,但无法上传文件大小为50mb, 100mb等。上传最大文件大小在本地主机上工作,但不在服务器上工作。
下面是我的代码。请帮助我修改我的代码

通过ajax上传文件

$.ajax({
            url: '<?php echo base_url();?>files>',
            type: 'POST',
            dataType :'json',
            xhr: function() {
                var myXhr = $.ajaxSettings.xhr();
                if(myXhr.upload){
                    myXhr.upload.addEventListener('progress',progress, false);
                }
                return myXhr;
            },
            beforeSend:function() { 
                $("#progressbar").show();
                $("#cmdSub").attr("disabled",true);
                $("#cmdSub").val("Please Wait");
            },
            success: function (data) {
                if(data.success != ""){
                    location.href = "<?php echo base_url();?>files/";
                }
                if(data.error != ""){
                    $("#f_name").val("");
                    $("#fnameinfo").html(data.error);
                    $("#cmdSub").attr("disabled",false);
                    $("#cmdSub").val("Submit");
                }
            },
            error: function(xhr, textStatus, thrownError) {
                alert("Error while uploading");
                $("#cmdSub").attr("disabled",false);
                $("#cmdSub").val("Submit");
                $("#ffileinfo").html("");
            },
            data: formdata,
            // this is the important stuf  need to overide the usual post behavior
            cache: false,
            contentType: false,
            processData: false
        });

控制器代码

function uploadFile() {
        $f_name = $_FILES['f_name']['name'];
         $f_type = $_FILES['f_name']['type'];
         $f_size = $_FILES['f_name']['size'];
        $f_ext = pathinfo($_FILES['f_name']['name'], PATHINFO_EXTENSION);
        $filename = pathinfo($_FILES['f_name']['name'], PATHINFO_FILENAME );
        $filename = str_replace($arr_chars,"_",$filename);
        $configFile = array (
                'allowed_types' => '*',
                'upload_path'   => $file_upload_path,
                'file_name'     => $filename.'_'.$fid
            );
        $this->upload->initialize($configFile);
        if($this->upload->do_upload('f_name')) {
            //insert the record
        } else {
                $error = $this->upload->display_errors();
        }
    }

文件上传大小可能是服务器配置问题:)

在php.ini中试试:

upload_max_filesize = 10M
post_max_size = 10M

—编辑(谢谢Big Chris)

脚本可能会超时处理此请求。所以你应该把它添加到函数

ini_set('max_execution_time', 120); 

这告诉php这个文件可能需要2分钟来运行

希望有帮助