宿迁腾云网络网站建设公司

腾云网络 六年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • SEO优化
    • APP开发
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 技术日志 > php文件上传代码Html中表单不能实现文件的上传,限制了一些网页功能 php文件域上传

php文件上传代码Html中表单不能实现文件的上传,限制了一些网页功能 php文件域上传

2022-05-01

以前的Html,表单无法实现文件的上传,这在一定程度上限制了一些网页的功能。规范(即在 Html 中实现基于表单的文件上传)通过添加表单元素 来扩展表单。通过使用该元素,浏览器会自动生成一个输入框和一个按钮seo优化,输入框允许用户填写本地文件名和路径名,按钮允许浏览器打开一个文件选择框供用户使用选择一个文件。具体形式实现如下:

<="POST" ="*.jsp" ="/form-data">

<TYPE="FILE" SIZE="50"><BR>

<TYPE="" ="">

选择粘贴文件时,直接输入本地文件的绝对路径。表单的属性值为*.jsp,表示请求(包括上传的文件)会被发送到*..jsp文件。在这个过程中,实际上实现了文件上传的HTTP方式。 HTTP 协议的通用网关接口 (CGI) 支持从客户端向服务器上传文件。这种上传方式需要浏览器和双方都能够支持。通过类的()方法获取客户端发给服务器的一个数据流,分析上传的文件格式,根据分析结果依次输出多个文件到服务器端的目标文件。本例中的功能由类具体实现。该类的框架如下:

{

(){…}

无效()

{ = .(); }

无效(),,,

{………}

void(){………}

void(){………}

int save()

, ,

{………}

……

}

由 () 方法初始化的运行时环境。使用()方法获取输入流,分析上传文件的格式,将每个上传文件的属性分配给多个File类实例进行处理。这些 File 类实例由类管理。 File类根据每个文件的属性调用其save()方法,将多个文件依次输出到服务器端的目标文件中。 ()方法是关键,用于分析.1协议传输的文件格式。经过测试,我们想出了传输流文件的格式,这对理解()方法很有用。例如,上传我的\tt.txt 文件。格式如下:

//文件分隔符

------------------

//文件头

-: 表单数据;; ="C:\ 和 \.-\我的 \tt.sql"

-类型:文本/

//源文件内容

信息(

null);

//下一个文件的分隔符

------------------

-: 表单数据;; =""

-类型:/-

------------------

从以上文件我们可以看出,HTTP协议在上传多个文件时,会将所有文件放入输入流中,并用一定的分隔符进行区分。其实()方法就是对上面的文件进行分析,确定分隔符的内容,每个文件的内容格式,文件的全路径名,以及文件实际数据的开头和结尾。这里需要注意的是,分隔符是随机的,是传输流文件第一个回车之前的所有字符。

实施过程

()方法是:首先将输入流文件输出到字节数组中,由以下代码实现。

=1024;=0;

for(; < ; += )

试试

{ .();

= .().read(, , - );

}(e){ new (" to .");}

这里使用了循环中的多字节读取方式,上面的循环继续读取数据,直到数组满为止。如果文件完全可用,则文件的所有字节都可用。但是由于网络速度通常比 CPU 慢很多,所以程序很容易在所有数据到达之前清空网络缓冲区。实际上,当多字节读取方法尝试从一个暂时空但打开的网络缓冲区中读取数据时,该方法返回0,这意味着没有数据存在但网络流没有关闭。在这种情况下,单字节方法会阻塞正在运行的程序的执行,所以多字节的行为要优于单字节的 read() 方法。接下来分析字节数组。首先找到分隔符;使用()方法返回文件信息头的值,从中确定源文件的全路径名、源文件的扩展名和源文件的内容格式;使用()方法返回文件的内容数据,并记录文件数据在字节数组中的开始和结束位置。然后生成一个File类的实例,并将文件的全路径名、源文件的扩展名、源文件的内容格式、文件内容数据的起止位置放入属性中File 类实例。找到下一个分隔符,继续重复上述过程,直到分析完成。

二、使用FTP协议上传多个文件

FTP 协议是一种用于传输文件的协议,它规定了相互传输文件的标准。这个功能在java中的实现是借助类来完成的。具体实现过程:首先与FTP服务器建立连接;初始化文件的传输方式,包括和两种方式;将文件输出到文件输入流;读取字节数组中的数据;将数据写入字节数组输出流(使用方法将数据写入网络链接)。这样,一个与源文件同名的文件被复制到服务器上。在这个例子中,使用了()、()、()三个方法来完成文件上传过程。主要实现如下:

