php隱藏圖片連結位址x上傳後不用再重新整理

以前寫程式上傳圖檔,由於瀏覽器具有快取功能,都要標註「如無看到最新圖片,請重新整理!」的字樣。而隨著程式語言團隊的努力,現在常見的用法<img src="xxx.php">,不但能顯示最新圖片,也能隱藏圖片來源位址。

各網路程式語言jsp,php,asp等,都有類似的函式可以達到此功能,以下imagecreatefromjpeg範例改自php官網:

<?php
function LoadJpeg($imgname)
{
    /* 開啟來源圖片 */
    $im = @imagecreatefromjpeg($imgname);

    /* 如果無法開啟圖片,設定輸出錯誤圖片 */
    if(!$im)
    {
        /* 建立一個黑色底圖 */
        $im  = imagecreatetruecolor(150, 30);
        $bgc = imagecolorallocate($im, 255, 255, 255);
        $tc  = imagecolorallocate($im, 0, 0, 0);

        imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

        /* 在黑色底圖上寫入文字 */
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);
    }

    return $im;
}

header('Content-Type: image/jpeg');
//設定來源圖片位址(實體路徑)
$img = LoadJpeg('./post/p151a.jpg');

imagejpeg($img);
imagedestroy($img);
?>

輸出圖片:
<img src="https://www.diimii.com/wp-temp/loadjpeg_demo.php" alt="imagecreatefromjpeg範例" />
imagecreatefromjpeg範例

註:另外還有imagecreatefromgif | imagecreatefrompng可以處理其它圖片類型

您可能也會喜歡…

1 個回應

  1. 小何表示:

    您好,無意逛到這裡,謝謝您的分享教學,
    想請問如何處理多張圖片呢?再者,我發現圖檔位址如果不在與程式同目錄似乎無法執行,試過用紀對路徑也是無法處理,
    謝謝你^^

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *