2013-02-19 24 views
0

我有一個HTML文件字段<input name="File" id="FileName" type="file"/>。當我提交表格時,我確實收到了文件,一切正常。但是,當我驗證用戶的輸入並且無法接受提供的值時,我將需要再次往返。像往常一樣,我將重新顯示錶格和錯誤消息。防止HTML文件字段在PHP驗證往返後被刪除

對於text fieldtextarea我可以設置(已經)提供的值,例如,通過value或只是echo textarea中的值。 我怎麼能爲file字段做同樣的事情?我想避免用戶總是必須重新選擇瀏覽器中的文件。

- 添加 - 以下

評論是正確的 - 有中提到的SO問題描述變通方法:

  1. PHP remember file field contents
  2. Can you re-populate file inputs after failed form submission with PHP or JavaScript?
  3. Restoring the value of a input type=file after failed validation
+2

檢查http://stackoverflow.com/questions/1326683/php-remember-file-field-內容 – Cris 2013-02-19 11:27:43

+2

複製http://stackoverflow.com/questions/6842571/can-you-re-populate-file-inputs-after-failed-form-submission-with-php-or-javascr和http:// stackoverflow。 com/questions/4205634 /還原失敗後驗證的輸入類型文件 – Heap 2013-02-19 11:27:47

+0

Cris和Heapy是正確的,可以作爲重複關閉。所提供的解決方法很好解釋。 – 2013-02-19 11:32:28

回答

1

這是不可能的 - 你必須撕掉服務器上的文件來做到這一點。然後,您可以向用戶顯示關於已存儲文件的簡短信息以及上傳新文件或刪除文件的選項

+0

是的,似乎是正確的,試圖通過Js來存儲路徑,但即使這樣也會失敗:onChange =「alert(document.getElementById('FileName')。value);」確實提供了一個虛假的路徑,而不是原始的上傳路徑。 – 2013-02-19 11:57:07