wordpress安装包及功能分析

wordpress4.9.4版本在官网下载之后是一个约9618KB的zip压缩包,然后解压缩在wordpress文件夹下,包含142个文件夹及1529个文件,大小为26.8MB,占用空间29.3MB。

在wordpress文件夹下包含有三个子文件夹及14个php文件、1个html文件和1个txt文件。

  • html文件是关于wordpress的安装使用方法,包括一些指向官网的链接。
  • txt文件是一个关于使用wordprss的介绍和申明。

仔细翻看,发现wordpress实际上就是由一系列的文件组成,包括php、html、txt、CSS等。在此,为了方便和锻炼,尝试写一个工具

  • 用Java实现
  • 遍历文件夹,输出所有的文件类型及其对应的数量

之前我曾尝试自己写关于文件夹的帮助工具,但是在文件遍历卡壳了,这次我从网上搜索到下面这篇文章从而实现。

JAVA遍历文件夹下的所有文件

  1. 文件类型的特征是第一个.号及之后的内容,由于文件类型的多样及存在自己创造的后缀名,为简单采用设定长度为100的字符串数组,(也可用可变二维数组来记录后缀名)。
  2. 采用正则表达式截取文件的后缀名,"\..*"

这里存在一个bug,文件名在命名时可以带空格号,但是在使用path()函数创建文件对象时,只能将空格号之前的内容赋给文件对象。如D:\linux Web环境安装包\wordpress路径赋值给path对象,结果path对象的值为D:\linux。

具体代码如下

import java.io.File;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PostfixSearch {
    static String[] name = new String[100];//用来记录后缀名
    static int[] num = new int[100];//用来记录各后缀名的文件个数
    static int st=0;//记录文件夹个数
    static int sj=0;//记录文件个数
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String path = in.next();//接收需要查询的文件夹名
        traverseFolder2(path);
        for(int i=0;name[i]!=null;i++) {
            System.out.println("第"+i+"种后缀名:"+name[i]+"\t"+num[i]+"个");
        }
        System.out.println(path+"文件夹下包括其本身共"+st+"个文件夹,"+sj+"个文件");
    }
    public static void traverseFolder2(String path) {
        File file = new File(path);
        if (file.exists()) {
            st++;
            File[] files = file.listFiles();
            if (files.length == 0) {
                System.out.println("文件夹是空的!");
                return;
            } else {
                for (File file2 : files) {
                    if (file2.isDirectory()) {
                        traverseFolder2(file2.getAbsolutePath());
                    } else {
                        sj++;
                        String str = file2.getAbsolutePath();
                        String str2 = "";
                        Pattern pattern = Pattern.compile("\\..*");
                        Matcher matcher = pattern.matcher(str);
                        if(matcher.find())
                            str2 = matcher.group();
                            Path(str2);//将后缀名提交给Path函数处理
                        }
                }
            }
        } else {
            System.out.println(path+"文件不存在!");
        }
    }
    public static void Path(String str2) {//处理文件名后缀,如果不存在则添加入数组
        boolean Flag=false;
        int i;
        for(i=0;name[i]!=null;i++) {
            if(name[i].equals(str2)) {
                Flag=true;//存在
                num[i]++;
                break;
            }
        }
        if(!Flag) {//不存在,则添加
            name[i]=str2;
            num[i]++;
        }
    }
}

输入wordpress的安装路径 D:\linuxWeb环境安装包\wordpress,得到结果:

在该文件夹下包括其本身共有143个文件夹,1529个文件,文件类型有65种:

  • .php文件 693个
  • .min.js文件177个
  • .js文件170个
  • .css文件112个
  • .phg文件103个
  • .min.css文件89个
  • .gif文件62个
  • .txt文件16个
  • 其他基本都在10及10个以内

待分析:

常见文件后缀名文件的作用

不常见文件后缀名文件的作用

待添加代码功能:

  • 图片如png、jpg的存放文件夹检索
  • 特定文件类型或文件名的检索
  • 检索文件内部,尤其是php、js、css等文件内部的对象调用。

原文地址:https://www.cnblogs.com/heibaimao123/p/9033328.html

时间: 2024-10-11 23:08:19

wordpress安装包及功能分析的相关文章

LNMP一键安装包 V1.1 发布

