2010-07-13 28 views
7

Cuando uso un formulario para subir un archivo, me da el 'nombre' y 'tmp_name' y se supone que debes mover el archivo desde su ubicación temporal para poder guardarlo. Pero, ¿cuánto tiempo permanece el archivo en el servidor antes de que se elimine? ¿Está almacenado allí permanentemente hasta que limpie manualmente sus carpetas, o se elimina una vez que el script PHP que se envió también se haya terminado de ejecutar? Mi formulario se expande en varias páginas y quería procesar todo al final en lugar de procesar las partes después de completar cada página del formulario. La carga está en el paso 3 de 5, así que me preguntaba si guardé la información del archivo cargado desde el paso 3, si el archivo aún estaría allí cuando el formulario finalice después del paso 5.¿Cuánto tiempo permanecen los archivos cargados en su servidor?

Respuesta

5

se borra una vez que el script PHP se envió también se terminó ejecutando

por lo que puede realizar la carga de archivos como último paso o implementar su propio recolector de basura para los formularios sin terminar.

1

Depende de la carpeta tmp upload. Si es el directorio tmp, no puede confiar realmente en que viva en el paso 5. Si controla la carpeta de carga, puede confiar confiadamente en que viva hasta el paso 5. Puede configurar la ruta de carga con upload_tmp_dir

+0

Se ve bien conmigo. Lo único que puedo prever es que necesitará una limpieza de vez en cuando si los usuarios no terminan el formulario. – Patrick

+1

-1 archivo en tmp_name se destruye al final de la solicitud. Vea la respuesta de Marc B. – timdev

+0

@timdev, gracias por la corrección. –

8

A menos que PHP fallezca una muerte llameante horrible, o tome medidas para preservar el archivo, PHP lo eliminará automáticamente cuando salga la secuencia de comandos. Si necesita preservarlo a través de un formulario de etapas múltiples, tendrá que moverlo a un lugar seguro, y luego realizar un seguimiento de él (campos de formulario ocultos, sesión, base de datos, etc.) e implementar su propio sistema de limpieza para manejar archivos huérfanos de formularios abandonados.

Cuestiones relacionadas