gpt4 book ai didi

php - 上传并处理用户选择的 html、javascript 和 php 文件

转载 作者:行者123 更新时间:2023-12-02 20:45:32 26 4
gpt4 key购买 nike

我想让用户选择一个文件,然后让 php 将内容放入数据库中。现在最后一部分(在 php 中处理文件)很简单。但是有没有一种方法可以在不加载新页面的情况下处理用户选择的文件?

如果我使用以下内容:

<FORM ACTION="upload.php" METHOD="post" ENCTYPE="multipart/form-data">
<INPUT TYPE="file" NAME="somefile"><BR />
<INPUT TYPE="submit" NAME="submit" VALUE="Upload">
</FORM>

页面 upload.php 自动加载,然后我可以将上传的文件插入数据库。

我想使用 javascript、php 和 xajax 的组合来处理该文件。我认为这样的事情是不可能的:

<FORM ACTION="javascript:xajax_proces_file()" METHOD="post" ENCTYPE="multipart/form-data">
<INPUT TYPE="file" NAME="somefile"><BR />
<INPUT TYPE="submit" NAME="submit" VALUE="Upload">
</FORM>

因为调用函数xajax_process_file()时文件没有上传。或者是吗?我想我还没有完全掌握使用javascript、html和php上传的原理。

非常感谢任何帮助和/或澄清。

最佳答案

将其视为一个两步过程可能会有所帮助。

首先,用户填写表单并提交 - 第一步。

第二个(这是默认操作)指定的目标文件从表单中获取输入并使用它来执行任何操作。您几乎可以将表单“操作”视为链接 - 单击链接的默认操作是显示链接的结果。表单操作也是如此 - 显示表单操作的结果。

现在,可以通过 JavaScript 禁用元素针对特定事件的默认操作。还可以通过 JavaScript 访问浏览器 HTTP 机制来发送/接收 HTTP 请求(这是每个页面请求 - 无论是来自 URL 栏、页面链接还是 Google 搜索结果)。

简单来说,AJAX 就是这样的 - 使用 JavaScript 使用浏览器 HTTP 机制向 Web 服务器发送请求,并且可以在不使用传统点击事件的情况下接收响应。然后,您可以将此与 JavaScript 的使用结合起来“关闭”默认操作,而是按照您指定的操作从服务器获取信息并将其添加到页面,而无需刷新页面。

很多时候,为了防止某个元素发生默认操作,您会在代码中返回 false。您的表格也是如此。使用 JavaScript:

form.onSubmit = function() {
blah blah blah.....Use ajax to send the information to the form handler
return false; //Prevents the defualt action of the submit event
}

如果您确实是 AJAX 新手,我建议您查看此 tutorial然后这个one 。最后,我建议使用像 jQuery 这样的 Javascript 框架来帮助您 - 它非常棒,可以做很多很棒的事情,而且还具有简单的内置 AJAX 功能。

这是另一个 tutorial进行表单提交而不刷新页面(使用 jquery)。

关于php - 上传并处理用户选择的 html、javascript 和 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com