Visualizzare campo Blob da Mssql

2 contenuti / 0 new
Ultimo contenuto
Visualizzare campo Blob da Mssql

Aiuto !!!!!!, sono nella .....
E' da un pò di tempo che sono sopra questo problema, al quale non sono riuscita a dare una risposta.
Il mio codice PHP deve estrarre da un db di mssql un campo di tipo blob.
L'estazione dei dati è riuscita, il problema è la visualizzazione del campo blob in una pagina di drupal che visualizza simboli starni , tipo rombi con un punto interrogativo all'interno.
perchè dico che il problema è drupal??
Perchè ho provato lo stessso codice php in un progetto nuovo che non utilizza drupal e l'immagina contenuta all'interno del campo blob si visualizza senza problemi.
Questo è il codice che estrae e visualizza lìimagine tramite una echo di php ma non funziona o meglio non visualizza l'immagine

$conn = sqlsrv_connect($serverName, $connInfo);

if($conn)
{
// echo "Connection established.";
}
else
{
//echo "Connection could not be established.";
die(print_r(sqls_errors(),true));
}

$sql = "SELECT ADOTTATI.Ado_Nome, ADOTTATI.Ado_Cognome, ADOTTATI.Ado_EstensFoto, ADOTTATI.Ado_Foto
FROM ADOTTATI
WHERE '5680' = ADOTTATI.Ado_Codice ";
//echo $sql;

$param = array(1,"some data");

$stmt = sqlsrv_query($conn,$sql, $param);

if($stmt==false)
{
die(print_r(sqlsrv_errors(), true));

}

$array = sqlsrv_fetch_array($stmt);

drupal_add_http_header('Content-type','image/jpg');

echo $array['Ado_Foto'] ;

Drupal Version:

Io di solito uso la funzione unserialize() per estrarre i dati da campi blob ma non so se fa al caso tuo...
http://www.php.net/manual/en/function.unserialize.php
Anziché
echo $array['Ado_Foto'] ;

Farei:
$foto = unserialize($array['Ado_Foto']);
Restituisce $foto come un array contenente il campo blob decodificato. Al suo interno dovrebbe essere contenuto il path dell'immagine che è stata inserita.