酷!學園

技術討論區 => 程式討論版 => 主題作者是: edwardleung 於 2004-11-20 19:49

主題: 關於存取圖片(相片)問題
作者: edwardleung2004-11-20 19:49
您們好,

小弟已成功利用 base64 功能把圖片(相片)儲存於資料庫中, 但無法直接利用php 把已讀取的資料(已由base64還原)通過IE顯示出來呢 ? 請問有否範例可供參考呢 ?

謝謝協助!
主題: 關於存取圖片(相片)問題
作者: edwardleung2004-11-23 23:15
對不起,

請問有否關於 php 電子相冊如何製作 範例可供參考呢 ?

謝謝協助!
主題: 關於存取圖片(相片)問題
作者: powerouch2004-11-24 09:47
what about 4images or gallery?
主題: 關於存取圖片(相片)問題
作者: edwardleung2004-11-24 20:33
Ok !

I want to try...

Thank for your help !

Ed.
主題: Re: 關於存取圖片(相片)問題
作者: roderja2006-03-14 01:05
我也遇到同樣的問題
請問大大現在有解決的方法嗎
謝謝
主題: 關於存取圖片(相片)問題
作者: paulso2006-03-14 10:41
是否這個?
http://hk2.php.net/manual/tw/function.base64-encode.php
http://hk2.php.net/manual/tw/function.base64-decode.php
主題: IE無法顯示 但是NETSCAPE可以
作者: roderja2006-03-14 20:00
感謝大大

我遇到的問題是
當我利用微軟的IE打開時 無法顯示圖片
利用NETSCAPE可以

下面是我摘取出來的程式碼

//server.php //$GetPicResult 是利用base64_encode
$row = $QueryResult->fetch_row();
$GetPicResult = base64_encode($row[0]);

//client.php
echo '<img src="data:image/jpg;base64,'.$GetPicResult.' " alt="Base64 encoded image" />';

請問各位大大有沒有什麼辦法讓IE可以解讀base64_encode的圖片呢?
謝謝!
主題: 關於存取圖片(相片)問題
作者: Yamaka2006-03-15 00:38
為何不將圖片讀取輸出的部分獨立出來,
然後 <img src="showimg.php">
主題: 關於存取圖片(相片)問題
作者: roderja2006-03-15 01:34
引述: yamaka
為何不將圖片讀取輸出的部分獨立出來,
然後 <img src="showimg.php">


大大您好
我將已經下列程式碼置放在pic.php
<?
Header( "Content-type: image/gif");
echo $getresult->result->PicInfo;
?>

當我在client.php執行下列程式碼時,IE瀏覽器仍然無法正常顯示圖片
echo '<IMG SRC="pic.php">';

謝謝
主題: 關於存取圖片(相片)問題
作者: Yamaka2006-03-15 01:57
直接在 IE 瀏覽 pic.php, 看看有無錯誤訊息..
主題: Re: IE無法顯示 但是NETSCAPE可以
作者: paulso2006-03-15 10:19
引述: "roderja"
感謝大大

我遇到的問題是
當我利用微軟的IE打開時 無法顯示圖片
利用NETSCAPE可以

下面是我摘取出來的程式碼

//server.php //$GetPicResult 是利用base64_encode
$row = $QueryResult->fetch_row();
$GetPicResult = base64_encode($row[0]);

//client.php
echo '<img src="data:image/jpg;base64,'.$GetPicResult.' " alt="Base64 encoded image" />';

請問各位大大有沒有什麼辦法讓IE可以解讀base64_encode的圖片呢?
謝謝!


若果 database 內的是 encode 了, 是否應該把它 decode 才顯示?
若果再 encode, …
我沒用過, 也不知道是怎樣的, 但是從正常的角度去想像, encode 了的東西看不到, 把它 decode 回來才顯示吧
主題: 關於存取圖片(相片)問題
作者: wwwing2006-03-15 13:45
加上 ob_start() 跟 ob_flush() 試試看。
主題: 關於存取圖片(相片)問題
作者: Yamaka2006-03-15 14:17
引述: "roderja"

