2012-12-23 52 views
-4

我想使用PHP在我的網頁中顯示圖片,而不是像'images/pic.jpg'那樣直接顯示圖片。使用php無法直接訪問圖片加載圖片

但我不知道這件事。

你能幫我嗎?

我需要php腳本。請停止投票。

編輯:

這是我曾嘗試:

header('Content-Type: image/jpg'); 
readfile($imgsrc); 

由於這個問題是由某人的封閉,我必須說,我接受了,並試圖得到的答案是正確的,問題的open_basedir和文件允許。

現在問題已解決。

但它放錯誤「圖像無法顯示,因爲它包含錯誤」

+0

你的意思是一個PHP腳本來傳遞圖像? –

+0

是的,爲什麼有人投票結束我的問題? –

+0

我猜,因爲它不是很清楚? –

回答

1

您需要使用readfile:

function user_files($file_name = "") 
    { 
     // Check file_name is valid and only contains valid chars 
     if ((preg_match('^[A-Za-z0-9]{1,32}+[.]{1}[A-Za-z]{3,4}$^', $file_name)) 
     { 
       header('Content-Type: '.get_mime_by_extension(YOUR_PATH.$file_name))); 
       readfile(YOUR_PATH.$file_name); 
     } 
    } 

周圍有一個目錄遍歷等一些問題 - 所以你需要首先檢查$ file_name,就像我已經使用preg_match

0

將圖像放到本地目錄(在服務器上),這是通過HTTP協議無法訪問的。

然後創建一個簡單的PHP腳本,它將文件名作爲參數(或其他任何標識您要加載的圖像)並返回圖像而不是自身。我的意思是像http://www.server.com/imagescript.php?filename.jpg

這是非常簡單的,你應該能夠自己做。或者指定更多的細節,到底什麼是你的問題。

+1

確保清理您的路徑。有人可以通過'imagescript.php?i =/etc/php/php.ini'並開始讀取操作系統中的任意文件。 – Blender

+0

是+1,必須最大限度地使用通過參數傳遞的所有內容。這是一般規則。 –