2013-02-10 34 views
1

我看到WAMP是如何做到這一點的,我想將這種技術應用到我的網站上,從數據庫中獲得圖像加密,基本上我到目前爲止所做的是:但每當我用變量中的'EOFILE'回顯base64解碼時,圖像都會導致錯誤。當從base64解碼圖像時需要EOFILE嗎?

但是,只要我只有base64解碼回聲沒有在變量中添加'EOFILE',圖像就會顯示出來。

我的問題是,有沒有辦法在EOFILE中添加一個變量。 $ x。 EOFILE;

或者在PHP代碼中不包含'EOFILE'是完全可以的。

這裏有一些參考:

WAMP,分配加密的變量時,使用 'EOFILE':

$pngPlugin = <<< EOFILE 
//base64 encryption of the image 
EOFILE; 

我想要的,沒有EOFILE:

//note that the file when uploaded will get base64_encode() to the DB 
$test = file_get_contents('./image.png'); 
$test2 = base64_encode($test); 
//then implemented this way on the page via the DB 
header("Content-type: image/png"); 
echo base64_decode($test2); 

將變量添加到< < < EOFILE由於某種原因並不真正起作用,但它真的需要嗎?我以前從來沒有在PHP中使用過EOFILE,谷歌對我沒有什麼好處,但它有多重要?如果我沒有包含在我的代碼中,我需要擔心嗎?

此外,在PHP中使用的'< < <'是什麼?

謝謝:)

回答

3

EOFILE的是在其中用於定義字符串文字的Heredoc語法的任意標識符。

你可以選擇任何標識,如:

$i = <<< EOM 
The message goes here. 
EOM; 

但是,如果您已經有包含base64編碼的數據(如數據庫)的變量,你可以簡單地這樣做:

echo base64_decode($str); 
+0

所以在輸出base64加密時不需要EOM或EOFILE?或者你提供的鏈接中的一個例子包含了字符串中包含的函數和變量,或許可以修改這些函數和返回的東西? (沒有點分隔字符串中的變量?) – 2013-02-10 03:49:50

+1

Heredoc語法(您指的是EOFILE)只是將一些文本嵌入到PHP源代碼中的一種方式,就像引用的字符串一樣。如果您想將數據存儲在單獨的文件中,那很好,並且不需要使用heredoc。 – duskwuff 2013-02-10 03:53:31

+0

啊好的,謝謝大家:) – 2013-02-10 03:55:44