2010-09-28 33 views
10

Estoy usando XAMPP en Windows. Al imprimir $_FILES["file"]["tmp_name"], parece que el archivo temporal se guardó en C: \ xampp \ tmp \ phpABCD.tmp. Pero no puedo verlo en el sistema de archivos del servidor. Sin embargo, el archivo se puede mover o copiar a través de move_uploaded_file(), rename() o copy(). Entonces, ¿dónde guarda PHP realmente los archivos temporales durante la carga?¿Dónde guarda PHP los archivos temporales durante la carga?

Respuesta

21

Lo guarda en la ruta especificada en $_FILES["file"]["tmp_name"], pero lo elimina después de que el script se haya ejecutado. Depende de usted mover el archivo a otra parte si desea conservarlo.

+4

Gracias por "pero lo elimina una vez que se ejecuta el script". – user1032531

12

Se especifica en upload_tmp_dir en su archivo php.ini. El sistema lo elimina automáticamente después de su uso.

1

php almacena todos los archivos temporales, que incluyen archivos cargados, en el directorio de archivos temporales tal como se especifica en php.ini. Tenga en cuenta que, para las cargas, esos archivos podrían eliminarse tan pronto como finalice la secuencia de comandos a la que se cargó el archivo (de modo que a menos que retrase la secuencia de comandos, probablemente no verá el archivo cargado). Otra razón podría ser que el archivo simplemente está oculto en el sistema de archivos.

Si quiere ver el archivo, puede asegurarse de ver todos los archivos ocultos en el explorador y retrasar el script siempre que necesite encontrar el archivo.

4

puede comprobar dónde php está guardando su temperatura files $_FILES["file"]["tmp_name"] imprimiendo

sys_get_temp_dir() 
0

Tenga en cuenta que el archivo se guarda binario en $_FILES["file"]["tmp_name"], por lo que puede abrirlo quizás con file_puts_contents si se trata de una imagen o algo como esto.

2

Use move_uploaded_file(file, path), especifique el archivo y la ruta donde desea almacenar el archivo.

Se crea una copia de ese archivo y se almacena.

Cuestiones relacionadas