smarty 模板中的 getimagefile() 隨機工作
P粉715274052
P粉715274052 2023-09-11 00:04:59
0
1
472

在照片庫範本(CMSMS)中,我使用以下程式碼:

    {foreach from=$images item=image} {$imagesize=getimagesize($image->file)}
  • name : {$image->file} width : {$imagesize[0]}- height: {$imagesize[1]}
  • {/foreach}

每次載入圖庫時,僅檢索一些圖像的尺寸(寬度和高度),有時是全部圖像。它是完全隨機的,不一定是相同的圖像。顯然我嘗試了來自不同來源的不同圖像。

我遇到開啟流失敗錯誤:連線被拒絕。 Ctrl F5 隨機給出

這是一個共享託管 (OVH)。

我在網站的根目錄創建了一個 php 檔案和一個圖片目錄(很多)。

isFile() && preg_match("/(\.gif|\.png|\.jpe?g)$/", $f->getFilename()) ) { list($w, $h) = getimagesize($f->getPathname()); echo "

".$f->getFilename() . " Dimensions: " . $w . ' ' . $h . "

"; } elseif($f->isDir() && $f->getFilename() != '.' && $f->getFilename() != '..') { walkDir($f->getPathname()); } } } walkDir(); ?>

它工作得很好,所有圖像都已處理。

所以如果有人以前遇到過這個問題...

P粉715274052
P粉715274052

全部回覆 (1)
P粉515066518

許多託管服務提供者會施加連線限制和/或連線速率限制(或類似方式)來應對 DDOS 攻擊(或出於資源分配考慮)。

對於連線速率限制,它是:

Connection Rate Limit: a number that specifies the number of new connections accepted per second for the virtual server.

他們也可能採用其他方法來限制每秒 PHP 呼叫/特定 PHP 方法呼叫的數量。

對於模板方法,每次呼叫getimagesize都是一個單獨請求,因此可能會觸發限制並導致連接被拒絕錯誤

對於PHP方式,它被視為單一請求,因此它會成功通過。

我認為你只能透過與託管公司交談來解決問題(但他們可能不會招待你,因為他們仍然需要解決可能的DDOS 等),否則請堅持你的PHP 解析圖像記錄的方式(或切換到另一家託管公司/使用專用伺服器)

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!