大大您好
我將已經下列程式碼置放在pic.php
<?
Header( "Content-type: image/gif");
echo $getresult->result->PicInfo;
?>

當我在client.php執行下列程式碼時,IE瀏覽器仍然無法正常顯示圖片
echo '<IMG SRC="pic.php">';

謝謝


你的資料讀取出來後...
$getresult->result->PicInfo;
並沒有解碼呀~~
主題: 關於存取圖片(相片)問題
作者: roderja2006-03-17 00:07
大大您好

不管有沒有DECODE
都一樣
無法在IE裡頭顯示
永遠都顯示一個X

另外
之前在下列這個地方看到一份資料
按照那裡所述的方式
IE仍舊無法顯示
並建議IE使用MIME multipart
請問MIME multipart如何使用呢?

感謝

===========================
http://us2.php.net/manual/en/function.base64-encode.php

using base64_encode() to encode image data and finally output to browser using "data" scheme of IMG src:

<?
// ...
echo '<img src="data:image/png;base64,'.$encoded.' ">';
?>

Netscape browser supports this... However, Windows' Internet Explorer does not.

To embed binary contents in ascii text based html file for IE, you need use MIME multipart.
主題: 關於存取圖片(相片)問題
作者: paulso2006-03-17 10:49
若果是叉燒包, 查清楚會否圖檔路徑不對
主題: 關於存取圖片(相片)問題
作者: roderja2006-03-17 11:27
大大您好

如果沒有利用IMG SRC=XXXX的話
單純利用ECHO看內容的話
有資料
檔案應該是有讀取到啦
主題: 關於存取圖片(相片)問題
作者: paulso2006-03-17 11:44
若果把 getPicResult 寫去一個檔案, 例如 temp.jpg
再以 <IMG SRC=/path/to/temp.jpg> 又可以嗎
主題: 關於存取圖片(相片)問題
作者: roderja2006-03-17 22:14
寫入檔案
在以檔名的方式讀取
就沒有問題

所以很苦惱
主題: 關於存取圖片(相片)問題
作者: twu22006-03-17 22:51
不是寫的很清楚嗎? Netscape 可以. IE 不行. 這與你測試的不也一樣?
要 IE 可以用... 就不要直接用 data: 的方式. 改用另一個 php script, 傳參數進去, 然後產生正確的 header 資料來用.

上頭的 php manual 不是有個 example:
代碼: [選擇]
image.php:

<?

header(" Content-Type: image/jpeg");
header(" Content-Disposition: inline");
$sql = "SELECT data FROM image where name='".$img."'";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$image = $row[0];
echo base64_decode($image);

?>

And in the html file you put:

<img src="image.php?img=test3"  border="0" alt="">
主題: 關於存取圖片(相片)問題
作者: roderja2006-03-19 01:48
大大您好
照著指示
還是打個大叉叉耶(有DECODE 或者 沒有 DECODE 都有試過)
煩請指點 感謝

我的程式碼如下 (image試過了確實有讀取到 )
//readpic.php
<HTML>
<head>
</head>
<body>
<img src="getimage.php"  border="0" alt="">  
</body>
</html>

//getimage.php
<?php
header(" Content-Type: image/jpg");
header(" Content-Disposition: inline");
$TableNameOfPeople = 'people2';
$link = mysql_connect('localhost', 'abc', '123');
mysql_select_db('datasource');
$query = "select `pic` from " . $TableNameOfPeople;
$result = mysql_query($query);
$row = mysql_fetch_row($result);
$image = $row[0];
echo base64_decode($image);
//echo ($image);
?>
主題: 關於存取圖片(相片)問題
作者: twu22006-03-19 09:56
你的圖到底是 png, gif, jpg 那一種? 那個 content-type 應該要與你的圖檔格式是相同的.
主題: 關於存取圖片(相片)問題
作者: roderja2006-03-19 19:45
大大您好

圖檔是 JPG 匯入到 mysql 的

試過將$image存成檔案,tmp.jpg可以正常顯示
$ifp = fopen( "tmp.jpg", "wb" );
fwrite( $ifp, $image);
fclose( $ifp );

