zoukankan      html  css  js  c++  java
  • 关于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;
        }
    
    }
  • 相关阅读:
    你做的页面有哪些浏览器测试过?这些浏览器的内核分别是什么?
    响应式布局
    Promise(二)
    Promise(一)
    同步和异步的自我理解
    null 与 undefined 区别
    python pandas 数据处理
    【python】list、tuple、dict、set、dataframe、narray、series之间的区别
    时间序列常用模型
    Linux系统学习笔记
  • 原文地址:https://www.cnblogs.com/xiaoxiao2014/p/4142173.html
Copyright © 2011-2022 走看看