問題:
可以直接從二進位資料重新建立並顯示相同影像的腳本?這涉及到在 HTML 圖像標籤中顯示資料之前使用 GD 或類似工具處理資料。目標是避免將處理後的映像儲存到磁碟或使用外部腳本。
解決方案:
這可以透過使用影像來源屬性中的資料 URI 來實現。資料URI 格式為:
data:[<MIME-type>][;charset="<encoding>"][;base64],<data>
此PHP 函數從檔案建立資料URI:
function data_uri($file, $mime) { $contents = file_get_contents($file); $base64 = base64_encode($contents); return ('data:' . $mime . ';base64,' . $base64); }
以下程式碼使用資料URI 顯示影像:
echo '<img src="' . data_uri('elephant.png', 'image/png') . '" alt="An elephant" />';
用法:
要顯示處理後的二進位影像數據,您可以使用data_uri 函數並將結果URI 作為影像來源輸出,如下所示:
$imagedata1 = file_get_contents('assets/test.png'); $imagedata1 = process_using_gd_or_something($imagedata1); echo '<img src="' . data_uri('data:image/png;base64,' . base64_encode($imagedata1)) . '" />';
此程式碼將直接從二進位資料顯示處理後的映像,而不使用外部腳本或磁碟儲存。
以上是如何在單一腳本中直接顯示二進位映像而不將其儲存到磁碟?的詳細內容。更多資訊請關注PHP中文網其他相關文章!