Ver Mensaje Individual
  #11 (permalink)  
Antiguo 04/05/2015, 03:15
Avatar de Eleazan
Eleazan
 
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: subir y renombrar archivos con php- move_upload_file

Cita:
Iniciado por menteccato Ver Mensaje
Efectivamente, en mi opinión, la solución aportada por alexisverano es la más adecuada. No solo aporta una cadena única -fecha y hora- sino que además incluye en sí misma una información adicional. Con la fecha y la hora sería suficiente en un entorno monousuario, pero un entorno que simultáneamente suban archivos multitud de personas, es más que probable los conflictos, por eso añadir una cadena adicional de 3 o más caracteres es lo más seguro.

Aún así me sorprende leer las dudas que plantea el método propuesto por el autor de este hilo: el de una cadena alfanumérica de 10 caracteres. Él preguntaba "¿qué probabilidades hay de que alguna combinacion se repita?" y en general todos se han limitado a decir que es muy poco probable. ¿Muy poco probable? ¿Sólo muy poco probable? Las variaciones de 10 elementos tomados de una serie de 62 (26 mayúsculas + 26 minúsculas + 10 números) es, matemáticamente: 62 elevado a 10. Y eso es lo bastante cercano a una posibilidad CERO. Para que os hagáis una idea es casi 1 posibilidad entre UN TRILLÓN. Una posibilidad entre un MILLÓN de BILLONES...

Entenderéis ahora que la posibilidad de hacer los mismo pero con una longitud de 20 caracateres + fecha, me haya parecido sorprendente. No son necesarias tantas precauciones cristo995, jajaja. Con 20 caracteres más la fecha ya ni lo calculo, no sabría ni nombrar esa cantidad...

Aún así se puede comprobar si el archivo existe... pero vamos, con ese algoritmo... yo no perdería ni quince segundos en ese código, es más fácil que me toque la bono-loto cada día durante una semana.
Aunq es algo viejo, vuelvo a ver el mismo fallo en ese código. Y no tiene que ver con las cadenas o las probabilidades, sino con que puedo borrar / sobreescribir cualquier fichero.

Imaginate, por un casual, que se que un usuario tiene la foto de perfil siguiente:
"20150504110854654.jpg", que sería una posible combinación que crearía el código de @alexisverano.

Ahora, yo creo una imagen, le pongo ese nombre, y la subo al servidor. ¿Qué pasaría?

Ese era el problema original del autor (podía sobreescribir imágenes) y la solución planteada en ese trozo de código(el que tu dices, de alexis), seguía con el mismo problema (aunq luego comentó la posibilidad correcta de una carpeta temporal).

Nunca está de más comprobar si un archivo existe o no ;). Sea una probabilidad entre 10 o entre 1 trillón.

Por ejemplo, he leído (del 2011) q a Facebook se suben 250 millones de foto al día. Diles que no hace falta más que 3 dígitos por segundo. O sólo 10 carácteres, cuando una foto suya puede ser, por ejemplo, "10632840_10152794513413045_5524611406974723287_n" .

Q si, q probablemente este usuario no tiene un "facebook", ni su capacidad, ni sus usuarios. Y por eso mismo la operación de comprobar si existe el fichero, no será tan costosa como para ignorarla
__________________
>> Eleazan's Source
>> @Eleazan