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

注意:

在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. 介绍“Razor”— ASP.NET的一个新视图引擎

    我的团队当前正在从事的工作之一就是为ASP.NET添加一个新的视图引擎. 一直以来,ASP.NET MVC都支持 “视图引擎”的概念—采用不同语法的模板的可插拔模块.当前ASP.NET MVC “默认 ...

  2. 模数转换器(ADC)的基本原理【转】

    模数转换器(ADC)的基本原理 模拟信号转换为数字信号,一般分为四个步骤进行,即取样.保持.量化和编码.前两个步骤在取样-保持电路中完成,后两步骤则在ADC中完成. 常用的ADC有积分型.逐次逼近型. ...

  3. How To Set Up vsftpd on CentOS 6

    About vsftpd 警告:FTP是天生不安全.如果你必须使用FTP,考虑securing your FTP connection with SSL/TLS.否则,最好use SFTP, a se ...

  4. Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor

    1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? Java new Thread(new Runnable() { @Override public void ru ...

  5. Android 自定义ScrollView ListView 体验各种纵向滑动的需求

      分类: [android 进阶之路]2014-08-31 12:59 6190人阅读 评论(10) 收藏 举报 Android自定义ScrollView纵向拖动     转载请标明出处:http: ...

  6. python安装numpy科学计算模块

    解决两个问题: (1)Import Error: No module named numpy (2)Python version 2.7 required, which was not found i ...

  7. 关于android中Bundle的使用

      1.Android using Bundle for sharing variables 注:android中使用Bundle来共享变量,下例中Activity1和Activity2通过bundl ...

  8. SQLite不支持的SQL语法总结

    1 TOP 这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录: SELECT TOP 10 * FROM [index] ORDER BY indexi ...

  9. Unity脚本在层级面板中的执行顺序测试4-附加整理

    测试4为一些附加内容,后续的各种tips都加在此. 前几篇测试的链接: Unity脚本在层级面板中的执行顺序测试1 http://www.cnblogs.com/hont/p/4298110.html ...

  10. Java多线程的三种实现方式

    java多线程的三种实现方式 一.继承Thread类 二.实现Runnable接口 三.使用ExecutorService, Callable, Future 无论是通过继承Thread类还是实现Ru ...