Bonsoir,
Je suis un peu embêté car je ne parviens pas à obtenir un affichage satisfaisant d'un champ BLOB contenu dans une BD Oracle 10g.
Socle technique :
Oracle v10.1.0.2
PHP4 v4.3.10
Apache 2.0.54
Module oci8
Linux Sarge
Dans cette BD, j'ai une table T dont voici la description brève :
Champ NUMDOC, type CHAR(10)
Champ DOCUMENT, type BLOB
Voici le script qui interroge la base :
<?php
$conn = ociLogon('abcd', 'efgh');
$query = "select DOCUMENT from T where NUMDOC='1'";
$stid = ociParse($conn, $query);
ociExecute($stid);
if ($error = ociError($stid)){
echo $error["code"]." : ".$error["message"]."<br/>\n";
exit;
}
echo "<table>\n";
while (ociFetchInto($stid, $data, OCI_NUM+OCI_RETURN_NULLS+OCI_RETURN_LOBS)){
echo "<tr>\n";
while (list($key,$value) = each($data)){
echo "<td>$value</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
ociFreeStatement($stid);
ociLogoff($conn);
?> |
Voici le résultat que j'obtiens :
xµVKoÛ8¾è[vÄ8qÒ"+Ñø±¶Òö %Úæ"Urùï;ÔÃõCIöÒ&£y|ù8çX
¡YÒŤú7É®×õ¬Öy¯ë<Å)sx!É(M¾b|ÆOîþ§oL,ûøÓågoÿsÄ2ªaDÂTfDFgFpgà&úø6äR!XÑÔRáÄs^Pç£UyÝ¶s½Þ¡²²C·]w+¼µ±¶·Ôøoz'ÝnÜ=ewo×iKvxîÊ«Ã Pz\y»ð^ßR$×»Ü
wùÚ©]¶
ØSïÙ¾b;ásª®{åUòʽèõâ¨%÷z Á4ÂÜ +JRª½î9r[Z¤"+ªh¬ibþ¤à&AÖ
Je n'ai mis que le début.
Vous êtes d'accord pour dire que cela se lit difficilement.
Qui peut me dire comment récupérer une information exploitable, voire déterminer le type du document ?
Si j'enregistre ces données dans un fichiers, je suis sûr que mon os ne reconnaît ni une image, ni un pdf, ni un word.
Merci de votre aide