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: 14 let
|
0