Moje pytanie nie dotyczy przechowywania obrazów na dysku lub w DB.Jaka jest najlepsza praktyka, jeśli chodzi o przechowywanie zdjęć do galerii?
- Obrazy będą zapisywane na dysku
- ścieżka obrazu i inne dane obraz zostanie zapisany w bazie danych.
- obrazy będą miały niepowtarzalną nazwę pliku
- Obrazy będą zapisywane w 3 rozmiarach
- W czasie może być wiele obrazów wykorzystywane przez wielu użytkowników
moje pytania są następujące:
- Gdyby obrazy być przechowywane w jednym folderze lub wielu folderach?
- Czy można używać md5 do tworzenia unikalnych identyfikatorów? Na przykład. md5 (id + filename + random_num)
- Czy obrazy powinny być przechowywane w pamięci podręcznej na serwerze lub w przeglądarce/komputerze klienta?
Coś jeszcze powinienem wymyślić?
Rozwiązaniem jest użycie php, apache i mysql. Używamy funkcji Uploadify do przesyłania zdjęć.
Niektóre kod używam dzisiaj
/**
* Calculate dir tree for object
* Folders starts from 00 to FF (HEX) and can have just as
* many subfolders (I think :)
* @param $id - User ID
* @param $type - Image category
* @return string
*/
function calculateDirTree($id, $type)
{
$hashUserID = substr(hash('md5', $id), -4);
$parentFolder = substr($hashUserID,0,2);
$subfolder = substr($hashUserID,2);
$basePath = $type."/".$parentFolder.'/'.$subfolder.'/';
return $basePath;
}
Ile zdjęć masz według Ciebie? Setki ? Tysiące? Setki tysięcy ? –
Przez następne kilka lat oceniam około 100 tys. - 200 tys. Obrazów. – Steven
Użyjesz tej samej nazwy pliku, co użytkownik przesłał, a jeśli przechowujesz w tym samym folderze, może być szansa, że zastąpisz obraz, jeśli ma on taką samą nazwę pliku jak poprzednio przesłany obraz. –