Foros del Web » Programando para Internet » PHP »

añadir fecha y hora a archivo

Estas en el tema de añadir fecha y hora a archivo en el foro de PHP en Foros del Web. Hola me gustaria saber si se puede añadir de alguna forma la fecha y hora a un archivo, para evitar archivos duplicados. No se que ...
  #1 (permalink)  
Antiguo 07/09/2008, 08:28
 
Fecha de Ingreso: julio-2005
Mensajes: 259
Antigüedad: 18 años, 9 meses
Puntos: 0
añadir fecha y hora a archivo

Hola me gustaria saber si se puede añadir de alguna forma la fecha y hora a un archivo, para evitar archivos duplicados. No se que longitud maxima puede tener un nombre de archivo. Seria para nombrar a archivo con imagen.
  #2 (permalink)  
Antiguo 07/09/2008, 09:20
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: añadir fecha y hora a archivo

Si pudieras explicar en forma más concreta tu problema. Agregar al nmbre del archivo? Al contenido?

  #3 (permalink)  
Antiguo 07/09/2008, 09:30
 
Fecha de Ingreso: julio-2005
Mensajes: 259
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: añadir fecha y hora a archivo

Cita:
Iniciado por okram Ver Mensaje
Si pudieras explicar en forma más concreta tu problema. Agregar al nmbre del archivo? Al contenido?


Imagina que normalmente guarde:

foto1.jpg
foto2.jpg
etc

pero como seguramente mas de una persona use el sistema y guarde fotos, pues para evitar duplicidad en los nombres, pense en que se podria añadir la fecha y hora al nombre de archivo quedando asi mas o menos:

8-9-08_12:01_foto1.jpg

o el formato mas correcto a usar.

De esa manera es dificil que cualquiera pueda eliminar o duplicar algun nombre de archivo.
  #4 (permalink)  
Antiguo 07/09/2008, 09:35
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: añadir fecha y hora a archivo

Puedes generar un código aleatorio con php, o usar la función time() para obtener una marca de tiempo. Luego, si usas un formulario para subir tus archivos, en la función move_uploaded_file() o copy_uploaded_file() puedes agregar ese contenido generado al nombre del archivo (segunda variable de cualquiera de esas funciones). Ahora, si el archivo ya lo tienes en tu servidor, entonces usa la función rename()

Si tienes dudas, publica el código que usas para subir tu archivo.

Saludos,
  #5 (permalink)  
Antiguo 07/09/2008, 09:59
 
Fecha de Ingreso: julio-2005
Mensajes: 259
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: añadir fecha y hora a archivo

Podria hacerse asi?

$archivo="foto1.jpg";
$archivofinal = date("Y-m-d-H-i-s") . $archivo';


¿que daria como resultado ponme un ejemplo please?
  #6 (permalink)  
Antiguo 07/09/2008, 10:32
 
Fecha de Ingreso: julio-2005
Mensajes: 259
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: añadir fecha y hora a archivo

Cita:
Iniciado por okram Ver Mensaje
Puedes generar un código aleatorio con php, o usar la función time() para obtener una marca de tiempo. Luego, si usas un formulario para subir tus archivos, en la función move_uploaded_file() o copy_uploaded_file() puedes agregar ese contenido generado al nombre del archivo (segunda variable de cualquiera de esas funciones). Ahora, si el archivo ya lo tienes en tu servidor, entonces usa la función rename()

Si tienes dudas, publica el código que usas para subir tu archivo.

Saludos,
Guardo los archivos de imagenes en el servidor de la siguiente forma pero no se como hacer las modificaciones correctas para que tomen el date tambien como parte del nombr de archivo y se guarde..



Código PHP:
<?
            
            $carpeta
='../fotos/';
            
if(
$Submit) {
   if (
is_uploaded_file($HTTP_POST_FILES['foto']['tmp_name'])) {
     
move_uploaded_file($HTTP_POST_FILES['foto']['tmp_name'], $carpeta."/".$HTTP_POST_FILES['foto']['name']);
     
$subio true;
   }

if(
$subio) {
   echo 
"<br><br><br><font class='tex_negro'>La foto subio con exito</font><br>";
} else {
   echo 
"<br><br><br><font class='tex_negro'>No subio la foto </font><br>"
}
//die();
$foto = ($HTTP_POST_FILES['foto']['name']);
}
?>
  #7 (permalink)  
Antiguo 07/09/2008, 10:37
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: añadir fecha y hora a archivo

Aquí:

Código PHP:
$cadena_aleatoria substrmd5time() . rand() ), 0);
move_uploaded_file($HTTP_POST_FILES['foto']['tmp_name'], $carpeta."/".$cadena_aleatoria."_".$HTTP_POST_FILES['foto']['name']); 
EDITO: Es recomendable que en vez de $HTTP_POST_FILES uses $_FILES

Un saludo,
  #8 (permalink)  
Antiguo 07/09/2008, 11:06
 
Fecha de Ingreso: julio-2005
Mensajes: 259
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: añadir fecha y hora a archivo

Cita:
Iniciado por okram Ver Mensaje
Aquí:

Código PHP:
$cadena_aleatoria substrmd5time() . rand() ), 0);
move_uploaded_file($HTTP_POST_FILES['foto']['tmp_name'], $carpeta."/".$cadena_aleatoria."_".$HTTP_POST_FILES['foto']['name']); 
EDITO: Es recomendable que en vez de $HTTP_POST_FILES uses $_FILES

Un saludo,
Gracias por la ayuda.
Interpreto que es mejor usar una cadena aleatoria para añadirla a nombre de archivo que lo del date que comentaba yo, el sistema me da igual en cuanto haga su funcion.

Imagino que debo generar una cadena aleatoria por cada campo que guarde el nombre de un archivo de imagen, si tengo 6 fotos genero 6 cadenas ¿no?

Lo de usar $files es ¿por temas de seguridad?
  #9 (permalink)  
Antiguo 07/09/2008, 11:18
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: añadir fecha y hora a archivo

Bueno, por algo es aleatoria. Cada archivo deberá tener una cadena única que lo identifique y que evite que archivos con el mismo nombre puedan reescribirlos.

Ahora, el uso de $_FILES en vez de $HTTP_POST_FILES no es por seguridad, sino por compatibilidad. $HTTP_POST_FILES requiere estar activado en el PHP.ini, y ya es sabido que en la siguiente versión de PHP (6) desaparecerá, por lo que los scripts que lo usen tendrán que ser actualizados. Ahora funcionan igual ambos, pero mejor hacerlo de la manera estándar no?

Saludos,
  #10 (permalink)  
Antiguo 07/09/2008, 11:42
 
Fecha de Ingreso: julio-2005
Mensajes: 259
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: añadir fecha y hora a archivo

Cita:
Iniciado por okram Ver Mensaje
Bueno, por algo es aleatoria. Cada archivo deberá tener una cadena única que lo identifique y que evite que archivos con el mismo nombre puedan reescribirlos.

Ahora, el uso de $_FILES en vez de $HTTP_POST_FILES no es por seguridad, sino por compatibilidad. $HTTP_POST_FILES requiere estar activado en el PHP.ini, y ya es sabido que en la siguiente versión de PHP (6) desaparecerá, por lo que los scripts que lo usen tendrán que ser actualizados. Ahora funcionan igual ambos, pero mejor hacerlo de la manera estándar no?

Saludos,
gracias probare a ver que tal se da
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:48.