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'] ;
NO-> echo $array['Ado_Foto'] ;
SI-> echo '< i m g s r c ="'.$array['Ado_Foto'].'" alt="immagine" >';
Ciao
Il problema non è Drupal ma html e http ...comunque
quello che vuoi fare sarebbe avere una pagina Drupal con all'interno un'immagine, la via per avere una pagina drupal con un'immagine che di fatto non esiste ma è un blob binario potrebbe essere questa:
Inserire nella pagina un'immagine il cui contenuto è nella pagina stessa (embedded image) grazie alla sintassi html:
<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAA..." />
Siccome pero il tuo "dato" è binario devi ricordardi di codificarlo in base64 tramite base64_encode() di php quindi una roba tipo:
Per refernza:
http://php.net/manual/en/function.base64-encode.php
http://www.greywyvern.com/code/php/binary2base64
http://stackoverflow.com/questions/1207190/embedding-base64-images
Uccio
Il mio sito con drupal