在我们的系统中,不免要上传图片,视频等文件,在上传中,需要做的一些判断,文件大小等方面。

注意:

在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"/>上传图片,图片大小,宽高,后缀名。的更多相关文章

  1. input[type=file]样式更改以及图片上传预览

    以前知道input[type=file]可以上传文件,但是没用过,今天初次用,总感觉默认样式怪怪的,想修改一下,于是折腾了半天,总算是小有收获. 以上是默认样式,这里我想小小的修改下: HTML代码如 ...

  2. html中,文件上传时使用的<input type="file">的样式自定义

    Web页面中,在需要上传文件时基本都会用到<input type="file">元素,它的默认样式: chrome下: IE下: 不管是上面哪种,样式都比较简单,和很多 ...

  3. js 实现 input type="file" 文件上传示例代码

    在开发中,文件上传必不可少但是它长得又丑.浏览的字样不能换,一般会让其隐藏点其他的标签(图片等)来时实现选择文件上传功能 在开发中,文件上传必不可少,<input type="file ...

  4. [置顶] js 实现 <input type="file" /> 文件上传

    在开发中,文件上传必不可少,<input type="file" /> 是常用的上传标签,但是它长得又丑.浏览的字样不能换,我们一般会用让,<input type ...

  5. input type='file'上传控件假样式

    采用bootstrap框架样式 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> &l ...

  6. <input type="file">上传文件并添加路径到数据库

    注:这里是用的mvc所以没法用控件 html代码 <form method="post" enctype="multipart/form-data"> ...

  7. Android:让WebView支持<input type=”file”…>元素

    最近在做一个活动页面:用户上传一张图片进行缩放.旋转后点击下一步填写内容后生成图片! 做好后经过各种测试是没有问题的,基本没有什么明显BUG,流程都能走通,但是嵌入到APP后,问题就来了! 在IOS上 ...

  8. HTML <input type="file">上传文件——结合asp.net的一个文件上传示例

    HTML的代码:(关键是要在form里设置enctype="multipart/form-data",这样才能在提交表单时,将文件以二进制流的形式传输到服务器) 一. <fo ...

  9. 上传文件 隐藏input type="file",用text显示

    <div> <span>上传文件:</span> <input type="file" id="upload_file" ...

随机推荐

  1. SendKeys:基本使用

    使用SendKeys将键击和组合键击发送到活动应用程序.此类无法实例化.若要发送一个键击给某个类并立即继续程序流,请使用Send.若要等待键击启动的任何进程,请使用SendWait. 每个键都由一个或 ...

  2. spin_lock、spin_lock_irq、spin_lock_irqsave区别【转】

    转自:http://blog.csdn.net/luckywang1103/article/details/42083613 void spin_lock(spinlock_t *lock); voi ...

  3. Recovery with Incremental Backups

    During media recovery, RMAN examines the restored files to determine whether it can recover them wit ...

  4. AVAudioplayer时error解决 创建失败 ERror creating player: Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"

    AVAudioplayer 有两个初始化方法: 1.[[AVAudioPlayer alloc] initWithData:musicData error&e]; 2.[[AVAudioPla ...

  5. PHP正则表达式的使用

    1. 正则表达式的主要作用是:分割.匹配.查找.替换2. 正则表达式中包括的元素:原子(普通字符:a-z A-Z 0-9 .原子表.转义字符),元字符(有特殊功能的字符),模式修正符(系统内置部分字符 ...

  6. RMAN笔记小结

    首先感谢junsansi和leshani两位大师的文笔:我可是好好看了很多遍:这两位哦:我跟你们说:对rman的解说那是相当精彩:文章形如流水,通俗易懂:内容那是入木三分...;好了我也不多说了,反正 ...

  7. Http Basic认证

    Http Basic认证就是访问的时候把用户名和密码用base64加密放在request的header的authorization中 服务端直接获取authorization,解析,跟用户名匹配即可. ...

  8. SDUT 2603:Rescue The Princess

    Rescue The Princess Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Several days ago, a b ...

  9. 一些常用的SQL查询语句

    学习网站:http://www.w3cschool.cc/sql/sql-tutorial.html 一:查询所有表的属性 SELECT 'ALTER TABLE '+ CASE WHEN O.sch ...

  10. Linux下缓冲区溢出攻击的原理及对策(转载)

    前言 从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用.当函数调用发生时,新的堆栈帧被压入堆栈:当函数返回时,相应的堆栈帧从堆栈中弹出.尽管堆栈帧结构的引入为在高级语言中实现 ...