首页 > PHP教程 > php开发知识文章

PHP -- Yii框架图片上传的实现方法

这篇文章主要介绍了PHP -- Yii框架图片上传的实现方法,结合实例形式较为详细的分析了Yii框架实现图片上传功能的具体步骤与相关操作技巧。

<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。如果我们在表单中需要提交二进制数据时,如文件内容,需要使用 "multipart/form-data"。

<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。

模型php代码

class Upload extends CActiveRecord
{
public $image;

public static function model($className = __CLASS__)
{
return $className;
}

public function tableName()
{
return '{{user}}';
}

public function rules()
{
return array(array('image', 'file', 'types' => 'jpg, gif, png'));
}
}

user为数据表,表前缀在main.php内设置。

控制器php代码

class UploadController extends Controller
{
public function actionIndex()
{
$model = new Upload();
$model->image = CUploadedFile::getInstance($model, 'image');
$ext = $model->image->getExtensionName();
$fileName = uniqid() . '.' . $ext;
$model->image->saveAs('assets/' . $fileName);
$this->renderPartial('index', array('model' => $model));
}
}

saveAs里面是存放图片上传后的地址,就是文件名。

视图php代码

<html>
<meta charset="utf-8">
<?php echo CHtml::form(SITE_URL . 'admin/upload/index', 'post', array('enctype' => 'multipart/form-data')); ?>

<?php echo CHtml::activeFileField($model, 'image'); ?>

<?php echo CHtml::submitButton('提交'); ?>

<?php echo CHtml::endForm(); ?>
</html>

上面的SITE_URL为项目定义的常量,是项目的网址

图片上传成功后,在项目下的assets目录下就能找到上传的图片,在后台还能对图片进行裁剪,加水印,压缩等操作。

以上就是本文PHP -- Yii框架图片上传的实现方法的全部内容,希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP Yii框架介绍

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。