相信有長期使用過 FTP 伺服器或客戶端的人可能就會知道這件事情,但我一直沒注意自己網站圖庫路徑的安排會導致單個目錄中出現超過一萬個檔案或子目錄,這將導致目錄列表將多出來的檔案隱藏,但這些檔案實際又是存在的,從不同管道就可以輕易發現這些隱藏檔案,如:cPanel 的檔案管理器、HTTP 訪問等。
本來以為這是 FileZilla 這款 FTP 客戶端軟體造成的問題,結果查了許多國外的文章發現根本就不是,FileZilla 支援顯示無限個檔案都不成問題,主要就在伺服器端與 FTP 這個協定的設計,我也有跟我的主機商確認過,他們也回覆我這是 FTP 的設計問題,所以相當遺憾 😰,事實就是要避免在同個目錄下放置超過一萬個檔案或子目錄。
除了 FileZilla 外,我還有使用瀏覽器與 Windows 檔案總管用 FTP 的方式連線伺服器,結果仍然一樣,就是無法直接顯示超過一萬個節點 🗂。
我的網站 2019 年 3 月底剛好在進行圖片壓縮計畫 ⌨,都是使用 FTP 上傳和下載檔案,意外發現了這個 FTP 設計上的問題,因此目前規劃 6 月底會來幫兩個圖片量過多的網站(爬山網和悠遊網)進行路徑安排,多開幾個目錄分開檔案,由於工程過於龐大,且還需要學習更多相關的技術,所以不立刻進行,這個問題也沒有立即處理的必要 😉。
▲ FileZilla 下最多只能跑出 9994 或 9997 個檔案或子目錄,大概接近一萬個檔案或子目錄。如果這時候上傳檔案,總檔案數目會超過一萬,但重新整理後又會變回原本不到一萬的數字,後半段的檔案整個就消失(隱藏)了!FTP 設計上果然有很大的問題。
由於網路資料非常少 😗,中文相關的提問只找到這篇,國外倒是比較多人討論,但不太容易看懂 😅,總之這個問題目前只能靠避開一個目錄下存放過多檔案或子目錄 🙃。如果有人知道更多技術細節可以告訴我唷!感謝!🙏
留言區 / Comments
萌芽論壇