2014-06-07 37 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

脚本完成后,任何上传到系统临时文件的文件都将被删除,您必须将其移动到您自己的临时位置(如上所述) –