文件上传
文件上传
目的:用户可以通过浏览器,将本地文件上传到服务器
以单文件上传为例
sinFun.php
<?php /** *文件上传函数 * *@param string $name 文件上传文件域的name值 *@param string $dir 文件上传的指定保存路径 *@param array $allow 文件上传允许的文件类型 * *return string $filename 文件名 失败时,返回false * */ function uploads($name,$dir,$allow=array('image/jpeg','image/png')) { //1. 判断文件上传错误 if($_FILES[$name]['error'] > 0) { //文件上传出错 switch($_FILES[$name]['error']) { case 1: echo '上传的文件大小超过配置文件中的upload_max_filesize值'; break; case 2: echo '上传文件的大小超过表单提交的最大值'; break; case 3: echo '文件只有部分上传'; break; case 4: echo '没有文件被上传'; break; case 6: echo '找不到临时文件夹'; break; case 7: echo '文件写入失败'; break; default : echo '其它错误'; break; } return false; } //2. 判断你上传文件的类型是否是你想要的类型 if(!in_array($_FILES[$name]['type'],$allow)) { echo '文件类型不符合'; return false; } //3. 获取上传文件后缀名 $suffix = pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION); //4. 起名字 $filename = date('Ymd').uniqid().mt_rand(0,9999999).'.'.$suffix; //5. 判断保存的路径是否存在 $save_path = rtrim($dir,'/'); $save_path .= '/'; $save_path .= date('Ymd'); // var_dump($save_path); if(!file_exists($save_path)) { mkdir($save_path,777,true); } //拼接一个完整的保存路径 $path = $save_path.'/'.$filename; // var_dump($path);die; //6 判断是否是HTTP post方式上传 if(!is_uploaded_file($_FILES[$name]['tmp_name'])) { echo '传输方式不对'; return false; } //7 移动图片 if(!move_uploaded_file($_FILES[$name]['tmp_name'], $path)) { echo '移动失败'; return false; } //返回移动成功的文件名 return $filename; } ?>
upload.html
<!DOCTYPE html> <html lang="zh" dir="ltr"> <head> <meta charset="utf-8"> <title>单文件上传</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> 上传头像:<input type="file" name="profile" /> <button>提交</button> </form> <!-- 注意: 1. 表单提交的方式必须是 post 2. form表单中必须添加enctype属性 3. input 中要设置name属性 --> </body> </html>
upload.php
<?php include("./sinFun.php"); $result = uploads('profile','./upload',array('image/jpeg','image/png')); var_dump($result); ?>
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
想把python爬虫了解透彻吗?一起盘它 ! !
原理 传统的爬虫程序从初始web页面的一个或多个url开始,并获取初始web页面的url。在抓取web页面的过程中,它不断地从当前页面中提取新的url并将其放入队列中,直到满足系统的某些停止条件。聚焦爬虫的工作流程比较复杂。需要根据一定的网页分析算法对与主题无关的链接进行过滤,保留有用的链接并将其放入正在等待的URL队列中。 然后,根据一定的搜索策略,从队列中选择要抓取的下一个页面URL,重复这个过程,直到达到系统的一定条件。此外,爬虫程序捕获的所有web页面将由系统存储、分析、过滤和索引,以供后续查询和检索。 所以一个完整的爬虫一般会包含如下三个模块: 网络请求模块 爬取流程控制模块 内容分析提取模块 网络请求 我们常说爬虫其实就是一堆的http(s)请求,找到待爬取的链接,然后发送一个请求包,得到一个返回包,当然,也有HTTP长连接(keep-alive)或h5中基于stream的websocket协议,这里暂不考虑; 所以核心的几个要素就是: url 请求header、body 响应herder、内容 URL 爬虫开始运行时需要一个初始url,然后会根据爬取到的html文章,解析...
- 下一篇
2019最细腻的python入门学习图,你难道不想了解一下吗?
前言 最近python火爆程度可谓是顶级流量语言,认识它的人也越来越多,当然学习的人也是蒸蒸日上,隐隐有第一语言的噱头,学的人多了,小白自然也很多,你们在学习的过程中总会遇到一些烦恼,不知道从何学起,都希望能够得到一份python学习路线图。 对于一些0基础的想要学习python的人来说,学习方法非常重要,学习方法不对,努力也白费,所以我们需要有一个正确的学习方法。 Python学习路线一:Python基础 必学知识:【Linux基础】【Python基础语法】【Python字符串】【文件操作】【异常处理】【Python面向对象】【项目实战】 路线讲解:该路线循序渐进,科学合理,帮助学习者建立正确的编程思想,具备基本的编程能力; Python学习路线二:Python高级编程 必学知识:**【Python平台迁移Linux】【Python常用第三方库】【Python高级语法】【Python正则表达式】【网路编程】【系统编程】【数据结构与算法】【项目实战】** 路线讲解:该路线强调数据结构和算法的学习,着重提升学习者的编程核心能力;使学习者能够熟练掌握Python高级用法及网络相关知识,能够...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6