2012-03-09 89 views
1

我正在尋找解決方案,即使在單擊提交按鈕後,我仍想保留上傳的文件。在我的情況下,我打算給用戶一個選擇,即當用戶感覺上傳的文件之一即使在提交後也不是他的選擇時,他只能重新上傳他想替換的文件,而不需要重新上傳其他文件。有沒有辦法使用HTML,PHP來完成這項工作。在發佈提交表格後保留上傳的文件

感謝

+0

是的,它可以做到。 – datasage 2014-01-27 13:12:57

+0

您是否保留上載到數據庫中的文件的記錄? – 2014-01-27 13:13:30

回答

1

一旦該文件已被上傳使用move_uploaded_file將其移動到一個臨時位置(不只是將它留在系統tmp目錄的情況下得到的自動清理)。

表單提交後,您可以使用rename將其從臨時位置移至永久位置。

然後編寫運行每隔X小時,通過在你的臨時位置是在某個特定時間段(filemtime)舊文件進入一個腳本,並刪除它們(unlink)清理上載的任何文件,但形式是沒有提交。

+0

嗨火,感謝您的回答,是否有可能得到一個示例代碼。無需工作,代碼更好理解。謝謝 – 125369 2012-03-09 13:56:31

0

出於安全原因,您無法重新填充文件上傳字段。

這可能會導致惡意行爲的一個例子是您可以隱藏文件上傳,您可以在其中填充用戶希望從用戶硬盤上獲得的任何文件。

您可能會保留所選文件的唯一方法是通過AJAX提交表單數據,以便用戶永遠不會離開頁面,並且只有在驗證成功時纔將用戶重定向到謝謝頁面(例如)。