作者:手机用户2502936117 | 来源:互联网 | 2023-05-18 19:48
今天看了一本关于PHP的书,让我了解了PHP上传文件的方法,最主要的两个函数是move_uploade_file(临时文件,目标位置和文件名)和is_uploaded_file()
今天看了一本关于PHP的书,让我了解了PHP上传文件的方法,最主要的两个函数是move_uploade_file(临时文件,目标位置和文件名)和is_uploaded_file(),前者用来移动上传后保存在服务器缓存区的文件到目标文件,后者用来判断文件是否上传成功。除了以上两个函数之外,还要说明一下form标签中enctype的值应该如下:
- <formenctypeformenctype=multipart/form-datamethod=postname=upform>
只有其值为multipart/form-data才能保证以正确的编码方式上传文件。input标签type属性中的file
- <inputnameinputname=upfiletype=file>
另一个系统函数是$_FILES,$_FILES[myFile][name]客户端文件的原名称、$_FILES[myFile][type]文件的MIME类型,例如image/gif、$_FILES[myFile][size]已上传文件的大小,单位为字节、$_FILES[myFile][tmp_name]储存的临时文件名,一般是系统默认、$_FILES[myFile][error]该文件上传相关的错误代码。这个函数将上传文件的信息分割成数组形式保存在不同的数组元素中,例如,文件名的值存储在$_FILES[myFile][name]中。下面附上自己写的简单的PHP上传文件代码:
PHP上传文件代码类saveupload.php
- php
- if(is_uploaded_file($_FILES[upfile][tmp_name])){
- $upfile=$_FILES[upfile];//如果已经选定了要上传的文件,将其索引保存在$upfile中
-
-
- //分别去上传文件的名字,类型等
- $name=$upfile[name];
- $type=$upfile[type];
- $size=$upfile[size];
- $tmp_name=$upfile[tmp_name];
- $error=$upfile[error];
-
-
- //设定上传文件类型
- switch($type){
- caseimage/pjpeg:
- $ok=1;
- break;
-
- caseimage/jpeg:
- $ok=1;
- break;
-
- caseimage/png:
- $ok=1;
- break;
-
- caseimage/gif:
- $ok=1;
- break;
- }
-
-
- //如果文件类型合法并且$error返回值为0,说明上传成功
- if($ok&&$error==0){
- move_uploaded_file($tmp_name,up/.$name);//将保存在缓存的文件移动到指定目录下
- echo上传成功;
- }
- }
-
- ?>
PHP上传文件代码上传页面upload.php
- >
- <htmlxmlnshtmlxmlns=http://www.w3.org/1999/xhtml>
- <head>
- <metahttp-equivmetahttp-equiv=Content-Typecontent=text/html;charset=utf-8/>
- <title>uploadtitle>
- <styletypestyletype=text/css>
- body{
- background-color:#CFF;
- text-align:center;
- }
- -->
- style>head>
-
- <body>
- 文件上传
- <hr/>
- <formidformid=form1name=form1method=postaction=saveupload.phpenctype=multipart/form-data>
- 上传文件:
- <label>
- <inputtypeinputtype=filename=upfile/>
- label>
- <label>
- <inputtypeinputtype=submitname=buttonid=buttonvalue=上传/>
- label>
- form>
-
- body>
推荐阅读
-
探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ...
[详细]
蜡笔小新 2024-12-21 18:26:33
-
本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ...
[详细]
蜡笔小新 2024-12-20 23:20:38
-
-
要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ...
[详细]
蜡笔小新 2024-12-20 15:00:51
-
小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ...
[详细]
蜡笔小新 2024-12-22 13:59:04
-
本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ...
[详细]
蜡笔小新 2024-12-22 12:55:37
-
本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ...
[详细]
蜡笔小新 2024-12-21 18:50:52
-
本文介绍了如何使用CSS实现网站导航栏中当前页面的高亮显示,提升用户体验。通过为每个页面的body元素添加特定ID,并结合导航项的类名,可以轻松实现这一功能。 ...
[详细]
蜡笔小新 2024-12-21 17:42:25
-
在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ...
[详细]
蜡笔小新 2024-12-21 15:46:52
-
本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ...
[详细]
蜡笔小新 2024-12-20 18:36:06
-
本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ...
[详细]
蜡笔小新 2024-12-20 17:24:41
-
本文详细探讨了 PHP 中常见的 '未定义索引' 错误,包括其原因、解决方案及最佳实践。通过实例和代码片段,帮助开发者更好地理解和处理这一常见问题。 ...
[详细]
蜡笔小新 2024-12-20 14:21:20
-
2019独角兽企业重金招聘Python工程师标准model:public$imageFile;publicfunctionrules(){return[[[na ...
[详细]
蜡笔小新 2024-12-20 10:19:12
-
本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ...
[详细]
蜡笔小新 2024-12-20 23:46:25
-
本文详细介绍了JMeter中定时器的功能和使用方法,探讨了其在性能测试中的重要性,并结合实际案例解释了如何合理配置定时器以模拟真实的用户行为。文章还涵盖了定时器的执行顺序及其与其他元件的相互作用。 ...
[详细]
蜡笔小新 2024-12-20 13:46:54
-
本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ...
[详细]
蜡笔小新 2024-12-20 10:14:51
-
手机用户2502936117
这个家伙很懒,什么也没留下!