{ ; ; ;

void ( , 用户, , 路径)

{

//:FTP服务器的IP地址; user:登录FTP服务器的用户名

//:登录FTP服务器的用户名密码; path:FTP服务器上的路径

尝试{ =new();

.();

.(用户, );

.out.("!");

if (path.()!=0) .cd(path);

.(); } (ex) {.out.(ex);}

}

无效()

{尝试{ .();

} (ex) {.out.(ex);}

}

无效()

{ =();

//从中分析出文件名,作为目标文件名,具体方法没有给出

试试{

os=.put();

java.io.File =new java.io.File();

is=new();

字节[] =新字节[1024];

int c;

((c=is.read())!=-1){ os.(,0,c); }

是.(); os.();

} (ex) {.out.(ex);}

}

}

() 完成与FTP服务器建立连接的功能,使用( )方法打开远程FTP服务器,然后使用(user, )方法登录服务器。远程FTP服务器的登录方式有两种,一种是注册用户登录,另一种是匿名登录。前者要求用户先注册为服务器的客户端,服务器会给客户端一个登录账号和密码,并根据账号和密码链接到服务器。后者要求用户使用特殊的用户名“”和“”,而无需注册才能对远程主机上的公共文件进行有限的访问,并且许多系统现在要求用户使用地址作为密码。出于安全考虑php文件上传代码,大多数匿名 FTP 主机一般只允许远程用户下载文件而不允许上传文件php文件上传代码,这取决于 FTP 服务器的设置。用户可以根据实际情况选择使用两种方式。登录完成后使用的 () 方法将传输模式初始化为字节模式。 () 完成文件上传功能。创建源文件的文件输入流,将输入流写入字节数组,使用方法将字节数组中的数据写入网络链接。由于FTP服务器上的文件被打开网站开发,数据被写入目标文件,从而完成文件上传。 () 需要与服务器断开连接。

以上只是上传单个文件的过程。如果有多个文件,则可以多次调用此上传过程。从以上两种方式可以看出,使用FTP协议上传多个文件是比较简单易实现的。使用FTP协议上传文件一般是客户端编写的程序,服务器端的安全设置比较复杂;而使用HTTP协议上传文件是一个服务器端的应用程序,安全设置比较简单。并且通过测试发现,FTP上传方式在传输大文件时比HTTP上传方式快几十倍甚至数百倍,但在传输小于1M的文件时比HTTP上传方式稍慢。因此,两种传输方式各有优势。

Tag: ftp html代码 网页代码
网站制作公众号

宿迁腾云网络网站建设公司 | 网站开发 | 网站制作 | 网站优化

咨询电话:13160355545

上一篇

返回栏目

下一篇

热推

  • 编程语言排行榜榜单:Top10编程语言指数走势(2002-2016)
  • php商城开发教程项目招商找A5快速获取精准代理名单(以下排名不分先后顺序)仿京东商城(基于hdphp框架开发)视频教程(php实战)
  • 2019年8月编程语言排行榜:Java王者依旧(组图)
  • php开发手册 :语言标准Ruby的变量有一定的规则,以@开头的都是类变量后盾php视频教程php博客项目实战开发
  • 入门准备1.PHP的编程基础环境搭建能力(组图)
  • ,来北京兄弟连PHP培训0大数据培训元试听
  • 微信公众平台php开发 微信公众平台数据转化率,为什么图文分析中要有转化率的存在微信公众平台开发 php
  • 开发商城会遇到商品卖的超出预设?腾云网络教你如何更改
  • 什么时候检测的hook默认有三个:post-用于代码进行检测
  • 看看该服务器是怎样启动PHP,并运行PHP中的方法

相关

本文介绍18款极具价值的网页代码编辑器介绍

本文介绍18款极具价值的网页代码编辑器介绍

本文实例讲述在中利用与把网页html直接生成pdf格式的文件

本文实例讲述在中利用与把网页html直接生成pdf格式的文件

WEB编程基础-中文大学mooc

WEB编程基础-中文大学mooc

格式能被word识别吗?如何创建doc文档?

格式能被word识别吗?如何创建doc文档?

用PHPWord.php.ini等函数读取WORD的话

用PHPWord.php.ini等函数读取WORD的话

利用网页弹出各种形式的窗口是怎么搞出来的?

php版本PHP语言基于.x+Vue+等框架精心打造的前后端

站群系统开源 php腾讯云开源业界首个云原生标准的一站式微服

站群系统开源 php腾讯云开源业界首个云原生标准的一站式微服

php 开源轻博客系统学习的原因百度百科优缺点介绍下载5.4

php 开源轻博客系统学习的原因百度百科优缺点介绍下载5.4

php 开源轻博客系统腾讯云轻量服务器应用镜像,一键部署所需

php 开源轻博客系统腾讯云轻量服务器应用镜像,一键部署所需

标签

