php上传而不离开页面

时间:2012-07-26 18:22:05

标签: php ajax json file upload

只是想知道是否有人可以帮助解决这个问题:

假设我的表格如下:

<form name="mymainform" method="post" action="step2code.php"> 

  Enter Description : <input type="text" value="" name="description" />

  Enter File URL (or press upload): <input type="text" value="" name="fileurl" />

  <input type="button" name="uploadbutton" onclick="DO_CODE_HERE" />

  <input type="submit" name="func" value="Next Step" /> 

</form>

基本上,只是一个允许您输入描述和文件(图像)URL的表单 - 当您单击“下一步”按钮时,它会将描述文本(描述)和URL(文件)传递给下一个它调用的程序(step2code.php) - 如果用户输入描述并手动输入URL,这将正常工作 - 它将继续运行step2code.php并处理数据。

然而,我要它做的是,如果有人按下名为“uploadbutton”的按钮,它允许您从计算机中选择一个文件,然后将其上传到预定的目录(已经设置在变量) - 但是,文件上传后我不希望表单刷新(这里没有显示很多其他数据) - 我只是希望它(如果成功)返回上传文件的URL并放置它在“fileurl”字段中。

有关最简单方法的想法吗?

3 个答案:

答案 0 :(得分:2)

你试过<input type="file">吗? 可能不是

此外,您需要使用iframe或类似技术,才能在不刷新页面的情况下上传。

答案 1 :(得分:0)

制作上传文件的功能,让提交按钮将您重定向到同一页面,如果设置(在php中设置),请检查一些变量,上传成功。 您可以使用这些变量来保存上传文件的链接。

答案 2 :(得分:0)

正如其他人(包括我在评论中)所说,你不能异步上传文件。你需要使用iframe或flash / silverlight。

<form name="mymainform" method="post" action="step2code.php" enctype="multipart/form-data" > 

  Enter Description : <input type="text" value="" name="description" />

  Enter File URL (or press upload): <input type="file" name="fileurl" />

  <input type="button" name="uploadbutton" onclick="DO_CODE_HERE" />

  <input type="submit" name="func" value="Next Step" /> 

</form>

如果你使用iframe,它看起来就像页面没有刷新。