关系数组

  array("key"=>"value",...) ;

get没有数据大小的限制

post上传大小没有限制

不指定上传方式,默认是get

文件上传

  需要在html中 form属性中添加 enctype = "multipart/form-data"

<!-- 上传文件必须设置 enctype ='multipart/form-data' --><form action="text01.php" method="post" enctype="multipart/form-data"><input type="file" name="upFile"  ><input type="file" name="upFileTwo"  ><input type="submit" ></form>

  • 服务器端代码
  • $_FILES["file"]["name"] - 被上传文件的名称
  • $_FILES["file"]["type"] - 被上传文件的类型
  • $_FILES["file"]["size"] - 被上传文件的大小,以字节计
  • $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
  • $_FILES["file"]["error"] - 由文件上传导致的错误代码
  • move_uploaded_file(移动文件)

    • 上传的临时文件,一会就会被自动删除,我们需要将其移动到保存的位置
    • move_uploaded_file参数:

      • 参数1:移动的文件
      • 参数2:目标路径
        move_uploaded_file($_FILES['photo']['tmp_name'], './images/‘.test.jpg);
<?php // 让php 延迟一会会儿// 让php代码 延迟一会 传入的是 秒// sleep(3);// 输出结果
    print_r($_FILES);// $_FILES的值/*Array ( [upFile] => Array ( [name] => yangyang.jpg [type] => image/jpeg [tmp_name] => D:\wamp\tmp\phpCC56.tmp [error] => 0 [size] => 18145 ) )*/// 获取 上传的文件信息 关系型数组$fileArr = $_FILES['upFile'];// 获取 上传的文件的原本名字$fileName = $fileArr['name'];echo $fileName.'<br>';// 获取 保存在服务器的那个位置$filePath = $fileArr['tmp_name'];echo $filePath.'<br>';// 知道 如何在php中 将文件保存// 参数2 写的是相对的路径 相对于该php文件 的files文件夹保存为的 123.pngmove_uploaded_file($filePath,'mydownload/'.$fileName);
?>

常见网络传输协议

协议可以理解为一套规范,当使用的双反都遵守这套规范时,才能够实现沟通.比如对于嘿嘿的理解不同,带来的沟通障碍.网络协议就有更多规则,需要先干什么,再干什么

  • 常见协议

    • HTTP,HTTPS超文本传输协议
    • FTP文件传输协议
    • SMTP邮件传输协议

监测工具

使用监测工具我们可以查看这些HTTP请求,以及编辑请求内容,重新发送等

  • 浏览器

    • Chrome,Firefox开发工具
  • 抓包工具
    • Fiddler,Charles

请求/请求报文

请求有客户端发出,主要有三个组成部分:请求行,请求头,请求主体

  • 请求行:

    • 请求方法:GET
    • 请求URL
    • HTTP协议版本
  • 请求头

    • 这里设置的主要是一些信息,包含客户端,服务器
User-Agent:浏览器的具体类型  如:User-Agent:Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0Accept:浏览器支持哪些数据类型  如:Accept: text/html,application/xhtml+xml,application/xml;q=0.9;Accept-Charset:浏览器采用的是哪种编码  如:Accept-Charset: ISO-8859-1Accept-Encoding:浏览器支持解码的数据压缩格式  如:Accept-Encoding: gzip, deflateAccept-Language:浏览器的语言环境  如:Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。Host:www.baidu.comConnection:表示是否需要持久连接。Keep-Alive/close,HTTP1.1默认是持久连接,它可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。如:Connection: Keep-AliveContent-Length:表示请求消息正文的长度。对于POST请求来说Content-Length必须出现。Content-Type:WEB服务器告诉浏览器自己响应的对象的类型和字符集。例如:Content-Type: text/html; charset='gb2312'Content-Encoding:WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。例如:Content-Encoding:gzipContent-Language:WEB服务器告诉浏览器自己响应的对象的语言。Cookie:最常用的请求头,浏览器每次都会将cookie发送到服务器上,允许服务器在客户端存储少量数据。Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。服务器能知道你是从哪个页面过来的。Referer: http://www.baidu.com/
  • 请求体

    • 这里是提交给服务器的数据
    • 需要注意的是,如果是往服务器提交数据,需要在请求头中设置Content-Type: application/x-www-form-urlencoded(在ajax中需要手动设置)

响应/响应报文

响应报文是服务器发回给客户端的.组成部分有状态行,响应头,响应主体

常见相应属性

Cache-Control 响应输出到客户端后,服务端通过该报文头属告诉客户端如何控制响应内容的缓存。 下面,的设置让客户端对响应内容缓存3600秒,也即在3600秒内,如果客户再次访问该资源,直接从客户端的缓存中返回内容给客户,不要再从服务端获取(当然,这个功能是靠客户端实现的,服务端只是通过这个属性提示客户端“应该这么做”,做不做,还是决定于客户端,如果是自己宣称支持HTTP的客户端,则就应该这样实现)。Cache-Control: max-age=3600ETag一个代表响应服务端资源(如页面)版本的报文头属性,如果某个服务端资源发生变化了,这个ETag就会相应发生变化。它是Cache-Control的有益补充,可以让客户端“更智能”地处理什么时候要从服务端取资源,什么时候可以直接从缓存中返回响应。ETag: "737060cd8c284d8af7ad3082f209582d"Location我们在Asp.net中让页面Redirect到一个某个A页面中,其实是让客户端再发一个请求到A页面,这个需要Redirect到的A页面的URL,其实就是通过响应报文头的Location属性告知客户端的,如下的报文头属性,将使客户端redirect到iteye的首页中:Location: http://www.google.com.hkSet-Cookie服务端可以设置客户端的Cookie,其原理就是通过这个响应报文头属性实现的。Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1HTTP响应体:如果请求的是HTML页面,那么返回的就是HTML代码。如果是JS就是JS代码。HTTP响应头:而设置Cookie,缓存等信息就是在响应头属性设置的。HTTP响应行:主要是设置响应状态等信息。

常见的响应状态

转载于:https://www.cnblogs.com/mingm/p/6884180.html

PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性...相关推荐

  1. php上传报文,PHP-02.文件上传、php保存/转移上传的文件、常见的网络传输协议、请求报文及属性、响应报文及属性...

    关系数组 array("key"=>"value",...) ; get没有数据大小的限制 post上传大小没有限制 不指定上传方式,默认是get 文件上 ...

  2. 封装一类模拟标准化考试,标准化试题文件 test.txt 预先保存在与当前类文件在同一目录 下,它的格式要求如下:

    封装一类模拟标准化考试,标准化试题文件 test.txt 预先保存在与当前类文件在同一目录 下,它的格式要求如下:(1)每道题目提供 A .B.C.D 四个选择(单项选择):(2)两道题目 之间是用减 ...

  3. 文件上传(保存本地)和将文件转为base64

    //文件上传相关代码 @RequestMapping(value = "/testUploadFileTwo") @ResponseBody public String uploa ...

  4. thinkphp6+webuploader实现大文件(视频)分片上传/本地保存或上传OSS

    thinkPHP6+webuploader分片上传大视频的解决方案: ①能解决视频太大,1G.2G直传服务器压力过大 ②部分追求完美的人不发接受直传,那只能分片上传 ③分片上传是我找到的比较合理的解决 ...

  5. java上传文件图片到服务器保存,Java上传文件图片到服务器的方法

    这里我记录一个比较简单方便操作的java上传文件图片到服务器并且保存,具体内容如下 首先是页面html的   我这是提交一个文件和类型 我是添加一张临时图片得到微信的media_id保存数据库! en ...

  6. Linux用户登录自动拷贝文件,linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录...

    原文出处: http://blog.csdn.net/five3/article/details/8648484 最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令 ...

  7. FTP文件传输协议(英文:File Transfer Protocol,缩写:FTP)

    文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式.它属于网络传输协议的应用层.文件传送(file tran ...

  8. 从计算机找不到桌面文件,文件夹左侧计算机图标找不到了无法保存及上传怎么办...

    文件夹左侧计算机图标找不到了无法保存及上传怎么办 一般情况下,Windows 7 资源管理器左侧的导航窗格默认有如下内容:收藏夹.库.计算机.网络. 有位网友反映在刚重装系统的时候,不小心删掉了导航窗 ...

  9. 文件上传服务器保存形式,78.上传文件及在服务器保存文件到任意路径

    上传文件到服务器是一个常用的操作,而在服务器上保存文件就需要多多用心了.因为你不可能只在一个路径里保存文件,所以需要实践一下保存文件到任意位置.当然,前提是你的应用程序有这样的操作权限. 首先建立一个 ...

最新文章

  1. 挑战杯科展上的智能车作品
  2. 关于iview、element-ui重置表单并清除校验的方法
  3. 设计模式复习-访问者模式
  4. python定义方法继承类_Python类的定义、继承及类对象使用方法简明教程
  5. HDFS基本概念和特性的详情了解及优缺点
  6. ssh重装ubuntu_Ubuntu环境下SSH的安装及使用详解
  7. SQL Server 阻塞原因分析
  8. 未能找到存储过程sp__sp_WhoIsActive存储过程概述
  9. php弹窗24小时一次,JS利用cookies设置每隔24小时弹出框
  10. 【linux】两个线程实现出库与入库操作
  11. Escape Sequences in String
  12. Zotero | zotero与endnote题录与pdf文件的完整互转(2)
  13. 3D图像线性插值算法实现
  14. 计算机网络技术组装与维护,计算机组装与维护计算机网络技术(组网)()课程标准(范文).doc...
  15. 电商平台中的架构实践
  16. 软件学院“SIdea”软件创意大赛
  17. 锂离子电池是由什么组成的
  18. msf拿到shell显示乱码解决方法以及chcp各种编码的补充
  19. dbeaver针对某张表写sql(复制软件sql模板)
  20. Hello, World! 发明者布莱恩·W.克尼汉的传奇人生

热门文章

  1. 数据结构java语言kmp_数据结构(java语言描述)模式匹配——KMP算法
  2. Redis启动报错:[20000] 07 Apr 17:55:34.562 # Creating Server TCP listening socket 127.0.0.1:6379: bind: N
  3. 《非暴力沟通》听书心得
  4. 国内MySQL技术现状_1024不搬砖,谈谈自己2020剩余两月的学习计划
  5. centos 管道符取第一行_Linux用户组管理及用户权限及管道符应用
  6. 项目放到git_Git的基本使用(二)
  7. 相机成像原理_数码相机的工作原理
  8. boost库 python_Boost.Python简介-阿里云开发者社区
  9. 利用计算机峰值,计算机的峰值速度
  10. python源码提取_Python|第一个python程序(获取音乐下载地址,附源码)