关于PHP HTML <input type="file" name="img"/>上传图片,图片大小,宽高,后缀名。
在我们的系统中,不免要上传图片,视频等文件,在上传中,需要做的一些判断,文件大小等方面。
注意:
在php.ini 中的post_max_size,upload_max_filesize默认为2M,在上传视频的时候,需要修改下,可以自行设置。
另外如果启用了内存限制,那么该值应当小于memory_limit选项的值。
在上传视频的时候,可以会需要花费些时间,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示每个脚本最大允许执行时间(秒),0 表示没有限制。你可以适当调整max_execution_time的值,不推荐设定为0。
前台页面:html
<form enctype="multipart/form-data" action='text.php' method="post">
<input type="file" name="upfile"> <input type="submit" value='上传文件'>
</form>
后台页面:php 处理
<script src="./js/jquery2.0.3.min.js"></script>
<?php
var_dump($_FILES);
//$_FILES['upfile']['tmp_name']
//var_dump($_POST);
/*$size = getimagesize($_FILES['upfile']['tmp_name']);
$width = $size[0];
$height = $size[1];*/
//if($width>165 || $height>216){
// echo "图片长或宽超出限制";
// exit;
//}
/*if($_FILES['upfile']['size']>20*1024*1024){
echo "图片过大";
}*/
include_once 'common/util.php';
getImgW_H($_FILES['upfile'],10,2016,40,"apk");
3.common文件下 自己写的函数:util.php
/**
* @param $file_tmpname
* 限制上传文件 的 宽高,大小,后缀名
* $file = $_files['upfile'],$w 最大宽度,$h 最大高度,$size 最大文件 大小(单位为kb),$type 后缀名
*/
function getImgW_H($file,$w,$h,$size,$type){ $imgFileName = explode(".",$file['name']);
$imgExt = $imgFileName[count($imgFileName)-1];
if(!in_array($imgExt,explode(',',$type))){
?>
<script type="text/javascript">
alert("请输入后缀名为<?php echo $type; ?>的文件");
window.history.go(-1);
</script>
<?php
exit;
}
if(!empty($w)&&!empty($h)){
$s = getimagesize($file['tmp_name']);
$width = $s[0];
$height = $s[1];
if($width>$w || $height>$h){
?>
<script type="text/javascript">
alert("图片长或宽超出限制,宽<?php echo $w; ?>,高<?php echo $h; ?>");
window.history.go(-1);
</script>
<?php
exit;
}
} if($file['size']>$size*1024){
?>
<script type="text/javascript">
alert("图片过大,不大于<?php echo $size; ?>kb");
window.history.go(-1);
</script>
<?php
exit;
} }
关于PHP HTML <input type="file" name="img"/>上传图片,图片大小,宽高,后缀名。的更多相关文章
- input[type=file]样式更改以及图片上传预览
以前知道input[type=file]可以上传文件,但是没用过,今天初次用,总感觉默认样式怪怪的,想修改一下,于是折腾了半天,总算是小有收获. 以上是默认样式,这里我想小小的修改下: HTML代码如 ...
- html中,文件上传时使用的<input type="file">的样式自定义
Web页面中,在需要上传文件时基本都会用到<input type="file">元素,它的默认样式: chrome下: IE下: 不管是上面哪种,样式都比较简单,和很多 ...
- js 实现 input type="file" 文件上传示例代码
在开发中,文件上传必不可少但是它长得又丑.浏览的字样不能换,一般会让其隐藏点其他的标签(图片等)来时实现选择文件上传功能 在开发中,文件上传必不可少,<input type="file ...
- [置顶] js 实现 <input type="file" /> 文件上传
在开发中,文件上传必不可少,<input type="file" /> 是常用的上传标签,但是它长得又丑.浏览的字样不能换,我们一般会用让,<input type ...
- input type='file'上传控件假样式
采用bootstrap框架样式 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> &l ...
- <input type="file">上传文件并添加路径到数据库
注:这里是用的mvc所以没法用控件 html代码 <form method="post" enctype="multipart/form-data"> ...
- Android:让WebView支持<input type=”file”…>元素
最近在做一个活动页面:用户上传一张图片进行缩放.旋转后点击下一步填写内容后生成图片! 做好后经过各种测试是没有问题的,基本没有什么明显BUG,流程都能走通,但是嵌入到APP后,问题就来了! 在IOS上 ...
- HTML <input type="file">上传文件——结合asp.net的一个文件上传示例
HTML的代码:(关键是要在form里设置enctype="multipart/form-data",这样才能在提交表单时,将文件以二进制流的形式传输到服务器) 一. <fo ...
- 上传文件 隐藏input type="file",用text显示
<div> <span>上传文件:</span> <input type="file" id="upload_file" ...
随机推荐
- SendKeys:基本使用
使用SendKeys将键击和组合键击发送到活动应用程序.此类无法实例化.若要发送一个键击给某个类并立即继续程序流,请使用Send.若要等待键击启动的任何进程,请使用SendWait. 每个键都由一个或 ...
- spin_lock、spin_lock_irq、spin_lock_irqsave区别【转】
转自:http://blog.csdn.net/luckywang1103/article/details/42083613 void spin_lock(spinlock_t *lock); voi ...
- Recovery with Incremental Backups
During media recovery, RMAN examines the restored files to determine whether it can recover them wit ...
- AVAudioplayer时error解决 创建失败 ERror creating player: Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"
AVAudioplayer 有两个初始化方法: 1.[[AVAudioPlayer alloc] initWithData:musicData error&e]; 2.[[AVAudioPla ...
- PHP正则表达式的使用
1. 正则表达式的主要作用是:分割.匹配.查找.替换2. 正则表达式中包括的元素:原子(普通字符:a-z A-Z 0-9 .原子表.转义字符),元字符(有特殊功能的字符),模式修正符(系统内置部分字符 ...
- RMAN笔记小结
首先感谢junsansi和leshani两位大师的文笔:我可是好好看了很多遍:这两位哦:我跟你们说:对rman的解说那是相当精彩:文章形如流水,通俗易懂:内容那是入木三分...;好了我也不多说了,反正 ...
- Http Basic认证
Http Basic认证就是访问的时候把用户名和密码用base64加密放在request的header的authorization中 服务端直接获取authorization,解析,跟用户名匹配即可. ...
- SDUT 2603:Rescue The Princess
Rescue The Princess Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 Several days ago, a b ...
- 一些常用的SQL查询语句
学习网站:http://www.w3cschool.cc/sql/sql-tutorial.html 一:查询所有表的属性 SELECT 'ALTER TABLE '+ CASE WHEN O.sch ...
- Linux下缓冲区溢出攻击的原理及对策(转载)
前言 从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用.当函数调用发生时,新的堆栈帧被压入堆栈:当函数返回时,相应的堆栈帧从堆栈中弹出.尽管堆栈帧结构的引入为在高级语言中实现 ...