ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ถ้าเราเก็บรูปไว้ในฐานข้อมูล Field เป็น BLOB การที่เราจะเอาข้อมูลนั้นออกมาแสดงได้ต้องบอก Browser ให้รู้ว่าข้อมูลดังกล่าวที่เราจะส่งออกไปนั้น เป็น image แบบหนึ่งแบบใดตาม jpg, gif, หรือ png ก็ได้ ขึ้นอยู่กับภาพของเรา  Header จะบอก browser เช่น
ถ้าเป็น gif

GIF คืออะไร gif เป็นรูปแบบไฟล์ภาพเหมาะสำหรับภาพเคลื่อนไหว

 

header('Content-Type: image/gif');

ถ้าเป็น png

PNG คืออะไร รูปแบบ รูปภาพสำหรับเว็บ อ่านว่า ปิง

 

header('Content-Type: image/png');

ถ้าเป็น jpg

JPG JPEG คืออะไร JPG คือรูปแบบไฟล์ภาพสำหรับภาพถ่าย

 

header('Content-Type: image/jpeg');


ส่วนโค้ดตามแบบ MVC ใน Yii ละก็ดูตามตัวอย่างโค้ดได้เลยครับ
โค้ดในส่วนของ C(controller)
        public function actionShowImage($id)
        {
            $model = PIC::model()->findByPk($id);
            $this->renderPartial('showds', array( 'model'=>$model,),false,false);
        }

M (Model)
class Pic extends CActiveRecord
{
      public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    /**
     * @return string the associated database table name
     */
    public function tableName()
    {
        return 'pic';
    }
}


V (View)
<?php
    header("Content-type: jpg");
    echo $model->sg_pic;    
?>
ในส่วนของ Content-type ระบุชนิดของรูปลงไป ถ้าเราเก็บชนิดของรูปไว้ใน ฐานข้อมูลด้วยก็ ใช้ $model->sg_type แทน jpg ได้เลย
เท่านี้เราก็จะได้รูปภาพโชว์ที่ browser แล้วครับ