2014-06-07 36 views
0

傳遞一個文件我有以下表單,允許上傳文件:如何通過兩種形式

<form id="form1" name="form1" method="post" action="page1.php" enctype="multipart/form-data">> 
CSV list: <input type="file" name="file" id="file"> 
    <input type="submit"> 
</form> 

當我去我的行動/提交頁面我可以獲取文件和文件的臨時位置,但我需要通過再次發送到一個新的頁面,所以我做到以下幾點:

<form method="post" action="page2.php" name="details" > 
<input type="hidden" id="type" name="type" value="1"> 
<input type="hidden" id="filename" name="filename" value="<? echo $_FILES["file"]["tmp_name"]; ?>"> 
<input type="submit" value="Insert Into Database"> 
</form> 

這不起作用,因爲臨時文件已經消失了....我怎麼能傳遞文件通過?

+0

好像沒意思,說明大圖片 –

+0

上傳一個csv,有人驗證一些屏幕上的數據,他們說好看..點擊按鈕,做一個完整的上傳,我把它放在數據庫中 – morty346

+3

不需要上傳它有兩次,只是在驗證之前把它移到你自己的溫度,並且清理出期刊 –

回答

0

我想你想重新思考你是如何得到這些數據的。如果是我,我會希望第一個表單將文件上傳到臨時目錄,並通過$ _REQUEST將路徑傳遞給文件。然後使用隱藏的輸入字段通過PHP傳遞文件路徑名,如果他們在第二個表單上確認他們的選擇,則使用該文件的路徑對文件進行任何操作。這意味着您不必上傳兩個文件(效率不高),您可以將數據傳遞到第二個表單上。

+0

,這實際上是我在上面的代碼中試圖做的 - 但是當我進入下一頁時,臨時名稱已經消失了。 – morty346

+0

腳本完成後,任何上傳到系統臨時文件的文件都將被刪除,您必須將其移動到您自己的臨時位置(如上所述) –