php文件上传实验总结,53 PHP文件处理(六)文件上传--总结---细说php

前台表单设计,表单view.html,提交给upload.php

一.表单view.html

php配置文件和上传文件有关选项,注意几点:

php.ini

file_uploads=on

upload_max_filesize=2M   此值最大不超过服务器内存

upload_tmp_dir=c:/uploads  到时要拷贝出来

post_max_size=25M  要大于upload_max_filesize

2.表单需要注意几点:

1.如果有文件上传操作必须用post方法;图片要用类型file;如有文件上传enctype="multipart/form-data”

File Uploads

shopname:

shopprice:

shopnum :

shoppic:

二.php处理上传数据

注意以下几点:

有表单,有文件,需要分开些;

$_post接收表单数据;$_file接收文件

//step 1 使用$_FILES['pic']["error"] 检查错误

if($_FILES["pic"]["error"] > 0){

switch($_FILES["pic"]["error"]) {

case 1:

echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值
";

break;

case 2:

echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";

break;

case 3:

echo "文件只有部分被上传";

break;

case 4:

echo "没有文件被上传";

break;

default:

echo "末知错误";

}

exit;

}

$maxsize=5000000;  //50k

//step 2 使用$_FILES["pic"]["size"] 限制大小 单位字节 2M=2000000

if($_FILES["pic"]["size"] > $maxsize ) { echo "上传的文件太大,不能超过{$maxsize}字节"; exit; } //step 3 使用$_FILES["pic"]["type"]或是文件的扩展名 限制类型 MIME  image/gif  image/png    gif png jpg /*   list($dl, $xl) = explode("/", $_FILES["pic"]["type"]); if($dl!="image"){ echo "请上传一个图片,不充许其它类型文件"; exit; } */ $allowtype=array("png", "gif", "jpg", "jpeg"); $arr=explode(".", $_FILES["pic"]["name"]); $hz=$arr[count($arr)-1]; if(!in_array($hz, $allowtype)){ echo "这是不充许的类型"; exit; } //step 4 将上传后的文件名改名 $filepath="./uploads/"; $randname=date("Y").date("m").date("d").date("H").date("i").date("s").rand(100, 999).".".$hz; //将临时位置的文件移动到指定的目录上即可 if(is_uploaded_file($_FILES["pic"]["tmp_name"])){ if(move_uploaded_file($_FILES["pic"]["tmp_name"], $filepath.$randname)){ echo "上传成功"; }else{ echo "上传失败"; } }else{ echo "不是一个上传文件"; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS 5.6 快速搭建LAMP

在虚拟机下安装了个CentOS,5.6版本的。利用NAT模式与宿主pc共享上网! 当然可以采用编译源码的方式搭建lamp。这里只是介绍快速搭建php开发框架的方法。其实也没什么,主要是是是使用linux的yum来在线安装。如果上不了网请查找编译lamp的文…

阿里25k 百度25k,招WPF!

.NET5打通7大开发方向,CLR超高性能,.NET6支持Blazor嵌入WPF,还有MAUI跨平台UI解决方案,都是.NET的利好,也是WPF的利好。牛年跳槽季,.NET在客户端方向一骑绝尘,阿里影视、百度地图,以…

php转译html,使用php转义输出HTML到JavaScript

