作者shadowjohn (這事要用身體解釋)
看板PHP
標題Re: [請益] 文字與圖片顯示
時間Wed Jun 3 11:06:56 2015
※ 引述《dodo12500 (小莫)》之銘言:
: 大家好,小弟剛學php,在圖片顯示上遇到一些問題
: 我在members資料表中存NUM(int)和img(blob)這兩項資訊
: 然後在showMembers.php上顯示編號和圖片
: 我的問題是不曉該怎麼樣同時顯示文字訊息和圖片
: 若在showMembers.php增加header("Content-type: image/jpeg"); 則會沒辦法顯示編號
: 於是我想說將顯示圖片用showPic.php來顯示,但不太曉得該怎麼將img的資料傳過去
: 或者有甚麼樣的作法比較恰當呢?
: 麻煩板上大大們幫助了 謝謝!
: showMembers.php
: ----------------------------------------------
: <?php
: include("DB_connect.php");
: $sql = "SELECT * FROM members";
: $result = $conn->query($sql);
: if ($result->num_rows > 0) {
: // output data of each row
: while($row = $result->fetch_assoc()) {
: echo "NUM:".$row["NUM"]."<br>";
: echo "<IMG height='100' SRC=\"showPic.php?img=".$row[img]."\">";
: }
: } else {
: echo "0 results";
: }
: $conn->close();
: ?>
: ----------------------------------------------
: showPic.php
: ----------------------------------------------
: <?php
: header("Content-type: image/jpeg");
: echo $_GET[img];
: ?>
: ----------------------------------------------
方法有二種:
第一種:
在列表時,請不要直接把 blob 那個欄位也查出來,
把圖片的流水號帶給 showPic.php 就好。
如:showPic.php?id=3
在你的 showPic.php 裡
<?php
//建立連線
...
查找 SQL where ID = $_GET['id']
// header
...
// 輸出圖內容
echo blob 內容
第二種:
要記得 session_start() 呦
既然你已經把 blob 在列表中查出來了,把他寫入 session 吧 XD
$_SESSION['img'] = blob..
在 showPic.php 裡,直接
<?php
//header
...
// 輸出圖內容
echo $_SESSION['img'];
建議不要在資料庫直接存 blob 內容,到最後會很慢~
也不好備份或分散
以上二個方法,第一種較好
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.134.48.249
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1433300819.A.027.html
※ 編輯: shadowjohn (140.134.48.249), 06/03/2015 11:07:44
※ 編輯: shadowjohn (140.134.48.249), 06/03/2015 11:09:30
推 dodo12500: 當初想說查一次把要的都資料讀出來 我會在改的 謝謝!! 06/03 11:23
→ MOONRAKER: 這麼執著「查一次」就把圖片寫入到暫存目錄 定好檔名 06/03 11:40
→ MOONRAKER: 輸出HTML內去抓那個圖片 06/03 11:40
→ MOONRAKER: 但是在多線併發的協定下執著一次 只能說是潔癖 06/03 11:42
→ MOONRAKER: 過度的潔癖是不衛生的 06/03 11:43
→ dodo12500: 好的 謝謝指教 06/03 11:57