我敢肯定,這個問題已經被問的次數千元,所以在這裏不用我的版本...上傳圖像均勻成目錄結構
我有一個上傳圖像的形式... 每個圖像包含一個唯一的ID 。我用下面的函數來生成我UNID ID:
function generateUnid($key) {
$name = $_FILES[$key]['name']; //get image name from global variable $_FILES
$ext = pathinfo($name, PATHINFO_EXTENSION); //get image extension
$prefix = 'fc'; //prefix for unid
do {
$unid = uniqid($prefix, true); //generate a unid
$filename = $unid . '.' . $ext; //replace image name with unid
$path = PATH_UPLOAD_ARTWORK . $filename; // image path
} while (file_exists($path)); // check if the image name exists
return $filename;
}
返回值的樣品是:
fc4e7801523a04e6.06876802.jpg
到目前爲止好。現在,我想爲我的圖像創建某種目錄結構。類似的東西,如:
0
0
1
2
fc4e7801523a04e6.06876802.jpg
...
3
...
1
0
1
2
3
...
2
0
1
...
我大概可以得到我的唯一ID中的最後2個整數用於在正確的目錄立案的圖像。但是,我不確定這是否是正確的策略... 我如何確保圖像均勻地歸檔到文件夾中。我不想找回自我與包含12倍000的圖像,並用1 500幅圖像一個文件夾一個文件夾...
我在做它通過提取最後的2號我uniq的正確方法是什麼?是否有更好的方法均勻地歸檔圖像?
感謝
我不知道你爲什麼要把文件放到這樣的任意桶?是否因爲您預計有大量文件,並希望避免在許多文件存儲在同一目錄中時有時會出現操作系統性能問題?爲什麼不根據日期或用戶名或類似的東西存儲?確切地說, – aaaidan 2012-03-25 06:36:09
!我確實喜歡預先提前計劃。我已經看到這種方法在很多情況下使用。我喜歡這樣一個事實,即我可以拍攝非常大的照片,而且以後不會遇到性能問題。我可是隻有一個上傳圖片,我可以上傳一堆一天,沒有什麼天數或月...所以我不能使用商品名o約會... – Marco 2012-03-26 04:05:43
那麼......你認爲你可能上傳在一天內有更多的文件比操作系統文件系統可以輕鬆處理的更多? – aaaidan 2012-03-27 02:45:03