社区
基础编程
帖子详情
一个具有文件上传功能的表单页面,现有如下问题
ok1818
2004-04-06 12:12:05
我文件上传是用PHP来处理的,可我想把上传厚的文件名和其他所填的表单信息在提交到一个asp的发信程序,将这些内容发到客户信箱中.拿现在怎么把得到文件名后的数据提交到ASP中处理
我上传文件用aa.php?action=upload 接下来怎么做呢,很急
...全文
148
2
打赏
收藏
一个具有文件上传功能的表单页面,现有如下问题
我文件上传是用PHP来处理的,可我想把上传厚的文件名和其他所填的表单信息在提交到一个asp的发信程序,将这些内容发到客户信箱中.拿现在怎么把得到文件名后的数据提交到ASP中处理 我上传文件用aa.php?action=upload 接下来怎么做呢,很急
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ok1818
2004-04-06
打赏
举报
回复
w我的意思是自动提交表单的脚本语句
多菜鸟
2004-04-06
打赏
举报
回复
POST 方法上传
PHP 能够接受任何来自符合 RFC-1867 标准的浏览器(包括 Netscape Navigator 3 及更高版本,Microsoft Internet Explorer 3 加微软补丁,或者更高版本)上传的文件。PHP 的这种特性使得我们既可以上传文本文件,也可以上传二进制文件。利用 PHP 的认证和文件操作函数,您就可以控制谁有上传的权限,以及在文件上传后进行哪些处理。
相关的设置: 请参阅 php.ini 的 file_uploads、 upload_max_filesize、upload_tmp_dir 以及 post_max_size 设置选项。
请注意 PHP 也支持 PUT 方法的文件上传,Netscape Composer 和 W3C 的 Amaya 客户端使用这种方法。请参阅 PUT 方法支持以获取更多信息。
您可以如下建立一个特殊的表单来支持文件上传:
例子 18-1. 文件上传表单
<form enctype="multipart/form-data" action="_URL_" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
以上范例中的“_URL_”应该替换成指向一个 PHP 文件的真实 URL。MAX_FILE_SIZE 隐藏域(单位为字节)必须先于文件输入域,其值为接收文件的最大尺寸。同时,要保证您的文件上传表单中要有 enctype="multipart/form-data",否则文件上传将不能工作。
警告
MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。
为上传文件定义的变量会根据 PHP 的版本及设置的不同而不同。自动全局变量 $_FILES 从 PHP 4.1.0 版本开始被支持。在这之前,从 4.0.0 版本开始,PHP 支持 $HTTP_POST_FILES 数组。这些数组将包含所有关于您上传的文件的信息,其中,我们推荐您使用 $_FILES。如果 PHP 的设置选项 register_globals 为 on,则相关的变量名将也会存在。从 PHP 4.2.0 版本开始,register_globals 的默认值被设为 off。
以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为 userfile。名称可随意命名。
$_FILES['userfile']['name']
客户端机器文件的原名称。
$_FILES['userfile']['type']
文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
$_FILES['userfile']['size']
已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error']
和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。
注: 在 PHP 4.1.0 版本以前该数组的名称为 $HTTP_POST_FILES,它并不像 $_FILES 一样是自动全局变量。PHP 3 不支持 $HTTP_POST_FILES 数组。
当 php.ini 中的 register_globals 被设置为 on 时,您可以使用更多的变量。例如,$userfile_name 等价于 $_FILES['userfile']['name'],$userfile_type 等价于 $_FILES['userfile']['type'] 等。请记住从 PHP 4.2.0 开始,register_globals 的默认值为 off,因此我们建议您不要依赖于改设置项而使用刚刚提到的那些附加变量。
文件被上传后,默认地会被储存到服务端的默认临时目录中,除非您将 php.ini 中的 upload_tmp_dir 设置为了其它的路径。服务端的默认临时目录可以通过更改 PHP 运行环境的环境变量 TMPDIR 来重新设置,但是在 PHP 脚本内部通过运行 putenv() 函数来设置是不起作用的。该环境变量也可以用来确认其它的操作也是在上传的文件上进行的。 例子 18-2. 使文件上传生效
请查阅函数 is_uploaded_file() 和 move_uploaded_file() 以获取进一步的信息。以下范例处理由表单提供的文件上传。
<?php
// 在 4.1.0 以前的 PHP 中,需要用 $HTTP_POST_FILES 代替 $_FILES。
// 在 4.0.3 以前的 PHP 中,需要用 copy() 和 is_uploaded_file() 来代替 move_uploaded_file()。
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir. $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
print "</pre>";
?>
接受上传文件的 PHP 脚本必须在文件上传后进行判断,来决定接下来要对该文件进行那些操作。例如,您可以通过 $_FILES['userfile']['size'] 变量来忽略尺寸太大或太小的文件,也可以通过 $_FILES['userfile']['type'] 变量来过滤文件类型和某种标准不相符合的文件。在 PHP 4.2.0 以上版本,您还可以通过 $_FILES['userfile']['error'] 变量来根据不同的错误代码来做相关的判断。不管做何种的判断,您必须将该文件从临时目录中删除,要么将其移动到其它的地方。
如果表单中没有选择上传的文件,则 PHP 变量 $_FILES['userfile']['size'] 的值将为 0,$_FILES['userfile']['tmp_name'] 将为 none。
如果该文件没有被移动到其它地方也没有被改名,则该文件将在表单请求结束时被删除。
基于微信小程序原生开发从头实现小程序常见
功能
(基础篇)
基于微信小程序原生开发从头实现小程序常见
功能
,包括小程序开发基础知识及常用开发
功能
如登录、找回密码、
文件上传
、多媒体
功能
、编辑
表单
、详情界面、列表界面等,并实现简单的在线预约系统相关
功能
,具体内容如下:...
关于使用jquery.form.js上传文件同时提交
表单
的方法
很久没有写webform了,最近在改
一个
很久很久以前的
一个
CMS系统,遇到上传文件同时提交
表单
的
功能
,由于不想对
现有
现目的代码结构作过多的改动,依然沿续使用Jquery来上传文件并提交
表单
。具体操作如下: 1.引入两个...
java 多文件同时上传_Java实现上传和下载
功能
(支持多个文件同时上传)
文件上传
一直是Web项目中必不可少的一项
功能
。项目结构如下:(这是我之前创建的SSM整合的框架项目,在这上面添加
文件上传
与下载)主要的是FileUploadController,doupload.jsp,up.jsp,springmvc.xml1.先编写up.jsp...
表单
文件上传
的两种方法
使用jquery插件事件
文件上传
,使用方法如下: 1.引入jquery插件中的相关文件(可在jquery官网上查找) jquery.ui.widget.js / / jquery.iframe-transport.js // jquery.fileupload.js 引入以上三个文件,注意顺序也...
juqery.form提交
表单
上传文件
现在我们从
一个
ASP.NET同步
表单
提交开始,然后再将其转化为异步的
表单
提交。我写了3种
表单
提交示例,并简单分析了各种方式的利弊。 当然主题还是使用jQuery
表单
插件轻松实现
表单
异步提交以及分
基础编程
21,881
社区成员
140,365
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章