Foros del Web » Programando para Internet » PHP »

Problemas con gestión de archivo en PHP

Estas en el tema de Problemas con gestión de archivo en PHP en el foro de PHP en Foros del Web. Tengo un script de este tipo...y necesito saber si el $archivo del $dirorig ha sido modificado comparandolo con el que ya estaba copiado previamente en ...
  #1 (permalink)  
Antiguo 11/11/2003, 05:57
 
Fecha de Ingreso: noviembre-2003
Mensajes: 78
Antigüedad: 14 años, 1 mes
Puntos: 0
Problemas con gestión de archivo en PHP

Tengo un script de este tipo...y necesito saber si el $archivo del $dirorig ha sido modificado comparandolo con el que ya estaba copiado previamente en el directorio del proyecto.

$orig="$dirorig/$archivo";
$dest="$dirproy/$archivo";
copy($orig,$dest);

$ftimeorig = filemtime(realpath($dirorig)."/".$archivo);
$ftimeproy = filemtime(realpath($dirproy)."/".$archivo);

if ($ftimeorig !=$ftimeproy ){
El archivo ha sido modificado
}

Observo que cada vez que hago un copy se modifica el $ftimeproy sin haber midificado el archivo original.

Cómo puedo solucionar esto sin tener que utilizar el rename en vez del copy????
Gracias por su atención
  #2 (permalink)  
Antiguo 11/11/2003, 06:09
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Es que es asi como funciona. Cuando copias un fichero, lo que haces es crear uno nuevo, con todos los datos de fechas actualizados. La creacion supone una modificacion (ahora no recuerdo exactamente que devuelve).

Si quieres mantener la fecha de modificacion del original, prueba la funcion touch() (www.php.net/touch). Creo que un parametro sirve para asignar la fecha de modificacion.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 11/11/2003, 09:23
 
Fecha de Ingreso: noviembre-2003
Mensajes: 78
Antigüedad: 14 años, 1 mes
Puntos: 0
Gracias por tu rápida respuesta...
Yo había pensado en touch pero tengo un problema adicional:
El copy lo hace asociado al script de upload y no se cómo fijar el tiempo de la última modificación antes de copiar. Es decir no se cómo tomar los datos del archivo ($archivo_name) que toma del <input type=\"file\">.
Te agradezco culaquier comentario pues realmente no le acabo de ver la solución y alguna manera tiene que haber para comprobra si un archivo que se está subiendo ha sido modificado.
Gracias otra vez.
  #4 (permalink)  
Antiguo 11/11/2003, 09:33
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Entonces tienes un graaaaaaaaaaaan problema. La fecha de modificacion la almacena el sistema origen. Y si no me equivoco el upload HTML no manda esos datos con el fichero. El contenido del fichero lo usa PHP para crear el fichero temporal.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 11/11/2003, 10:46
 
Fecha de Ingreso: noviembre-2003
Mensajes: 78
Antigüedad: 14 años, 1 mes
Puntos: 0
Realmente no habrá otro arreglo para saber si el archivo ha cambiado.?. Lo tengo bien negro.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:13.