2
如果我使用功能imagecreatefromjpeg
創建圖像,然後imagejpeg
將其顯示給瀏覽器並且不會將其保存到文件中,我假定它暫時存儲在要顯示的位置。位置的路徑是什麼?imagejpeg()函數在哪裏存儲動態顯示的圖像?
如果我使用功能imagecreatefromjpeg
創建圖像,然後imagejpeg
將其顯示給瀏覽器並且不會將其保存到文件中,我假定它暫時存儲在要顯示的位置。位置的路徑是什麼?imagejpeg()函數在哪裏存儲動態顯示的圖像?
雖然文檔沒有聲明,但它似乎將其存儲在內存中。
測試腳本:
<?php
echo memory_get_usage(), PHP_EOL;
$im = imagecreatefromjpeg('https://jpeg.org/images/jpeg-home.jpg');
echo memory_get_usage(), PHP_EOL;
unset($im);
echo memory_get_usage(), PHP_EOL;
輸出:
238064
240360
240104
我也相信這是存儲在本地內存。您應該能夠像這樣捕獲圖像數據,然後將其散列到base64以便將其顯示在圖像標記中:
//...
ob_start();
imagejpeg($img, NULL, 100);
imagedestroy($img);
$imageData = ob_get_contents();
ob_end_clean();
echo '<img src="data:image/jpeg;base64,'.base64_encode($imageData).'">';