1、 PHP文件上传案例:上传头像 编写上传头像程序目录任务分析相关知识任务实现PART 01任务分析任务分析在PHP中,要实现上传头像功能,必须解决以下几个问题:(1)制作上传文件表单;(2)修改PHP配置文件,设置关于文件上传的相关属性;(3)上传文件的错误处理;(4)实现文件上传功能,为上传后的文件自动生成唯一的文件名;(5)上传头像后,显示当前上传的头像。导 读RFID关键技术之一RFID防碰撞技术案例7-1 采矿又添新助手,RFID碰撞预警系统问世在澳大利亚采矿业中,那些地下车辆、拖拉机或运输车辆都被称为boggers。可以想象这些车辆行驶在并非总是亮堂的隧道内,并且因为没有后视镜和侧视
2、镜而限制了视力范围,十字路口处又不能提供能见度,无法知道有什么车辆会冲撞出来。漆黑的矿井里到处都可能有boggers横冲直撞。这些地下的车辆在配备了RFID公司的新型碰撞预警系统之后,可以安全地运行,即在通过矿井隧道的时候不用担心在这样混乱的周围环境里碰撞到其他的移动设备。所有这些车辆都是重要的投资资本,如果boggers碰撞后,资金上损失的不仅是车辆,而且还有闲置资产,更不用说人身安全方面了。TELFER金矿在前两年有三辆巡视车辆被boggers压碎,每辆车损失了8万美元。导 读问题:如何不让boggers与其他地下车辆相撞呢?RFIDInc.与他们在澳大利亚长期的分销商和技术合作伙伴太平洋
3、自动化公司,开发了一个新的产品,解决了这个问题。这个新型碰撞预警系统可发挥在角落监管的功能,公司花费了大量的时间来研制。该解决方案为采矿业量身定做,频率为433MHz,是一个远距离有源电子标签系统。将RFID标签和读写器放到每一辆车里,读写器将提醒操作员何时会在预定的范围内出现别的车辆。读写器安在操作员可见的车辆驾驶室里并且还有一个LED显示屏和一个鸣笛喇叭。有人可能会问,如果每个bogger都有自己的RFID标签,那读写器会不会不断读到标签,接连发出错误的警报呢?为了避免这一问题,RFIDInc.增加了一个功能,读写器可以设置为忽略某个特殊的标签。这个功能也是可以改变的,如有需要,可以指定新
4、的要忽略的标签。RFID关键技术之一RFID防碰撞技术导 读问题:如何不让boggers与其他地下车辆相撞呢?该碰撞预警系统实际上是RFIDInc.公司“Extenda-Read”的一个延伸的生产线。这些产品包括RFID标签和读写器,有源的和半有源的,频率为433.92MHz。这些产品应用于如卡车和车辆的ID识别、门禁控制、员工考勤和跟踪、停车场管理等等。保证安全并且省钱:该碰撞预警系统的关键仍然是向采矿承包商或bogger操作员展示出车辆的安全运行和系统能克服能见度问题。系统还有其他一些功能,比如操作员可按下自我测试按钮,以确保该系统良好的使用状态。由于矿址不同,有的地方可能需要10米的射程
5、,而另一个地方可能需要20米,所以整体的系统是根据要求去制定射程。在433MHz的频率下,石墙是没有问题,金属就要受干扰了,因为RF传输不能穿过金属。然而使用这种产品,boggers就不会遇到这种问题,因为RF传输足够强大,可以穿透金属。RFID关键技术之一RFID防碰撞技术 导 读问题:如何不让boggers与其他地下车辆相撞呢?在读写器的数米之外放置一个MasterRangeProgrammingTag(MRPT)并按下自动调节按钮,读写器会一次跳出1米的距离去搜寻MRBT标签。一旦发现RFID标签,读写器将自动调整读距。标签的金属周围还有些低电量指示器,尽管电子标签里的电池能使用5年,但
6、是在电池用完之前电池指示器会帮助管理者更换电池。RFIDInc.公司的前身为Telsor公司,是世界上历史最悠久的有源RFID公司,其主体市场是工厂自动化和工业识别。FRIDInc.公司经理兼CEOJamesHeurich补充说:“我们一直致力于让公司拥有各种各样的RFID技术产品,其产品的多元化使之在许多市场得到应用,从而不仅在不同的经济时代可以生存,而且能适应自1984年以来技术上的不断更新。公司正为很多领域提供各种各样的解决方案,包括Kellogg谷物食品和汽车制造商、医药行业以及诸如Blockbuster或HollywoodVideo这样的零售巨头。”RFID关键技术之一RFID防碰撞
7、技术导 读案例分析与讨论:(1)什么是碰撞,如何解决RFID碰撞?(2)RFID定位技术的原理是?(3)什么要进行RFID系统测试,RFID系统测试主要测试什么?RFID关键技术之一RFID防碰撞技术碰撞产生的原因无线射频识别技术RFID是利用射频信号和空间耦合(电感或电磁耦合)传输特性自动识别目标物体的技术,RFID系统一般由电子标签和阅读器组成。阅读器负责发送广播并接收标签的标识信息,标签收到广播命令后将自身标识信息发送给阅读器。然而由于阅读器与所有标签共用一个无线信道,由于RFID系统的应用过程中,经常会有多个阅读器和多个标签的应用场合,这就会造成标签之间或阅读器之间相互干扰,这种干扰统
8、称为碰撞(Collision)。RFID关键技术之一RFID防碰撞技术碰撞产生的原因由于标签含有可被识别的唯一信息(序列号),RFID系统的目的就是要读出这些信息。如果只有一个标签位于阅读器的可读范围内,则无需其他的命令形式即可直接进行阅读,如果有多个标签同时位于一个阅读器的可读范围内,则标签的应答信号就会相互干扰形成所谓的数据冲突,从而造成阅读器和标签之间的通信失败。为了防止这些碰撞的产生,在RFID系统中需要设置一定的相关命令,并通过适当的操作解决碰撞问题,这些操作过程被称为防碰撞命令或算法(Anti-collision Algorithms)。RFID防碰撞问题与计算机网络冲突问题类似,
9、但是,由于RFID系统中的一些限制,使得传统网络中的很多标准的防碰撞技术都不适于或很难在RFID系统中应用。这些限制因素主要有:标签不具有检测冲突的功能而且标签间不能相互通信,因此冲突判决需要由阅读器来实现;标签的存储容量和计算能力有限,就要求防冲突协议尽量简单和系统开销较小,以降低其成本。RFID系统通信带宽有限,因此需要防碰撞算法尽量减少读写器和标签间传送的信息比特的数目。因此,如何在不提高RFID系统成本的前提下,提出一种快速高效的防冲突算法,以提高RFID系统的防碰撞能力同时识别多个标签的需求,从而将RFID技术大规模的应用于各行各业,是当前RFID技术亟待解决的技术难题。RFID关键
10、技术之一RFID防碰撞技术PART 02相关知识相关知识1制作上传文件表制作上传文件表单 上传头像:相关知识2PHP配置文件中配置文件中的相关参数参数PHP配置文件php.ini中关于文件上传的相关参数有以下几个。file_uploads:是否允许通过HTTP上传文件,默认为ON,表示为允许上传。upload_max_filesize:允许上传文件大小的最大值,默认为2MB。post_max_size:通过表单POST给PHP的所能接收的最大值,包括表单里的所有的值,默认为8MB。upload_tmp_dir:文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹。相关知识
11、3$_FILES数组数组$_FILES是一个二维数组,每个提交的文件是一个数组元素,其键名为表单中file标签的name属性,其值为一个一维数组,有5个元素,每个元素都表示一个提交文件的信息。这些信息的说明如下:$_FILESFuploadname:表示上传文件的名称,如本例中文件名为pic.jpg;$_FILESFuploadtype:上传文件MIME类型;$_FILESFuploadtmp_name:上传文件保存在服务器的临时文件路径;$_FILESFuploaderror:文件上传的错误代码,0表示上传成功,其他值则表示出错;$_FILESFuploadsize:上传文件的大小,以字节为
12、单位。相关知识4上传文件上传文件的错误错误处理处理“$_FILESFuploaderror”表示文件上传的错误代码代码代码常量常量描述描述0UPLOAD_ERR_OK没有错误发生,文件上传成功1UPLOAD_ERR_INI_SIZE上传文件的大小超过了php.ini中upload_max_filesize选项限制的值2UPLOAD_ERR_FORM_SIZE上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值3UPLOAD_ERR_PARTIAL文件只有部分被上传4UPLOAD_ERR_NO_FILE没有文件被上传6UPLOAD_ERR_NO_TMP_DIR找不到临时文件夹
13、7UPLOAD_ERR_CANT_WRITE文件写入失败相关知识5move_uploaded_file()功能功能:文件上传成功后,文件会暂时保存在服务器的临时目录中,默认为C:WindowsTemp,为了让上传的文件保存到程序员指定的目录下,需要使用函数move_uploaded_file()将临时目录下的文件移动到程序员指定的目录。语法语法:bool move_uploaded_file(string filename,string destination)其中,第一参数是临时目录,第二个参数是需要移动到的程序员指定的目标路径。PART 03任务实现上传用户头像上传头像:img src=/上传头像:任务实现第一步:制作网页界面第一步:制作网页界面运行结果:上传用户头像上传头像:img src=/上传头像:完整代码见demo9.16.php任务实现第二第二步:编写步:编写PHP代码,实现代码,实现后台功能后台功能运行结果:完整代码见demo9.16.php课后练习完成上传头像程序。并添加注释,备注当前日期。总结掌握PHP中实现文件上传的方法利用学习的知识完成了本节提出的任务010203 谢谢观看河北科技工程职业技术大学