如果我單純的瀏覽 getimage.php
echo $image; 可以讀取到如下面的資料
煩請指點 感謝

?JFIF``?    $.' ",#(7),01444'9=82<.342?  2!!22222222222222222222222222222222222222222222222222?3@"? ?}!1AQa"q2???#B??RѰ$3br? %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz???????????????????????????????????ƒąƇȉʒӔՖטٚᢣ䥦稩걲
主題: 關於存取圖片(相片)問題
作者: twu22006-03-19 21:31
先確定把一個 jpg 檔案抓出來看看能不能運作吧.

三個檔案 t.html, getpic.php, t.jpg
t.html:
代碼: [選擇]
<html>
<head><title>Test Jpeg</title></head>
<body>
<img src="getpic.php">
</body>
</html>


getpic.php:
代碼: [選擇]
<?php
header
&#40;"Content-Type&#58; image/jpg"&#41;;
header&#40;"Content-Disposition&#58; inline"&#41;;
echo file_get_contents&#40;"t.jpg"&#41;;
exit;
?>



這個我試過是可以顯示出正確的圖片.
先找一個正常的圖片來看看. (不要用你資料庫抓出來的)

如果可以 (不行我就不知道了, 也許你的 php 檔案有問題吧 (utf8? BOM?), 再把這個檔案用 base64 編碼後寫到資料庫. 然後再解碼寫成另一個檔案.
先確定讀出來的檔案與之前的一模一樣 (不一樣? 一定是中間過程有問題, 因為 base64 是可逆的, 編碼再解碼後一定是一樣的東西).
主題: 關於存取圖片(相片)問題
作者: roderja2006-03-19 22:56
大大您好

我用小畫家編分別一個測試用的 GIF 和 JPG
直接引用大大的程式碼 儲存成utf8的格式
在IE瀏覽下 還是一個大叉叉耶
煩請指教 感謝

我的環境是
windows xp sp2 使用 xampp-win32-1.5.1.zip 套件

另外
可否請教大大您的環境與檔案儲存格式為呢?
主題: 關於存取圖片(相片)問題
作者: Yamaka2006-03-20 00:34
要不要另外找一台主機試試.
主題: 關於存取圖片(相片)問題
作者: roderja2006-03-20 01:15
大大您好

不同的主機是指 不同的OS與不同的PHP與APACHE版本嗎
我在我朋友的電腦試過
狀況還是一樣耶

這兩台都是 windows xp sp2 使用 xampp-win32-1.5.1.zip 套件

煩請指導 感謝
主題: 關於存取圖片(相片)問題
作者: twu22006-03-20 08:32
1. 不要用 utf-8.
2. 把 utf-8 的 BOM 移除.

自己找一下 BOM 是什麼, 不要再問了.
主題: 關於存取圖片(相片)問題
作者: roderja2006-03-20 18:46
感謝大大指點
我TRY看看
主題: 關於存取圖片(相片)問題
作者: roderja2006-10-13 11:44
當我用SOAP_CLIENT()得到image code ($image)後
除了用SESSION的方式傳給下面這個PHP之外
請問有沒有其他的方式將此圖片展示出來呢?
(echo '<img src="data:image/png;base64,'.$encoded.' ">'; 這種方式試過了不行 )

SESSION可以用
 可是就是有個問題
就是所有要展示的圖片都相同
UNSET好像沒有作用

試過將$image擺在URL裡頭當參數傳遞
可能太大了
無效

如何將這種$image 傳給下面這一個另外的PHP處理呢?

感謝各位大大

<?
header(" Content-Type: image/jpeg");
header(" Content-Disposition: inline");
echo base64_decode($image);
?>
主題: 關於存取圖片(相片)問題
作者: roderja2006-10-13 19:57
AFD
主題: 關於存取圖片(相片)問題
作者: roderja2006-10-13 19:57
ASD
主題: 關於存取圖片(相片)問題
作者: junesnow172007-06-01 14:44
我也遇到相同的問題
我有找網路上的資料是說在ie就是不顯示的...
那要怎麼辦呢
原本還想用來寫電子報的說...