2010-09-28 13 views
10

Sto usando XAMPP su Windows. Stampando $_FILES["file"]["tmp_name"], sembra che il file temporaneo sia stato salvato in C: \ xampp \ tmp \ phpABCD.tmp. Ma non riesco a vederlo sul filesystem del server. Tuttavia, il file può essere spostato o copiato tramite move_uploaded_file(), rename() o copy(). Quindi, in che modo PHP salva effettivamente i file temporanei durante il caricamento?Da dove viene il PHP salva i file temporanei durante il caricamento?

risposta

21

Viene salvato nel percorso specificato in $_FILES["file"]["tmp_name"], ma lo elimina dopo che lo script è stato eseguito. Spetta a te spostare il file altrove se vuoi conservarlo.

+4

Grazie per "ma lo elimina dopo che lo script è stato eseguito". – user1032531

12

È specificato in upload_tmp_dir nel file php.ini. Viene eliminato automaticamente dal sistema dopo l'uso.

1

php memorizza tutti i file temporanei, inclusi i file caricati, nella directory dei file temporanei come specificato nel file php.ini. Nota che per i caricamenti, quei file potrebbero essere rimossi non appena lo script in cui è stato caricato il file è stato terminato (quindi, a meno che tu non lo ritardi, probabilmente non vedrai il file caricato). Un altro motivo potrebbe essere che il file è semplicemente nascosto nel file system.

Quindi, se si desidera visualizzare il file, è necessario assicurarsi di visualizzare tutti i file nascosti in Esplora risorse e ritardare lo script finché è necessario trovare il file.

4

è possibile controllare dove php sta salvando la vostra temperatura files $_FILES["file"]["tmp_name"] stampando

sys_get_temp_dir() 
0

si noti che il file viene salvato binario in $_FILES["file"]["tmp_name"], quindi è possibile aprirlo magari con file_puts_contents se si tratta di un'immagine o di qualcosa come questo.

2

Utilizzare move_uploaded_file(file, path), specificare il file e il percorso in cui si desidera archiviare il file.

Una copia di tale file viene creata e viene memorizzata.

Problemi correlati