Bonjour, voici mon problème:
J'ai une image enregistrée en base de données avec cette méthode:
UPDATE myTable SET pictureData = (SELECT * FROM OPENROWSET(BULK 'myFileAdress.jpeg', SINGLE_BLOB)AS x ) WHERE
Je lit ces données comme ça:
1 2 3
| $myData = $myConnection->query('Select pictureData from myTable where
');
$row = $myData->fetch(PDO::FETCH_ASSOC);
echo @pack('H*', $row['pictureData']) |
D'un autre côté, j'essaie de lire directement cette image avec un script Php comme suit:
1 2 3
| $data = fopen ($myPictureAdress, 'rb');
$size = filesize ($picture);
echo fread ($data, $size); |
Et en fait le souci vient du fait que certain octet ('0') se place dans l'enregistrement en base de données et corrompt ainsi mon image comme vu dans les 2 copies d'écran ci-joint.
Est-ce que quelqu'un sait pourquoi ces octets se mette à cet endroit? Est-ce que la requête est correcte?
Merci à tous ceux qui pourrai s'intéressai à ce problème.
Pour information, j'utilise sql server 2005 / IIS / PHP
Partager