使用 Yii2 的 UploadedFile 扩展上传更大的图像
Upload larger images using UploadedFile extension for Yii2
我想将图像上传到服务器,我尝试使用我在 DoingITeasyChannel 的 YouTube 视频中看到的代码成功尝试。
但是,它适用于轻量级 (150 Kb) 文件;我正在尝试上传 3.1 Mb 的图像,但程序中断了。
这是我的代码:
public function actionCreate()
{
$model = new Images();
if ($model->load(Yii::$app->request->post())) {
$model->file = UploadedFile::getInstance($model, 'file');
$fileName = $model->category.''.date('U').'.'.$model->file->extension;
// save the path in db
$model->location = '/yii_advance/frontend'.'/web/images/'.$fileName;
$model->file->saveAs(Yii::getAlias('@frontend').'/web/images/'.$fileName);
// crea y guarda el thumbnail de la imagen subida
Image::thumbnail(Yii::getAlias('@frontend').'/web/images/'.$fileName, 220, 120)
->save(Yii::getAlias('@frontend').'/web/images/thumbs/'.$fileName, ['quality' => 80]);
$model->thumbLocation = '/yii_advance/frontend'.'/web/images/thumbs/'.$fileName;
$model->save();
return $this->redirect(['view', 'id' => $model->id]);
}
else {
return $this->render('create', [
'model' => $model,
]);
}
}
有人能帮帮我吗?
注意:
我已经在没有缩略图部分的情况下进行了测试,我认为解决方案可以是 运行 "$model->save()" 和完成上传后 "return" 的一种方法。
好的,正如 user1852788 所说,解决方案在我的 php.ini 文件中。
我不得不更改 upload_max_filesize 属性限制为 2M。
谢谢。
我想将图像上传到服务器,我尝试使用我在 DoingITeasyChannel 的 YouTube 视频中看到的代码成功尝试。
但是,它适用于轻量级 (150 Kb) 文件;我正在尝试上传 3.1 Mb 的图像,但程序中断了。 这是我的代码:
public function actionCreate()
{
$model = new Images();
if ($model->load(Yii::$app->request->post())) {
$model->file = UploadedFile::getInstance($model, 'file');
$fileName = $model->category.''.date('U').'.'.$model->file->extension;
// save the path in db
$model->location = '/yii_advance/frontend'.'/web/images/'.$fileName;
$model->file->saveAs(Yii::getAlias('@frontend').'/web/images/'.$fileName);
// crea y guarda el thumbnail de la imagen subida
Image::thumbnail(Yii::getAlias('@frontend').'/web/images/'.$fileName, 220, 120)
->save(Yii::getAlias('@frontend').'/web/images/thumbs/'.$fileName, ['quality' => 80]);
$model->thumbLocation = '/yii_advance/frontend'.'/web/images/thumbs/'.$fileName;
$model->save();
return $this->redirect(['view', 'id' => $model->id]);
}
else {
return $this->render('create', [
'model' => $model,
]);
}
}
有人能帮帮我吗?
注意: 我已经在没有缩略图部分的情况下进行了测试,我认为解决方案可以是 运行 "$model->save()" 和完成上传后 "return" 的一种方法。
好的,正如 user1852788 所说,解决方案在我的 php.ini 文件中。 我不得不更改 upload_max_filesize 属性限制为 2M。
谢谢。