yii2 - yii2如何上传图片
问题描述
我在使用 yii2 时遇到了一个问题
$model = Client::find()->where('id=1')->one();
UploadedFile::getInstance($model, 'logo');
然后这个gitme NULL
值。NULL
如果我打印,为什么$_FILES
我会看到数组值。我在 yii2 中使用了简单的上传文件
我的观点 :
$form = ActiveForm::begin(['action' => ['center/updatelogo'], 'layout' => 'horizontal', 'options' => ['enctype' => 'multipart/form-data']]);
echo $form->field($model, 'logo')->widget(FileInput::classname(), [
'options' => ['accept' => $model->logo, 'class' => 'form-control'],
'pluginOptions' => [
'allowedFileExtensions' => ['png', 'jpg'],
'maxFileSize' => 25000,
],
]);
我的控制器:
$model = Client::find()->where('id=1')->one();
if (Yii::$app->request->isPost) {
$model->file = UploadedFile::getInstance($model, 'logo');
if ($model->validate()) {
$model->file->saveAs('logos/' . $model->file->baseName . '.' . $model->file->extension);
}
}
var_dump($file);die();
我需要上传一个文件到mi服务器并放上logo,发生了什么?
我的 $_POST 和我的 $_FILES :
array(2) {
["_csrf"]=>
string(88) "WF67odQ_DUylcUprRN9FssjEdq5nBn2ARrjjql_D8af6Y1am1ID7AEG5KV2iWNL-7QeEoeGF_UJQYxnH6JgS1A=="
["Center"]=>
array(1) {
["logo"]=>
string(0) ""
}
}
array(1) {
["Center"]=>
array(5) {
["name"]=>
array(1) {
["logo"]=>
string(19) "Libre Albedrío.jpg"
}
["type"]=>
array(1) {
["logo"]=>
string(10) "image/jpeg"
}
["tmp_name"]=>
array(1) {
["logo"]=>
string(14) "/tmp/phpYijyXv"
}
["error"]=>
array(1) {
["logo"]=>
int(0)
}
["size"]=>
array(1) {
["logo"]=>
int(19900)
}
}
}
解决方案
推荐阅读
- docker - 如果定义了环境变量,则挂载卷
- java - 正则表达式需要匹配分隔符之间的所有零和双零
- swift - 在 Swift 中的 tableview 行之间拆分 JSON 响应的问题
- python - 无法使用 Visual Studio 2017 从 pypi for python 安装 BGSlibrary(pybgs) 库
- git - Visual Studio Sync 功能是否将我的 repo 同步到上游或 fork?
- javascript - express 4:中间件上的标头未定义
- c++ - 如何创建包含对象的向量?
- python - 使用 Google Colab 的免费 GPU 使用 CTRL 生成文本的 HuggingFace 变形金刚
- c# - 围绕播放器旋转时相机行为奇怪
- r - 如何在ggplot R中突出显示连接组的线?