PHP未完成的文件上载执行整个脚本

时间:2016-11-24 04:54:19

标签: php file-upload

我为表单事务创建了一个类,其中一个方法是用于文件上载。 该类包含公共方法,它返回$ this以用于方法链接,其中一个用于文件上载。

代码:

public function uploadFiles()
{
    $aFiles = $this->formatFiles($this->aFiles['file']);

    foreach ($aFiles as $sKey => $mValue) {
        $this->checkFileType($mValue['name']);
        $mUploadResult = file_uploader($mValue['tmp_name'], $mValue['name'], $mValue['size'], $this->sFileDir, 600000000);
        if ($mUploadResult) {

            $aFields = array(
                'parent',
                'file',
                'file_v',
                'type',
                'download'
            );

            $aData = array(
                $this->iParentNum,
                $mUploadResult,
                $mValue['name'],
                1,
                0
            );

            $this->insertDB($this->sTableFil, $aFields, $aData);
        }
    }

    return $this;
}

$ this-> aFiles由PHP的$ _FILES组成。

问题:

当尝试上传大尺寸的文件(例如500MB)时,它会上传但会停止在90%以上,然后它将继续下一个方法初始化的变量未初始化的脚本,结果为空值。

方法链执行:

$oBoardWriteSaveNAdmin = new boardWriteSaveNAdmin($USER_ID, $USER_NAME, $dbs);

$oBoardWriteSaveNAdmin->setRequests()
    ->setData()
    ->connectToDB()
    ->getMember()
    ->getTableAuthority()
    ->processData()
    ->executeMode()
    ->uploadFiles()
    ->redirect();

尝试:

我尝试调整某些页面中提到的PHP.ini。 PS:这里的值是样本,我在我的调整

php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 300
php_value max_execution_time 300

甚至尝试将此代码包含在创建的类的文件顶部, PS:这里的值是样本,我在我的调整

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);

0 个答案:

没有答案