| Autor | Zpráva | ||
|---|---|---|---|
| Blow Profil |
#1 · Zasláno: 23. 12. 2009, 20:08:35 · Upravil/a: Blow
Ahoj jak se píše v titulku nefunguje mi načítání obrázků které jsou uložené v DB jako BLOB.
Jak je to v mnohých ukázkách ukládám do DB typ obrázku jpeg,png,gif a pak to dávám do Content-Typu ale nefunguje to ani když tam dám přímo image/jpeg <?php
if (isset($_GET['id'])) {
try {
$dbh = new PDO('mysql:host=localhost;dbname=image', "root", "");
$dbh->exec('SET CHARACTER SET utf8');
$stmt = $dbh->prepare("SELECT id,type,img from img where id= :id");
$stmt->bindParam(':id', $id);
$id = $_GET['id'];
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$type = $result['type'];
//header("Content-Type: image/jpeg");
header("Content-Type: $type");
//header("Content-Type: " . $result['type']);
echo $result['img'];
$dbh = null;
}
catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
catch(Exception $e) {
echo $e->getMessage();
}
}
?>zkoušel jsem i ty zakomnetované verze - také nefungovali vysledkem je to, že se mi objevý "obrázek" - objevý se jen alternativní text ale obrázek ne |
||
|
Časová prodleva: 3 dny
|
|||
| Roman256 Profil |
Copak ta složitost ? fuj... tohle mi chodí pjěkně (v tomto příklady nejsou ošetřeny chybky, ale každý všuměl si je dodělá :-) )
if (isset($_GET['show'])) {
$id = intval($_GET['show']);
$result = mysql_query("SELECT ext, UNIX_TIMESTAMP(image_time), data FROM `obrazky` WHERE id=$id LIMIT 1");
if (mysql_num_rows($result) == 0) die('no image');
list($ext, $image_time, $data) = mysql_fetch_row($result);
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $image_time)." GMT");
header("Expires: ".gmdate("D, d M Y H:i:s", $image_time + 86400)." GMT");
header("Content-Length: ".strlen($data));
header("Content-type: image/{$ext}");
echo $data;
};Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na
). |
||
|
Časová prodleva: 4 dny
|
|||
| blow Profil * |
#3 · Zasláno: 30. 12. 2009, 10:40:46
Složité? jen protože to má víc řádků :)
Jinak raděj budu používat PDO a než mysql No nic každopádně mi to už funguje :/ ale absolutně nevim proč to nefungovalo - přitom sem nic nezměnil očas mi přijde PHP jako velká černá stříň :D |
||
| Alphard Profil |
#4 · Zasláno: 30. 12. 2009, 10:56:10
Blow:
Máte ověřeno, že v $result['img'] jsou správná data? Zkuste něco jako <?php
header("Content-Type: image/jpeg");
echo file_get_contents("img/e03.jpg"); |
||
|
Časová prodleva: 16 let
|
|||
0
).