LNMP一键安装包 是一个用Linux Shell编写的可以为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.PHP.phpMyAdmin)生产环境的Shell程序.同时提供一些实用的辅助脚本如:可以帮助完成Nginx.MySQL/MariaDB.PHP的升级.常用缓存组件的安装.重置MySQL root密码.502自动重启.日志切割等许多实用脚本. 时间匆匆流过,又快到一年一度的六一儿童节了,同时端午假期也

LNMP一键安装包 V1.1 通告

LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.PHP.phpMyAdmin)生产环境的Shell程序.同一时候提供一些有用的辅助脚本如:能够帮助完毕Nginx.MySQL/MariaDB.PHP的升级.经常使用缓存组件的安装.重置MySQL rootpassword.502自己主动重新启动.日志分割等很多有用脚本. 时间匆匆流过,又快到一年一度的

php实现在线下载程序安装包功能

在线下载程序安装包可以很方便在服务器端下载各种程序安装包(Discuz!.phpwind.Dedecms.WordPress....等一些常用程序)并存储在服务器,大大减少站长上传程序安装包时间.默认密码13712489797(请编辑本文件第2行修改) 在线下载程序安装包 更新日志:2014/11/02 重新修改了远程文件列表,文件列表不再局限于一个下拉框里;修正密码频繁验证2014/08/14 v1.1和v1.0的区别在于1.1增加了下载完成后会提示是否解压文件 2014/08/11 在线下载

lnmp、lamp、lnmpa一键安装包(Updated: 2016-4-12)

lnmp.lamp.lnmpa一键安装包(Updated: 2016-4-12) 文章目录 脚本特性 安装步骤 如何添加虚拟主机? 如何删除虚拟主机? 如何管理ftp账号? 数据备份 如何管理服务? 如何更新版本? 如何卸载? 如何重装? 更新日志 这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux.Nginx/Tengine/OpenResty.MySQL/MariaDB/Percona.PHP),适用于CentOS 5~7(包括redhat).D

lnmp、lamp、lnmpa一键安装包(Updated: 2015-10-25)

lnmp.lamp.lnmpa一键安装包(Updated: 2015-10-25) 2014-12-26 Posted by yeho 这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux.Nginx/Tengine.MySQL/MariaDB/Percona.PHP),适用于CentOS 5~7(包括redhat).Debian 6-8.Ubuntu 12.04-15.04的32位和64位. 脚本特性  持续不断更新 源码编译安装,大多数源码是最新s

LNMP一键安装包 V1.1 公布

LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.PHP.phpMyAdmin)生产环境的Shell程序.同一时候提供一些有用的辅助脚本如:能够帮助完毕Nginx.MySQL/MariaDB.PHP的升级.经常使用缓存组件的安装.重置MySQL rootpassword.502自己主动重新启动.日志分割等很多有用脚本. 时间匆匆流过,又快到一年一度的

LNMP一键安装包 – 简单单单配置好linux服务器

lnmp-org 网站.独立博客越做越大,腰包越来越鼓,不少做网站的朋友明显感受到了虚拟主机已经不足以满足自己网站的负载,加之服务器硬件以及带宽的成本降低,价格已趋于平民,于是纷纷将原有的虚拟主机升级为VPS甚至是独立主机,可是随之而来的就是很多技术上的问题,如网站环境的搭建,VPS的系统配置等让人头痛,不过今天张自然为大家介绍一款软件可以让您简单又迅速的配置好您的VPS或独立主机.当然,张自然的小博客不需要! LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHa

MindManager2018离线安装包官网下载

软件官网:https://www.mindjet.com/ 目前来说,官网正常下载的话它会要求你填写一些信息,然后官方通过邮件的形式向你发送下载链接,而且坑爹的是这个下载链接并不是软件的下载链接,而是软件的一个下载器,通过本文,让大家学会一种更加简便的下载方式,当然,必须官网下载才能安心. 通过官网首页,我们找到底部的支持信息[Support],点击它来到支持信息页,在此页面上我们可以看到资源项[Resources],在这个项目下,我们可以看到[To reinstall software you

lowendscript:适用于64MB内存的LNMP一键安装包

简介 lowendscript lnmp一键部署script是由本国兄弟David Pennington制作的,长处:最大化节流资源支付.相形军哥的lnmp一键部署包要简单.轻便的多,磁盘当空占用也少.部署lowendscript lnmp一键包适用于Ubuntu.Debian系统,概括其他版本Linux系统来说,Debian 32位系统下部署对立占用资源起码. 部署 1.下载lowendscript部署script wget --no-check-certificate https://raw