[转]使用Yii CUploadedFile上传文件(图片)
轉載自:?http://hi.baidu.com/done_gone/blog/item/6e1ffc0d6ff23795d1581bf4.html
這里不顯示,model和view的代碼,或者明天補上。
控制器代碼:
$model=new Albums;
?
if(isset($_POST['Albums']))
{
$model->attributes = $_POST['Albums'];
?
$model->album_image = CUploadedFile::getInstance($model,'album_image');
//album_image 是字段來的
?? ? ? ? ? ? ? ? ? ? ? ?if($model->album_image)
?? ? ? ? ? ? ? ? ? ? ? ?{
?? ? ? ? ? ? ? ? ? ? ? ? ? ?$newName = date('Ymd-His').'.'.$model->album_image->extensionName;
?? ? ? ? ? ? ? ? ? ? ? ?}
?
?? ? ? ? ? ? ? ? ? ? ? ?$root = YiiBase::getPathOfAlias('webroot').Yii::app()->getBaseUrl();
//$_SERVER['DOCUMENT_ROOT'] 和?YiiBase::getPathOfAlias('webroot') 一樣的,是絕對路徑。
?? ? ? ? ? ? ? ? ? ? ? ?$folder = '/upload/albums/';
?
?? ? ? ? ? ? ? ? ? ? ? ?if(!is_dir($root.$folder)){
?? ? ? ? ? ? ? ? ? ? ? ? ? ?if(!mkdir($root.$folder, 0, true))
?? ? ? ? ? ? ? ? ? ? ? ? ? ?{
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?throw new Exception('創造文件夾失敗...');
?? ? ? ? ? ? ? ? ? ? ? ? ? ?}
?? ? ? ? ? ? ? ? ? ? ? ?}
?? ? ? ? ? ? ? ? ? ? ? ?if($model->album_image->saveAs($root.$folder.$newName)){
//保存圖片
?? ? ? ? ? ? ? ? ? ? ? ? ? ?$model->album_image = Yii::app()->getBaseUrl().$folder.$newName;
//這里還是重新給album_image字段,賦值。
?? ? ? ? ? ? ? ? ? ? ? ? ? ?if($model->save()){
//保存數據
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?$this->redirect(array('view','id'=>$model->album_id));
?? ? ? ? ? ? ? ? ? ? ? ? ? ?}
?? ? ? ? ? ? ? ? ? ? ? ?}
}
$this->render('create',array(
'model'=>$model,
));
總結
以上是生活随笔為你收集整理的[转]使用Yii CUploadedFile上传文件(图片)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android APK 签名(图)
- 下一篇: Python文件夹与文件的操作