• ecshop添加上传图片


    基础

    cls_images.php:  function upload_image(){}

    $_FILES 输出值:Array ( [group_thumb_url] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) )

    实际操作 

    html代码:

    <form method="post" action="group_buy.php?act=insert_update" name="theForm" onsubmit="return validate()" enctype="multipart/form-data">
    <input type="file" name="group_thumb_url" size="35" />
    </form>

    注意 :enctype="multipart/form-data" 不能丢掉

    php代码

    include_once(ROOT_PATH . '/includes/cls_image.php');  /*必须加上*/
    $image = new cls_image($_CFG['bgcolor']);


    $group_thumb_name = 'group_'.time().'.jpg'; /*图片名称命名*/ $upload_image= basename($image->upload_image($_FILES['group_thumb_url'],'group',$group_thumb_name));

    if(!empty($upload_image)){     /*判断是否有新的文件上传*/
    $group_thumb = $upload_image;
    }

     cls_images.php 

     function upload_image($upload, $dir = '', $img_name = '')
        {
            /* 没有指定目录默认为根目录images */
            if (empty($dir))
            {
                /* 创建当月目录 */
                $dir = date('Ym');
                $dir = ROOT_PATH . $this->images_dir . '/' . $dir . '/';
            }
            else
            {
                /* 创建目录 */
                //$dir = ROOT_PATH . $this->data_dir . '/' . $dir . '/';
                 $dir = ROOT_PATH .'/images/'. $dir;  /*新增 文件只想地址是跟目录下images/  */
                if ($img_name)
                {
                    $img_name = $dir . $img_name; // 将图片定位到正确地址
                }
            }
    
            /* 如果目标目录不存在,则创建它 */
            if (!file_exists($dir))
            {
                if (!make_dir($dir))
                {
                    /* 创建目录失败 */
                    $this->error_msg = sprintf($GLOBALS['_LANG']['directory_readonly'], $dir);
                    $this->error_no  = ERR_DIRECTORY_READONLY;
    
                    return false;
                }
            }
    
            if (empty($img_name))
            {
                $img_name = $this->unique_name($dir);
                $img_name = $dir . $img_name . $this->get_filetype($upload['name']);
            }
    
            if (!$this->check_img_type($upload['type']))
            {
                $this->error_msg = $GLOBALS['_LANG']['invalid_upload_image_type'];
                $this->error_no  =  ERR_INVALID_IMAGE_TYPE;
                return false;
            }
    
            /* 允许上传的文件类型 */
            $allow_file_types = '|GIF|JPG|JEPG|PNG|BMP|SWF|';
            if (!check_file_type($upload['tmp_name'], $img_name, $allow_file_types))
            {
                $this->error_msg = $GLOBALS['_LANG']['invalid_upload_image_type'];
                $this->error_no  =  ERR_INVALID_IMAGE_TYPE;
                return false;
            }
    
            if ($this->move_file($upload, $img_name))
            {
                return str_replace(ROOT_PATH, '', $img_name);
            }
            else
            {
                $this->error_msg = sprintf($GLOBALS['_LANG']['upload_failure'], $upload['name']);
                $this->error_no  = ERR_UPLOAD_FAILURE;
    
                return false;
            }
        }
  • 相关阅读:
    android WeakReference(弱引用 防止内存泄漏)与SoftReference(软引用 实现缓存机制(cache))
    android Handler.btionMessage()与Message.obtain()的区别
    android 编译
    android之xmlpullparse解析器
    android之animation
    如何用SQL语句实现Mysql数据库的备份与还原
    android之Volley实现瀑布流
    使用TCP的HelloServer
    java socket编程(网络编程)
    彻底搞懂Python切片操作
  • 原文地址:https://www.cnblogs.com/wesky/p/4878079.html
Copyright © 2020-2023  润新知