2016-05-10 4 views
0

Ich bin HUGEBBLOB Bild aus Oracle-Datenbank mit Codeigniter abrufen. Wenn ich das Bild bekomme, gibt es die Ressourcen-ID 45.recover hugeblob Bild von Oracle-Datenbank Recorse-ID ist gegeben, PHP, Codeigniter

Meine Frage ist,

Warum Ressource-ID gegeben ist? Wie konvertiert man Recourse to string und zeigt dieses Bild an?

mein Code,

public function get_image() 
{ 
    $reg = $this->session->userdata['user'][0]['REG#']; 
    /*$this->db->select("PIC"); 
    $query = $this->db->get_where("ADM_STUDENT",array("REG#" => "BET-FA07-012"));*/ 

    $query = $this->db->query("select * from ADM_STUDENT WHERE REG# = 'BEE-FA15-066'"); 
    $row = $query->row_array(); 
    echo "<pre>"; 
    print_r($row); 
    //$this->output->set_header('content-type: image/jpeg'); 
    //print $row['PIC']; 
    //echo '<img src="data:image/jpeg;base64,'.base64_encode($row['PIC']).'"/>'; 
} 

Bitte helfen Sie mir ich hier stecke.

Antwort

0

Siehe den PDO documentation on handling LOBS:

PDO können Sie mithilfe des PDO::PARAM_LOB Typ in Ihren PDOStatement::bindParam() oder PDOStatement::bindColumn() Anrufe mit dieser großen Datentyp arbeiten. PDO::PARAM_LOB weist PDO an, die Daten als Stream zuzuordnen, damit Sie sie mit der API für PHP-Streams bearbeiten können.

Example 1 zeigt ‚ein Bild aus einer Datenbank angezeigt‘:

$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2'); 
$stmt = $db->prepare("select contenttype, imagedata from images where id=?"); 
$stmt->execute(array($_GET['id'])); 
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256); 
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB); 
$stmt->fetch(PDO::FETCH_BOUND); 

header("Content-Type: $type"); 
fpassthru($lob); 

Sie werden wahrscheinlich brauchen, um Querverweis mit der CodeIgniter Dokumentation, wenn die Objekte in Ihrem Code Teil dieses Rahmens verwendet werden.

Wenn der zurückgegebene Ressource vom Typ stream (wie im Beispiel-Code), dann Sie könnte der Lage sein, nur stream_get_contents verwenden wie so:

$this->output->set_header('content-type: image/jpeg'); 
echo stream_get_contents($row['PIC']);