sql >> Base de Datos >  >> RDS >> Mysql

¿Estructura de carpetas para almacenar millones de imágenes?

¿Cómo estoy usando la estructura de carpetas:

  • Estoy subiendo la foto, y muévela como dijiste:

    $image = md5_file($_FILES['image']['tmp_name']);
    // you can add a random number to the file name just to make sure your images will be "unique"
    $image = md5(mt_rand().$image);
    $folder = $image[0]."/".$image[1]."/".$image[2]."/";
    
    // IMAGES_PATH is a constant stored in my global config
    define('IMAGES_PATH', '/path/to/my/images/');
    // coolparty = f3d40fc20a86e4bf8ab717a6166a02d4
    $folder = IMAGES_PATH.$folder.'f3d40fc20a86e4bf8ab717a6166a02d4.jpg';
    // thumbnail, I just append the t_ before image name
    $folder = IMAGES_PATH.$folder.'t_f3d40fc20a86e4bf8ab717a6166a02d4.jpg';
    // move_uploaded_file(), with thumbnail after process
    // also make sure you create the folders in mkdir() before you move them
    
  • Creo que es la forma básica, por supuesto que puedes cambiar la estructura de carpetas a una más profunda, como dijiste, con 2 caracteres si tendrás millones de imágenes.