我想上传最大大小25MB的文件,但失败了,该文件未输入存储文件夹。Enybody可以说怎么了吗?
in php.ini-development and php.ini-production
post_max_size = 25M
upload_max_filesize = 25M
模型
[['publikasi_cetak'],'file','skipOnEmpty'=>TRUE,'extensions'=>'rar','maxSize' => 1024*1024*25],
控制器
public function actionCreate()
{
$model = new Publikasicetak();
// [['publikasi_cetak'], 'string', 'max' => 255],
if ($model->load(Yii::$app->request->post()))
{
$model->tanggal_upload= date('Y-m-d H:i:s');
$model->username=(Yii::$app->user->identity->username);
$imageName = $model->judul_cetak;
$publikasi_cetak = UploadedFile::getInstance($model, 'publikasi_cetak');
$publikasi_cetak->saveAs('pub_cetak/'.$imageName.'.'.$publikasi_cetak->extension);
$model->publikasi_cetak = $imageName.'.'.$publikasi_cetak->extension;
if($model->save())
{
$lastInsertID = $model->getPrimaryKey();
return $this->redirect(['view', 'id' => $lastInsertID]);
}
else
{
// print_r($model->getErrors()); => check whether any validation errors are there
}
} else
{
return $this->render('create', [
'model' => $model,
]);
}
}
在您的文件路径中可能存在问题,因为Windows和Linux操作系统使用不同的目录分离器。因此,而不是这个:
$publikasi_cetak->saveAs('pub_cetak/'.$imageName.'.'.$publikasi_cetak->extension);
尝试以下操作:
$publikasi_cetak->saveAs('pub_cetak'.DIRECTORY_SEPARATOR.$imageName.'.'.$publikasi_cetak->extension);
如果您使用
运行YII项目./yii serve
然后使用的php.ini将在
中找到/etc/php/8.1/cli/php.ini
其中8.1将是您的PHP版本更新
post_max_size = 25M
upload_max_filesize = 25M
并重新运行您的项目
您也可以添加<?=phpinfo();?>
,以确切查看您的项目使用哪个php.ini文件