是否可以在“文件输入”更改后重新加载表单?
我有一个表单,用户可以选择要上传的图像。我还有一个PHP脚本,显示调整后的图像大小。 我只是想知道是否可以重新加载文件输入的表单OnChange,然后调用上传图片的php代码,以便用户可以预览它? php文件必须与文件中的文件相同吗?或者我可以使用javascript调用另一个php文件进行图片上传吗?
注意:用户可以上传多张图片......
请尽可能多的输入指导我正确的方向......
更新: 没有ajax ......没有它可以做到吗?如果页面重新加载,对我来说没问题,但这次是图像......可以吗?
由于
答案 0 :(得分:1)
当然,与所有编程一样,在大多数情况下,如果你认为它是可能的话,这是可能的。
从我看到你正在查看一个将通过AJAX更新上传结果的表单。您需要查看jQuery这样的javascript框架才能完成此任务,您将基本上传图像/调整大小,并在没有页面重新加载的情况下将其显示给用户。
表单中的数据将使用PHP'图像缩放器'回来的ajax调用进行更新
修改强> 可能有帮助的ajax图片上传示例:
答案 1 :(得分:0)
这里有两个问题。
1)多次上传,因此预览将需要在每个上传的表格中。用户将单击submit
或send
,浏览器将其发送到服务器。要在幕后执行此操作,您需要找到一个可以帮助您异步执行此操作的PHP脚本。
我发现有用的一个是:http://www.anyexample.com/programming/php/php_ajax_example__asynchronous_file_upload.xml
2)在iframe响应中,您可以传回缩略图的网址。这可能是每个文件的ID。最好的办法是创建一个调用php脚本的图像标记,它将直接返回图像,作为缩略图。
<img src="/imageview.php?id=3&mode=thumbnail" />
这样您就不必保存缩略图,但是当您使用新网址更新src属性时,用户将能够立即看到它。
答案 2 :(得分:0)
提交表单时,整个页面会重新加载。解决此问题的唯一方法是将上传表单放在iframe中。您无法在未提交表单的情况下上传图片,并且无法上传图片的缩略图,您必须上传整个图片,除非您使用flash,silverlight或java。
答案 3 :(得分:0)
<input type="file" name="…" onchange="this.form.submit();">
您需要聪明地跟踪哪些图像已经使用给定的表单会话加载,并在隐藏的输入中存储对它们的引用。