seo(600) 市场营销(349) 网站(260) 搜索引擎(251) 网站建设(231) 编程语言(206) 网站制作(201) PHP(183) 建站(125) 关键词排名优化(120) 优化(104) 网站建设公司(96) seo排名(86) 软件(81) 科技(80) 外链(76) 域名(65) 网站关键词(58) 搜索引擎优化(54) 电子商务(53) 网站排名优化(51) 网站排名(49) 域名服务器(47) 网站优化(43) 开发(39) seo培训(39) 时政(39) 引擎(39) 关键(38) 搜索引擎收录(38) 网站设计(38) 移动互联网(37) 百度(37) 框架(36) 排名优化(35) 开发框架(35) 网站建设方案(34) 网站分析(32) 源码(31) 开放源代码(30) 前端开发(27) 应用(26) 政府(25) 百度优化(25) 流量(24) 网站服务器(24) 网站权重(24) 联网(23) 域名结构(23) 网站建设知识(23)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络网站建设公司

联系电话:13160355545

公司地址:江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

联系邮箱:admin@tyweb.net

全国分站
  • 北京
  • 广东
  • 东莞 广州 中山 深圳 惠州 江门 珠海 汕头 佛山 湛江 河源 肇庆 潮州 清远 韶关 揭阳 阳江 云浮 茂名 梅州 汕尾
  • 山东
  • 济南 青岛 临沂 济宁 菏泽 烟台 泰安 淄博 潍坊 日照 威海 滨州 东营 聊城 德州 莱芜 枣庄
  • 江苏
  • 苏州 徐州 盐城 无锡 南京 南通 连云港 常州 扬州 镇江 淮安 泰州 宿迁
  • 河南
  • 郑州 南阳 新乡 安阳 洛阳 信阳 平顶山 周口 商丘 开封 焦作 驻马店 濮阳 三门峡 漯河 许昌 鹤壁 济源
  • 上海
  • 河北
  • 石家庄 唐山 保定 邯郸 邢台 沧州 秦皇岛 张家口 衡水 廊坊 承德
  • 浙江
  • 温州 宁波 杭州 台州 嘉兴 金华 湖州 绍兴 舟山 丽水 衢州
  • 陕西
  • 西安 咸阳 宝鸡 汉中 渭南 安康 榆林 商洛 延安 铜川
  • 湖南
  • 长沙 邵阳 常德 衡阳 株洲 湘潭 永州 岳阳 怀化 郴州 娄底 益阳 张家界 湘西
  • 重庆
  • 福建
  • 漳州 泉州 厦门 福州 莆田 宁德 三明 南平 龙岩
  • 天津
  • 云南
  • 昆明 红河 大理 文山 德宏 曲靖 昭通 楚雄 保山 玉溪 丽江 临沧 思茅 西双版纳 怒江 迪庆
  • 四川
  • 成都 绵阳 广元 达州 南充 德阳 广安 阿坝 巴中 遂宁 内江 凉山 攀枝花 乐山 自贡 泸州 雅安 宜宾 资阳 眉山 甘孜
  • 广西
  • 贵港 玉林 北海 南宁 柳州 桂林 梧州 钦州 来宾 河池 百色 贺州 崇左 防城港
  • 安徽
  • 芜湖 合肥 六安 宿州 阜阳 安庆 马鞍山 蚌埠 淮北 淮南 宣城 黄山 铜陵 亳州 池州 巢湖 滁州
  • 海南
  • 三亚 海口 琼海 文昌 东方
  • 江西
  • 南昌 赣州 上饶 吉安 九江 新余 抚州 宜春 景德镇 萍乡 鹰潭
  • 湖北
  • 武汉 宜昌 襄樊 荆州 恩施 孝感 黄冈 十堰 咸宁 黄石 仙桃 随州 天门 荆门 潜江 鄂州 神农架
  • 山西
  • 太原 大同 运城 长治 晋城 忻州 临汾 吕梁 晋中 阳泉 朔州
  • 辽宁
  • 大连 沈阳 丹东 辽阳 葫芦岛 锦州 朝阳 营口 鞍山 抚顺 阜新 本溪 盘锦 铁岭
  • 黑龙江
  • 齐齐哈尔 哈尔滨 大庆 佳木斯 双鸭山 牡丹江 鸡西 黑河 绥化 鹤岗 伊春 大兴安岭 七台河
  • 内蒙古
  • 赤峰 包头 通辽 呼和浩特 乌海 鄂尔多斯 呼伦贝尔
  • 贵州
  • 贵阳 黔东 黔南 遵义 黔西 毕节 铜仁 安顺 六盘水
  • 甘肃
  • 兰州 天水 庆阳 武威 酒泉 张掖 陇南 白银 定西 平凉 嘉峪关 临夏 金昌 甘南
  • 青海
  • 西宁 海西 海东 海北 果洛 玉树 黄南
  • 新疆
  • 乌鲁木齐 伊犁 昌吉 石河子 哈密
  • 西藏
  • 拉萨 山南 林芝 日喀则
  • 吉林
  • 长春 白山 白城 延边 松原 辽源 通化 四平
  • 宁夏
  • 银川 吴忠 中卫 石嘴山 固原
SiteMap
网站地图
TAG标签
Copyright © 2017-2022 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

精品模板
建站费用
成功案例
联系我们