首页 / PHP / php – Yii使用模型上传文件
php – Yii使用模型上传文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Yii使用模型上传文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1837字,纯文字阅读大概需要3分钟。
内容图文
![php – Yii使用模型上传文件](/upload/InfoBanner/zyjiaocheng/817/74e3eda37bc84938b90669e055492a33.jpg)
我只是尝试使用模型上传文件.我在当前情况下得到异常消息(参见下面的model / controller / view):
CException
MyFile and its behaviors do not have a method or closure named "save".
如果我的模型扩展了CActiveRecord而不是CFormModel,则会出现另一个异常:
CDbException
The table "MyFile" for active record class "MyFile" cannot be found in the database.
我的错是什么?这些是文件:
型号:MyFile.php
class MyFile extends CFormModel {
public $image;
public function rules () {
return array (
array ('image', 'file', 'types' => 'gif, jpg, png'),
);
}
}
CONTROLLER:MyFileController.php
class MyFileController extends CController {
public function actionCreate() {
$model = new MyFile;
if(isset($_POST['MyFile'])) {
$model->attributes=$_POST['MyFile'];
$model->image=CUploadedFile::getInstance($model,'image');
if($model->save()) {
$path = Yii::app()->runtimePath.'/temp/uploadDirectory/'.$model->image;
$model->image->saveAs($path);
}
}
$this->render('create', array('model'=>$model));
}
}
查看:create.php
<h1>File-Upload</h1>
<?php
echo CHtml::form('','post',array('enctype'=>'multipart/form-data'));
echo CHtml::activeFileField($model, 'image');
echo CHtml::submitButton('abschicken', array('name' => 'submit'));
echo CHtml::endForm();
?>
解决方法:
CFormModel没有名为save()的方法,如果你想调用它你必须实现它,但你想要的是使用validate方法
如果MyFile没有相关的db表,那么它不应该扩展CActiveRecord.
您可以通过调用validate()来验证上传的图像是gif,png还是jpg:
class MyFileController extends CController {
public function actionCreate() {
$model = new MyFile;
if(isset($_POST['MyFile'])) {
$model->attributes=$_POST['MyFile'];
$model->image=CUploadedFile::getInstance($model,'image');
if($model->validate()) {
//The image is valid, you can save it
$path = Yii::app()->runtimePath.'/temp/uploadDirectory/'.$model->image;
$model->image->saveAs($path);
}
$this->render('create', array('model'=>$model));
}
}
}
内容总结
以上是互联网集市为您收集整理的php – Yii使用模型上传文件全部内容,希望文章能够帮你解决php – Yii使用模型上传文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。