我为表单事务创建了一个类,其中一个方法是用于文件上载。 该类包含公共方法,它返回$ 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);