yii 1.1.16 含图片的文章无法修改
我有个含图片的文章,但是修改的时候就发现,获取不到图片
这是Example.php是model文件
<code>/** * This is the model class for table "example". * * The followings are the available columns in table 'example': * @property integer $id * @property string $img * @property string $title * @property string $url * @property integer $state * @property string $detail */ public function rules() { // NOTE: you should only define rules for those attributes that // will receive user inputs. return array( array('img, title, state', 'required'), array('state', 'numerical', 'integerOnly'=>true), array('title, url', 'length', 'max'=>150), array('img', 'file', 'allowEmpty'=>true, 'types'=>'bmp,jpg,png,gif'), array('detail', 'safe'), // The following rule is used by search(). // @todo Please remove those attributes that should not be searched. array('id, img, title, url, state, detail', 'safe', 'on'=>'search'), ); }</code>
这是ExampleController.php文件
<code> public function actionUpdate($id){ $model= Example::model()->findByPk($id); if($model==null){ $this->redirect(array('index')); }else{ $oldPic = $model->img; if(isset($_POST['Example'])){ $model->attributes=$_POST['Example']; $model->img = $oldPic; $fileupload = CUploadedFile::getInstance($model, 'img'); if($fileupload != null){ $filename = 'images/'.time().'.'.$fileupload->extensionName; if($fileupload->saveAs($filename)){ $model->img = $filename; if(file_exists($oldPic))unlink($oldPic); } } if($model->save()){ $this->redirect(array('index')); }else{ $this->render('update',array( 'model'=>$model, )); } }else{ $this->render('update',array( 'model'=>$model, )); } } }</code>
这是view文_form.php
<code><?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'example-form', // Please note: When you enable ajax validation, make sure the corresponding // controller action is handling ajax validation correctly. // There is a call to performAjaxValidation() commented in generated controller code. // See class documentation of CActiveForm for details on this. 'enableAjaxValidation'=>false, 'htmlOptions' => array('enctype' => 'multipart/form-data') )); ?> <div class="row"> <?php echo $form->labelEx($model,'img'); ?> <?php echo CHtml::activeFileField($model,'img',array('value'=>$model->img)); ?><span class="note">图片推荐大小为500x600</span> <?php if($model->isNewRecord){ echo ''; }else{ ?><br><img src="/static/imghw/default1.png" data-src="/img/bVpLOu" class="lazy" style="max-width:90%" alt="yii 1.1.16 含图片的文章无法修改" ><?php } ?> <?php echo $form->error($model,'img'); ?> </div></code>
问题就是我创建成功的这个文件,要编辑除了图片的别的内容时,图片就丢失,他不保存图片
这是我创建成功的图片
我要编辑
我把标题修改了一下
然后保存结果,问题就出现了
到底哪里出问题里,我刚接触yii,我的yii版本是1.1.16,请你们修正一下!!
回复内容:
我有个含图片的文章,但是修改的时候就发现,获取不到图片
这是Example.php是model文件
<code>/** * This is the model class for table "example". * * The followings are the available columns in table 'example': * @property integer $id * @property string $img * @property string $title * @property string $url * @property integer $state * @property string $detail */ public function rules() { // NOTE: you should only define rules for those attributes that // will receive user inputs. return array( array('img, title, state', 'required'), array('state', 'numerical', 'integerOnly'=>true), array('title, url', 'length', 'max'=>150), array('img', 'file', 'allowEmpty'=>true, 'types'=>'bmp,jpg,png,gif'), array('detail', 'safe'), // The following rule is used by search(). // @todo Please remove those attributes that should not be searched. array('id, img, title, url, state, detail', 'safe', 'on'=>'search'), ); }</code>
这是ExampleController.php文件
<code> public function actionUpdate($id){ $model= Example::model()->findByPk($id); if($model==null){ $this->redirect(array('index')); }else{ $oldPic = $model->img; if(isset($_POST['Example'])){ $model->attributes=$_POST['Example']; $model->img = $oldPic; $fileupload = CUploadedFile::getInstance($model, 'img'); if($fileupload != null){ $filename = 'images/'.time().'.'.$fileupload->extensionName; if($fileupload->saveAs($filename)){ $model->img = $filename; if(file_exists($oldPic))unlink($oldPic); } } if($model->save()){ $this->redirect(array('index')); }else{ $this->render('update',array( 'model'=>$model, )); } }else{ $this->render('update',array( 'model'=>$model, )); } } }</code>
这是view文_form.php
<code><?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'example-form', // Please note: When you enable ajax validation, make sure the corresponding // controller action is handling ajax validation correctly. // There is a call to performAjaxValidation() commented in generated controller code. // See class documentation of CActiveForm for details on this. 'enableAjaxValidation'=>false, 'htmlOptions' => array('enctype' => 'multipart/form-data') )); ?> <div class="row"> <?php echo $form->labelEx($model,'img'); ?> <?php echo CHtml::activeFileField($model,'img',array('value'=>$model->img)); ?><span class="note">图片推荐大小为500x600</span> <?php if($model->isNewRecord){ echo ''; }else{ ?><br><img src="/static/imghw/default1.png" data-src="/img/bVpLOu" class="lazy" style="max-width:90%" alt="yii 1.1.16 含图片的文章无法修改" ><?php } ?> <?php echo $form->error($model,'img'); ?> </div></code>
问题就是我创建成功的这个文件,要编辑除了图片的别的内容时,图片就丢失,他不保存图片
这是我创建成功的图片
我要编辑
我把标题修改了一下
然后保存结果,问题就出现了
到底哪里出问题里,我刚接触yii,我的yii版本是1.1.16,请你们修正一下!!
没用过1,但是翻了下代码,你的问题在rules.
array('img', 'file', 'allowEmpty'=>true, 'types'=>'bmp,jpg,png,gif'),
CFileValidator
如果验证的字段不通过的话会把该字段设置成 null
<code>/** * Raises an error to inform end user about blank attribute. * Sets the owner attribute to null to prevent setting arbitrary values. * @param CModel $object the object being validated * @param string $attribute the attribute being validated */ protected function emptyAttribute($object, $attribute) { if($this->safe) $object->$attribute=null; if(!$this->allowEmpty) { $message=$this->message!==null?$this->message : Yii::t('yii','{attribute} cannot be blank.'); $this->addError($object,$attribute,$message); } }</code>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。