最近在做天地图是GIS集成要输出HTML到JavaScript里面涉及到代码转义什么的比较麻烦所以写个PHP的function分享一下:function jsformat($str){$str trim($str);$str str_replace(\\s\\s, \\s, $str);$str str_replace(chr(10), , $str);$str str_replace(chr(13)…

掌握神经网络模型的快捷方式

TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow实际上就是张量从流…

Visual Entity 手册(十一)代码生成设置

NHibernate 代码生成设置(仅选取比较难理解的选项) 一、DataContext 设置选项 1、Auto-Implemented Properties 设为 True 时,生成自动属性,如下: public partial class Category{public virtual int CategoryID { get…

.Net项目模板(Project Template)

你有没有这样的感觉,开启一个新项目时,总是做一堆体力活——项目的结构层次,常用日志库,OpenAPI库,ORM库,的引入,权限认证方式选择添加,配置文件重新归置存放等等。公共框架的部分总…

php导出数据库的指定表数据,MYSQL教程mysql数据库导出指定表数据的方法

《MYSQL教程mysql数据库导出指定表数据的方法》要点:本文介绍了MYSQL教程mysql数据库导出指定表数据的方法,希望对您有用。如果有疑问,可以联系我们。导读:linux下导出mysql中指定表数据 :MYSQLdump -uroot -p databas…

谈通过测试与失败测试

在软件测试技术中,现有的测试方法、测试技术中均未提及到通过测试与失败测试。 而在实际项目测试过程中,很多项目组却再应用该方法。虽然该方法被采用,但是很多人对通过测试与失败测试理解并不透侧,在实际使用过程中并未按统一的标…

100个微信小程序的源码公开分享

现在微信小程序越来越火,小编一直有意识地收集微信小程序源码,至今已经拥有100个小程序的源码,有gank、LOL战绩查询、百度小说、豆瓣电影、手势解锁等。现在,小编准备将这些资料免费分享给大家!gankLOL战绩查询百度小说…

NET问答:什么场景下应该选择 struct 而不是 class ?

咨询区 Esteban Araya:MSDN 上说当你需要一个轻量级对象时应该选择 struct,说的含含糊糊,真的不知道有哪些场景下优先选择 struct 而不是 class。可能有些人已经忘了。struct 可以有方法。struct 不能被继承。我非常明白 struct 和 class 在技…

php类的的属性值,PHP面向对象之旅:类的属性

在PHP5中,在属性定义可以不设置初值,或者赋予以下红色类型的初值。PHP中简单类型有8种,分别是:数值类型boolean 布尔类型integer 整型float 浮点型,也称为 double 双精度浮点型string 字符串复合类型array 数组object …

淘宝快捷通道——百汇家园

百汇家园 是一个便捷的通道,喜欢网购的同学,都可以在百汇家园了解到所需要的相关 产品的信息。我们的商品分为15个大类,包含了淘宝所有的商品,满足你的购物 需求。 百汇家园通过与淘宝的网店合作,将淘宝优质商品&#…

家里在一二线城市有很多套房是什么体验?答案太颠覆!

作者:匿名来源:知乎(图片:网络)“家里在一二线城市有很多套房是怎么的一种体验?”这是知乎上一个浏览超600万的话题。其中一个答案非常颠覆,获得高赞。作者的观点是否正确见仁见智,但…

希尔排序听起来有点难,其实很简单

前言直接插入排序当待排序数据的顺序和期望排序结果相反时,排序效率是最差的;上次聊到的折半插入排序只是减少有序列表的比较次数,而对于整体数据遍历次数还是没有得到优化;接下来要说的希尔排序就是针对整体数据进行优化&#xf…

中小企业信息化,“轻”和“快”是方向

中小企业有着自身的特殊性,在观念改变和专业服务产品到位后,中小企业轻装上阵,实现高效办公、快捷管理、快速发展的愿望并不遥远。 时间刚过早上七点,韩信吃完早餐,便坐到沙发上看起了新闻,查看手机日历也是…

php 下拉表单,PHP表单和填充下拉列表问题

我正尝试连接到MySQL并将数据填充到Dropdown。这是我的代码。某些原因下拉列表没有被填充。请建议。这是代码。$mysqli_connection new mysqli($db_host, $db_username, $db_password, $db_database);if (isset($_POST[Submit_1])) {require submit.php;require validate.php;…

等我敲完这行代码,就和你离婚!

工作是高端大气上档次,工资是低调奢华接地气!我们叫做“程序猿”,也叫“攻城狮”!但是往往城还没攻下来,我们的头发就先掉下来!我们最喜欢听的一句话就是☟段子一“等我敲完这行代码,就和你离婚…

凭什么还不自信!!

前几天挺gbx说有个11级的小同学,已经在某OJ上刷过1000多道题,倍受打击!一度感叹为什么我没有早点起步,甚至一度认为ACM是给那些初高中做过NOI的同学准备的。 今天突发神经查了查神牛HH 的简历,真的很震撼: …

yml php,使用 docker-compose.yml 快速搭建php开发环境

1、新建一个文件夹,里面创建文件 docker-compose.yml2、编辑 docker-compose.yml 文件,保存以下内容# docker volume#docker run -d --name dbdata -h dbdata -v /wwwroot:/home/vagrant/wwwroot -v /Downloads:/home/vagrant/Downloads -v /wwwroot/web…

深夜,学妹遇到了数据分析师生涯的第一个疑问

大家好,我是大鹏,目前是一名数据分析师。自从上次学妹深夜给我发微信,询问数据分析师招聘要求和需要掌握的技能,已经过去2个月了。直到昨天,我再次收到了学妹的召唤:当天深夜 学妹深夜求助,定是…