2015-12-03 38 views
-1

我有一個網站,許多用戶可以在其中上傳他們的圖像(儘可能多)。所以我的問題是組織這些圖像的最佳方式。 每個用戶都有自己特定的文件夾(路徑/用戶名),但所有的圖像進入相同的文件夾(路徑/圖片),並在那一刻我使用下面的系統來組織圖片:搜索類似命名圖像列表的最快方法

$imagename = $userid.'-'.$imagenumber.'.jpg'; 

我需要所有圖像的名稱,因爲頁面顯示如下所示:

<?php for ($imagenumber ; $imagenumber < $numberofimages ; imagenumber++): ?> 
<img scr="path/images/<?= $userid.'-'.$imagenumber ?>.jpg"> 
<?php endfor; ?> 

我擔心的是,如果它要花費很多時間去尋找在同一個文件夾中的所有圖像時,圖像的數量是太高,所以我想知道如果我應該爲每個用戶創建一個圖像文件夾,並且它會更快。 謝謝!

+0

你爲什麼說會慢找圖片? –

+0

同意Juan Carlos;你嘗試過哪些MySQL很慢?另外,查看'mysql索引'。 – user3741598

+0

如果你知道用戶($ userid),你可以有一個字段'maxNrImages'從1開始到n。每當用戶上傳文件時增加該字段。命名圖像文件:'path/images/userid-1.jpg'等。現在你可以執行'$ imagenumber = 1; ...($ imagenumber; $ imagenumber <$ maxNrImages; imagenumber ++)?>現在您可以獲取該用戶的所有照片。 –

回答

0

當您在一個目錄(文件夾)中超出約1000個文件時,事情開始變得笨拙。你可以將成千上萬的文件存儲在Linux上的單個目錄下,但這並不意味着你應該應該

在Windows上,在查找目錄時存在一些嚴重的O(n)問題。

最好的辦法是用每個用戶的子文件夾來組織你的目錄結構。如果您擁有數以萬計的用戶,則可能需要組織一個兩級子文件夾設置。