2014-09-10 23 views
0

我希望我的PHP腳本從文件系統加載圖像,並將其傳遞給JavaScript的AJAX響應,然後使用FileReader將圖像加載到瀏覽器中。我無法使用image src,因爲文件系統是私有的,無法直接訪問。如何將圖像讀入文件?

我發現的唯一解決方案是使用函數imagecreatefromjpg,imagecreatefrompng等。這些函數的問題是它們消耗的實際圖像大小更多的內存。我想要的只是將圖像作爲普通文件傳遞,並讓JavaScript處理它。

編輯:

我存儲在/私營/圖像一些圖像。私人文件夾通過.htaccess訪問。我基本上是從/public/test.php發送一個Ajax請求的處理程序,/public/handler.php,這應該訪問/私營/圖像併發送回一個文件名和擴展名指定的圖像。

到目前爲止,我只用幾張圖片進行測試,所以我只是將名稱硬編碼到函數調用中。

+3

要容易得多。 – AbraCadaver 2014-09-10 19:19:01

+0

我完全失去了。我知道如何從HTML表單獲取圖像並保存它,但我不知道如何在沒有指定src的情況下取回圖像。 – ondrejba 2014-09-10 19:28:22

+1

使用' AbraCadaver 2014-09-10 19:30:03

回答

1

使用readfile併發送相應的標題爲您的文件:如果你顯示你的PHP頁面是如何知道要加載哪些文件

$fileMimeType = finfo_file(finfo_open(FILEINFO_MIME_TYPE), $filePath); 
header("Content-Length: " . filesize($filePath)); 
header("Content-Type: " . $fileMimeType); 
header("Content-Transfer-Encoding: binary"); 
header("Pragma: public"); 
readfile($filePath);