精华内容
下载资源
问答
  • 在使用Berkely db数据库时可以将所有的日志文件和数据库文件全部存入进这个文件里面,不知道是不是任意格式名的文件都可以存储Berkely db数据库的所有文件
  • php中文网最新课程每日17点准时技术干货分享本文php中文网认证作者:“wpj”投稿,欢迎加入...封装ThinkPHP6.0通用文件上传教程一、打开项目在config文件夹下创建upload.php配置文件用来管理文件上传的后缀和大小...
    abe817a880c4eed32eeb6029e7a565e3.png

    php中文网最新课程

    每日17点准时技术干货分享

    1f67776813334f53252a356d929cfdd7.png

    a3105521558035f7df5b8ca03431874b.gif

    本文为php中文网认证作者:“wpj”投稿,欢迎加入php中文网有偿投稿计划!

    本文实例讲述了封装ThinkPHP6通用文件上传方法,上传功能使用的是LayUI的upload组件。

    封装ThinkPHP6.0通用文件上传教程

    一、打开项目在config文件夹下创建upload.php配置文件用来管理文件上传的后缀和大小

    <?php return [    //定义允许上传文件后缀的数组    'suffix_arr'    =>  [        //允许图片上传的后缀        'image'     =>  'jpg,jpeg,png,gif',        //允许上传文件的后缀        'file'      =>  'zip,gz,doc,txt,pdf,xls',        //...    ],    //定义允许上传文件大小的数组    'size_arr'      =>  [        //允许图片上传的大小        'image'     =>  10,        //允许文件上传的大小        'file'      =>  50    ],];

    二、修改config\filesystem.php配置文件配置上传根目录及上传规则

    <?php return [    // 默认磁盘    'default' => env('filesystem.driver', 'local'),    // 磁盘列表    'disks'   => [        'local'  => [            'type' => 'local',            'root' => app()->getRuntimePath() . 'storage',        ],        'public' => [            // 磁盘类型            'type'       => 'local',            // 磁盘路径            'root'       => app()->getRootPath() . 'public/uploads',            // 磁盘路径对应的外部URL路径            'url'        => '/uploads',            // 可见性            'visibility' => 'public',        ],       // 更多的磁盘配置信息    ],];

    三、 在app\controller目录下创建Upload.php类并编写upload()文件上传方法

    <?php namespace app\controller;use think\exception\ValidateException;class Upload{    //上传    public function upload(){        //判断是否是POST请求,如果是处理上传逻辑        if (request()->isPost()){            //接收文件上传类型            $type = request()->param('type','','trim');            $name = request()->param('name','','trim');            //获取表单上传文件            $file = request()->file('file');            //组装文件保存目录            $upload_dir = '/'.$type.'/'.$name;            try {                //从config/upload.php配置文件中读取允许上传的文件后缀和大小                $suffix_config = config('upload.suffix_arr');                $size_config = config('upload.size_arr');                if (empty($size_config[$type]) || empty($size_config[$type])){                    return false;                }else{                    $suffix = $suffix_config[$type];                    $size = $size_config[$type];                }                //验证器验证上传的文件                validate(['file'=>[                    //限制文件大小                    'fileSize'      =>  $size * 1024 * 1024,                    //限制文件后缀                    'fileExt'       =>  $suffix                ]],[                    'file.fileSize' =>  '上传的文件大小不能超过'.$size.'M',                    'file.fileExt'  =>  '请上传后缀为:'.$suffix.'的文件'                ])->check(['file'=>$file]);                //上传文件到本地服务器                $filename = \think\facade\Filesystem::disk('public')->putFile($upload_dir, $file);                if ($filename){                    $src = '/uploads/'.$filename;                    return json(['code'=>1,'result'=>$src]);                }else{                    return json(['code'=>0,'msg'=>'上传失败']);                }            }catch (ValidateException $e){                return json(['code'=>0,'msg'=>$e->getMessage()]);            }        }else{            return json(['code'=>0,'msg'=>'非法请求']);        }    }}

    四、 打开app\controller\Index.php类并修改index方法

    <?php namespace app\controller;use app\BaseController;class Index extends BaseController{    public function index(){        //渲染前端页面        return view();    }}

    五、在app\view\index目录下创建index.html文件

            文件上传                    #avatar_thumb {            position: absolute;            left: 50%;top: 50%;            width: 168px;            height: 168px;            margin: -50px 0 0 -84px;            border-radius: 100%;        }
    上传头像
    layui.use(['form', 'upload'], function() { var upload = layui.upload; //图片上传 common_upload('avatar'); //文件上传 //common_upload('avatar','file'); });

    六、在public\static\lib\js目录下创建common.js

    /** * @desc 通用文件上传 * @param name  文件存储文件夹 * @param type 文件类型:默认为图片类型(image) */function common_upload(name,type='image') {    layui.use(['form', 'upload'], function() {        var upload = layui.upload;        //选完文件后自动上传        upload.render({            elem: '#'+name,            url: "/upload/upload",            auto: true,            accept: 'file', //普通文件            data:{name:name,type:type},            done: function(data) {                console.log(data);                //上传完毕回调                if (data.code == 0) {                    return layer.msg(data.msg,{icon:2});                } else {                    $("#"+name+"_thumb").attr('src',data.result).show();                    $('input[name='+name+']').val(data.result);                }            }        });    });}

    七、测试图片上传

    7.1、为了方便,本文就不在本地部署项目了,采用ThinkPHP内置的服务器

    进到项目根目录,执行以下命令:

    php think run

    9c09045d0bfa8d3006775cd3d52e77cd.png

    7.2、在浏览器地址栏中输入访问地址,发现报错?

    03c2a96c9f328338527975bec6c4d2af.png

    7.3、遇到错误不要慌,我们打开ThinkPHP的调试功能,看看具体错误信息

    353c6ad2a91415a35a1c7f18a05075a3.png

    7.4、通过开启调试模式,发现报错原因是我们没有安装模板引擎,在ThinkPHP6.0中默认只能支持PHP原生模板,如果需要使用thinkTemplate模板引擎,需要安装think-view扩展

    f0941057c3bacd71d24aacfe3191991c.png

    7.5、进到项目根目录下,输入以下命令进行安装think-view模板

    composer require topthink/think-view

    7.6、再次访问,访问成功。不过图片显示的是破裂的,如果觉得不好看,小伙伴们可以自行设置一个默认图片。

    50464d420e16f1e6fbff2642b6229c15.png

    7.7、测试图片上传。从GIF图中可以看出上传图片大小和后缀不符合配置文件中设置的值,会给出相应的提示信息,只有上传符合配置文件中设置的值的图片才会在页面中显示并存储到本地。

    cec83f81fd8e139fccbba54f4bccea8b.gif

    7.8、如果需要上传文件,视频或音频,只需要修改以下两个地方,这里就不演示了,小伙伴们下去自己试下。

    5d094f840c04d82437bfb6c3a38bf473.png

    八、新图片上传成功后自动删除原图,有效地减少垃圾信息的累积

    8.1、在app\controller\Upload.php中添加delImg() 方法

    <?php  namespace app\controller; use think\exception\ValidateException; class Upload{    //上传    public function upload(){        //判断是否是POST请求,如果是处理上传逻辑        if (request()->isPost()){             //接收文件上传类型            $type = request()->param('type','','trim');            $name = request()->param('name','','trim');            //获取表单上传文件            $file = request()->file('file');            //组装文件保存目录            $upload_dir = '/'.$type.'/'.$name;             try {                //从config/upload.php配置文件中读取允许上传的文件后缀和大小                $suffix_config = config('upload.suffix_arr');                $size_config = config('upload.size_arr');                 if (empty($size_config[$type]) || empty($size_config[$type])){                    return false;                }else{                    $suffix = $suffix_config[$type];                    $size = $size_config[$type];                }                //验证器验证上传的文件                validate(['file'=>[                    //限制文件大小                    'fileSize'      =>  $size * 1024 * 1024,                    //限制文件后缀                    'fileExt'       =>  $suffix                ]],[                    'file.fileSize' =>  '上传的文件大小不能超过'.$size.'M',                    'file.fileExt'  =>  '请上传后缀为:'.$suffix.'的文件'                ])->check(['file'=>$file]);                 //上传文件到本地服务器                $filename = \think\facade\Filesystem::disk('public')->putFile($upload_dir, $file);                if ($filename){                    $src = '/uploads/'.$filename;                    return json(['code'=>1,'result'=>$src]);                }else{                    return json(['code'=>0,'msg'=>'上传失败']);                }            }catch (ValidateException $e){                return json(['code'=>0,'msg'=>$e->getMessage()]);            }        }else{            return json(['code'=>0,'msg'=>'非法请求']);        }    }     //删除旧图片    public function delImg(){        if (request()->isPost() && request()->isAjax()){            //获取旧图片地址            $img_url = input('img_url','','trim');            //如果旧图片地址为系统默认图片地址直接返回true; 这里的系统默认地址小伙伴可以自行设置            if($img_url == '/uploads/image/avatar/default/user_avatar.jpg'){                return true;            }            //ROOT_PATH常量建议定义在入口文件index.php或中间件中,这里为了演示方便就先定义在这里。            define('ROOT_PATH',dirname(str_replace("\\",'/',$_SERVER['SCRIPT_FILENAME']))."/");            //如果接收的图片地址不为空,循环删除            if (!empty($img_url)){                $old_image = array(ROOT_PATH.$img_url);                foreach ($old_image as $img){                    if (file_exists($img)){                        @unlink($img);                    }                }            }            return json(['code'=>1,'msg'=>'图片删除成功']);        }else{            return json(['code'=>0,'msg'=>'图片删除失败']);        }    }}

    8.2、在common.js中的common_upload()方法中定义before()

    /** * @desc 通用文件上传 * @param name  文件存储文件夹 * @param type 文件类型:默认为图片类型(image) */function common_upload(name,type='image') {     layui.use(['form', 'upload'], function() {        var upload = layui.upload;         //选完文件后自动上传        upload.render({            elem: '#'+name,            url: "/upload/upload",            auto: true,            accept: 'file', //普通文件            data:{name:name,type:type},             before: function(obj) {                var img_url = $('input[name='+name+']').val();                // 删除老数据                if (img_url != '') {                    $.ajax({                        url: "/upload/delImg",                        type: 'POST',                        data: {                            img_url: img_url                        },                    });                }            },             done: function(data) {                console.log(data);                //上传完毕回调                if (data.code == 0) {                    return layer.msg(data.msg,{icon:2});                } else {                    $("#"+name+"_thumb").attr('src',data.result).show();                    $('input[name='+name+']').val(data.result);                }            }        });    });}

    0baa5c48e79478d329914c1c4263d8b4.png

    b2a4c85ed2e91ff847f2810a2298dd40.png

    展开全文
  • 今天无聊就把自己安装软件在dalvik_cache对应的后缀为.dex文件重命名为.odex文件 然后把修改好.odex文件移动到DATAAPP里面[如果是复制过去话 这里面.dex文件可以删除 提高缓存应用空间] 居然这些软件...

    今天无聊就把自己安装的软件在dalvik_cache对应的后缀为.dex文件重命名为.odex文件 然后把修改好的.odex文件移动到DATA中的APP里面[如果是复制过去的话 这里面.dex文件可以删除 提高缓存应用空间]  居然这些软件的体积都缩小拉好多 并且运行的更快更稳定  很大程度上减少程序FC的几率      我以前安装30多个软件占用60M的内存 改后只占用40多M的内存 [安装在SD卡中的软件无法修改 ]      修改方法很简单   打个比方 一个程序在data中的文件名字为12345.apk  你修改与之对应的执行文件就是12345.odex 修改正确的话这个.odex文件就应该在此软件的下面会紧挨着    表姐照片一张   原理我也不清楚 不信你们看下系统程序 每个系统程序下面都有个.odex文件 这可能就是2.2系统程序运行流畅的原因

     

     

    瘦身倒是真没发现。

    转载于:https://www.cnblogs.com/dongzhiquan/archive/2011/08/18/2143926.html

    展开全文
  • 最近看有关lua代码看别人用数据集是.h5文件,在keras里我还以为是保存权重等变量,其实.h5(HDF5,hierarchical data format,5)是一种数据文件格式,其第一层相当于python中字典,比如打开一个h5文件查看...

    最近看有关lua的代码看别人用的数据集是.h5文件,在keras里我还以为是保存的权重等变量,其实.h5(HDF5,hierarchical data format,5)是一种数据文件格式,其第一层相当于python中的字典,比如打开一个h5文件查看文件主键时分成两个部分,一部分叫‘data’,一部分叫‘labels’,那么这个h5文件就相当于一个字典,‘data’部分存数据,‘labels’部分存数据的标签。

    举个例子,比如读取CMU-PIE.h5文件(有关数据集的问题,常见的数据集都可以在GitHub上找到)

    假设数据集已在当前目录,进入python:

    import h5py
    
    >>>file = h5py.File('CMU-PIE.h5','r')
    # 使用keys()方法查看文件的主键,相当于查看h5文件的字典结构:
    >>>file.keys()
    [u'data',u'labels'] # 这说明这个文件中只包含两个部分,一部分是‘data’,一部分是‘labels’
    >>>
    >>>data = file['data'] # 读取数据
    >>>data.shape
    (2856,1,32,32) # 1表示通道,注意这里是channel_first,但在有些框架里可能默认的是channel_last
    >>>labels = file['labels'] # 读取标签
    >>>labels.shape
    (2856,)
    

    对于USPS数据集的h5文件: 先分为“train”和“test”两个部分,然后又分别分为“data”和“target”两个部分

    import h5py
    with h5py.File(path, 'r') as hf:
            train = hf.get('train')
            X_tr = train.get('data')[:]
            y_tr = train.get('target')[:]
            test = hf.get('test')
            X_te = test.get('data')[:]
            y_te = test.get('target')[:]

     

    展开全文
  • Content-Type,内容类型,一般是指网页中...1.text/html文本方式网页文件。2.text/plain窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。空格转换 “+” 加号,但不对特殊字符编码。3.application...

    Content-Type,内容类型,一般是指网页中存在的Content-Type,ContentType属性指定请求和响应的HTTP内容类型。如果未指定 ContentType,默认为text/html。

    1.text/html

    文本方式的网页文件。

    2.text/plain

    窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。空格转换为 “+” 加号,但不对特殊字符编码。

    3.application/x-www-form-urlencoded

    默认地,表单数据会编码为 “application/x-www-form-urlencoded”。就是说,在发送到服务器之前,所有字符都会进行编码,空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值。 窗体数据被编码为:名称/值对,这是标准的编码格式。

    4.multipart/form-data

    窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分,上传附件用到。在使用包含文件上传控件的表单时,必须使用该值。

    5.application/json

    数据以json形式进行编码。

    6.application/xml

    数据以xml形式进行编码,application/xml会根据xml头指定的编码格式来编码。

    7.text/xml

    文本方式的xml文件,text/xml忽略xml头所指定编码格式而默认采用US-ASCII编码。

    转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/5672.html

    微信打赏

    支付宝打赏

    感谢您对作者Sun的打赏,我们会更加努力!    如果您想成为作者,请点我

    展开全文
  • 将.data文件后缀.txt2.利用python将生成xlsx文件3.生成csv文件 前言 因为现在大部分提供数据集是data类型,而python无法直接使用data类数据进行处理。试了很多方法,但都没成功,所以试了这个很麻烦方法 ...
  • DIR=/data/test SUFFIX='.bak' for file in `ls $DIR`;do PRE=`echo $file | grep -Eo "^[[:alnum:]][^.]"` mv $DIR/$file $DIR/$PRE$SUFFIX done [root@centos8 test]# bash ~/rename.sh [root@centos8 test]# ...
  • 在微软的SQL Server 2000 数据库有三种类型的文件: 1)主要数据文件(扩展名.mdf是 primary data file 的缩写) 主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,...
  • //获取某一个目录下文件后缀.java的文件 public class _File { static int sum=0; public static void main(String[] args) { File file = new File("D:\\DATA\\IdeaProjects\\BigData1");
  • C# 查找指定文件夹下指定后缀名...代码一:用ArrayList转化string[]保存指定后缀文件 最后Foreach循环输出或绑定     using System; using System.Data; using System.Configuration; using S
  • 想要读取指定的文件夹及其子文件中所有后缀为txt的文件内容 clc,close,clear % 初始化 i = 0; FileData = {}; % 工作路径定义 Path = 'D:\data\'; File = RangTraversal(Path); % 获取所有文件 Len_File = (size...
  • .data文件,我是直接把它的后缀.data.csv,就能跟csv文件一样使用了。
  • C#查找指定文件夹下指定后缀所有文件,用递归方法解决这类问题代码一:用ArrayList转化string[]保存指定后缀文件 最后Foreach循环输出或绑定 usingSystem;usingSystem.Data;usingSystem....
  • C#查找指定文件夹下指定后缀所有文件,用递归方法解决这类问题 代码一:用ArrayList转化string[]保存指定后缀文件 最后Foreach循环输出或绑定 usingSystem; usingSystem.Data; usingSystem....
  • 【单选题】能将高级语言编写源程序转换目标程序是()。【单选题】( )是指依托现代信息技术、现代装备技术和现代农艺技术,实现农业投入品精量使用,精准控制农业生产环境条件和农业生产过程。【判断题】语句“ ...
  • 经常有同学学到文件读写时发现打不开文件或者写入不了文件,总结几个常见问题可能:1. 搞错了当前目录,自以为是在某个目录下,...2. 搞错了文件名,自以为是 data.txt,但因为 windows 会默认隐藏后缀名,其实是 ...
  • 1.一般sqlite文件格式后缀为.db3,可以直接搜。 2.内存/data/data/<package name/databases>目录中 实在找不着你就点击window——show view——other——Android——file explorer 在这个里面点击data——...
  • 【注:笔记于2019年10月31日记录...下载目录中 能够使用通配符匹配的文件。命令如下: wget-c -r -np -k -L -p -A'*.pdb.gz' http://pdbtm.enzim.hu/data/database/ wget-c -r-np -k-L -p-A'*.pdb.gz' ...
  • 但是在使用plink对VCF格式数据进行格式转化时,会出现文件后缀为hh,nof和nosex文件![图片说明](https://img-ask.csdn.net/upload/201807/21/1532164668_8771.png) 在接下来利用gcta软件进行pca构建时,出现了以下...
  • 从文件夹路径path下读取后缀格式format的文件,保存其全路径到fileFullpath中 功能函数 void saveFilesFullpathFromFolderInFormat(string path,vector&lt;string&gt;&amp; fileFullpath,string ...
  • 3.筛选指定后缀的文件 4.替换文件指定字符串 C++中读取文件可以采用几个函数分别,_findfirst、_findnext、_findclose。其中还要借助结构体 struct _finddata_t,_finddata_t主要用来存储各种文件的信息。 ...
  • SQL文件为SQL执行语句,里面会存在表空间和用户。你先创建表空间和用户,当然创建表空间和用户要和你SQL文件里面表空间用记相同,才会导入,否则就会出现表或视图不存在错误,执行完这些语句后记得commit...
  • 2、选择 “自Access” ...3、选择你要转换的文件(若提示没有匹配的项,可点击箭头标识处,选择后缀) 4、根据需要,选择每一步的操作 5、数据加载到Excle后,要记得进行保存。 ...
  • 本文实例大家分享了C#遍历文件夹获取指定后缀文件的具体代码,供大家参考,具体内容如下 问题描述: 项目需要,要进行某文件夹下所有shp数据读取 解决方法: using System; using System.Collections.Generic...
  • 现在一些后缀.log日志文件(每日一个日志文件,文件名体现文件生成时间),存储于“/usr/local/nginx/logs”目录中,需要通过指令将所有2019年2月份日志文件(要求使用通配符)拷贝到“/data/logbackup”中...
  • 在windows环境,将指定目录(此处:D:\data\deploy\logs)使用nginx“代理”显示,并在选中.log后缀的文件时,在浏览器中显示该文件内容。 您可根据自身需求进行修改,如目录、后缀等。 Nginx 配置: # 务必确保:...
  • 本人是用phpExcel导出会员表到...线上导出有问题表格3,修改后缀后显示乱码现贴出代码.case 'test':$data1 = MySql::fetchAll("SELECT real_name,telephone,car_id,regtime,endtime,sale,re_tel,type FROM `pw_memb...
  • $path = 'D:/data/www/a/b.php'; $ext = strtolower(trim(substr(strrchr($path,'.'),1))); echo $ext; //strrchr()函数返回第二个参数在第一个参数中最后一次出现... substr()函数是截取字符串,1是从下标

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 974
精华内容 389
关键字:

后缀为data的文件