关于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

1 <form enctype="multipart/form-data" action=‘text.php‘ method="post">
2     <input type="file" name="upfile">
3
4     <input type="submit" value=‘上传文件‘>
5 </form>

后台页面:php 处理

 1 <script src="./js/jquery2.0.3.min.js"></script>
 2 <?php
 3 var_dump($_FILES);
 4 //$_FILES[‘upfile‘][‘tmp_name‘]
 5 //var_dump($_POST);
 6 /*$size = getimagesize($_FILES[‘upfile‘][‘tmp_name‘]);
 7 $width = $size[0];
 8 $height = $size[1];*/
 9 //if($width>165 || $height>216){
10 //    echo "图片长或宽超出限制";
11 //    exit;
12 //}
13 /*if($_FILES[‘upfile‘][‘size‘]>20*1024*1024){
14     echo "图片过大";
15 }*/
16 include_once ‘common/util.php‘;
17 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;
    }

}
时间: 2025-01-07 14:39:44

关于PHP HTML <input type="file" name="img"/>上传图片,图片大小,宽高,后缀名。的相关文章

html中,文件上传时使用的&lt;input type=&quot;file&quot;&gt;的样式自定义

Web页面中,在需要上传文件时基本都会用到<input type="file">元素,它的默认样式: chrome下: IE下: 不管是上面哪种,样式都比较简单,和很多网页的风格都不太协调. 根据用户的需求,设计风格,改变其显示样式的场合就比较多了. 如果,要像下面一样做一个bootstrap风格的上传按钮该如何实现. 搭建上传按钮所需的基本元素 <span class=""> <span>上传</span> <

js 实现 input type=&quot;file&quot; 文件上传示例代码

在开发中,文件上传必不可少但是它长得又丑.浏览的字样不能换,一般会让其隐藏点其他的标签(图片等)来时实现选择文件上传功能 在开发中,文件上传必不可少,<input type="file" /> 是常用的上传标签,但是它长得又丑.浏览的字样不能换,我们一般会用让,<input type="file" />隐藏,点其他的标签(图片等)来时实现选择文件上传功能. 看代码: 代码如下: <!DOCTYPE html> <html x

css input[type=file] 样式美化,input上传按钮美化

我们在做input文本上传的时候,html自带的上传按钮比较丑,如何对其进行美化呢?同理:input checkbox美化,input radio美化是一个道理的,后面文章会总结. 思路: input file上传按钮的美化思路是,先把之前的按钮透明度opacity设置为0,然后,外层用div包裹,就实现了美化功能. 代码如下: DOM结构: <a href="javascript:;" class="a-upload"> <input type=

自定义input[type=&quot;file&quot;]的样式

input[type="file"]的样式在各个浏览器中的表现不尽相同: 1. chrome: 2. firefox: 3. opera: 4. ie: 5. edge: 另外,当我们规定 input[type="file"] 的高度,并把它的行高设置成与其高度相等后,chrome中难看的样式出现了: “未选择任何文件”这一行并没有竖直居中. 似乎在 firefox 中好看一些,嗯,我比较喜欢用 firefox.但是这些浏览器中的表现不一致,我们必须做兼容处理. 思

input type file onchange上传文件的过程中,遇到同一个文件二次上传无效的问题。

不要采用删除当前input[type=file]这个节点,然后再重新创建dom这种方案,这样是不合理的.解释如下:input[type=file]使用的是onchange去做,onchange监听的为input的value值,只有再内容发生改变的时候去触发,而value在上传文件的时候保存的是文件的内容,你只需要在上传成功的回调里面,将当前input的value值置空即可.event.target.value='';

修改input type=file 标签默认样式的简单方法

<html><head><title></title></head><body><form id="uploadForm"  action="" method="post" enctype="multipart/form-data"><input type="file" name="uploadFile&qu

&lt;input type=&quot;file&quot; /&gt;浏览时只显示指定文件类型

<input type="file" />浏览时只显示指定文件类型 <input type="file" accept="application/msword" ><br><br>accept属性列表<br> 1.accept="application/msexcel"2.accept="application/msword"3.accept=&q

谷歌游览器对&lt;input type=&#39;file&#39;&gt; change只能响应1次解决和样式的改变

在项目过程中遇到的需要上传本地文件,file的原始控件不太美观,但是这个控件和button有点不太一样, 改变这个样式的思路就是在控件外面套一层链接,然后把file控件的透明度设置为0(透明).样式只需要对外面那层进行操作就行. html代码: <td style="text-align: left;"> <a href="javascript:;" class="file">选择文件 <input type=&qu

利用jquery来隐藏input type=&quot;file&quot;

<li> <input type="text" name="token" value = "<?php ech$_SESSION['token']; ?>"> 头像:<input type="file" id="file" style="display:none;" name ="u_img" > <img src