技术圈开发者交流群:

[PHP函数每日一例] get_byte_size 字节KB格式换算转换

字节KB格式换算转换


/**
 * 字节转换
 */
function get_byte_size($size)
{
    $units = array(' B', ' KB', ' MB', ' GB', ' TB');
    for ($i = 0; $size > 1024; $i++) {
        $size /= 1024;
    }
    return round($size, 2) . $units[$i];
}

// echo get_byte_size(1024000);
// 输出:
// 1000 KB

// echo get_byte_size(409610241024);
// 输出:
// 381.48 GB


原创 2017年09月12日 28258

[PHP函数每日一例] clear_tags 清除HTML标签

单纯用php原生函数 strip_tags 清除仍有残留和空格,下面的方法完美解决,将html转换为纯文本。

/**
 * 清除html标签
 */
function clear_tags($str)
{
    $str = strip_tags($str);
    //首先去掉头尾空格
    $str = trim($str);
    $str = preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", "", strip_tags($str));
    //接着去掉两个空格以上的
    $str = preg_replace('/\s(?=\s)/', '', $str);
    //最后将非空格替换为一个空格
    $str = preg_replace('/[\n\r\t]/', ' ', $str);
    return $str;
}

// echo clear_tags('<p>Hello,World!!!</p>');
// 输出:
// Hello,World!!!


PHP 2017年09月11日 25076

NFS网络文件系统

NFS服务器

1.安装nfs-utils 

    yum -y install nfs-utils

 

2.创建需要共享的文件或目录

     mkdir /test/share1 /test/share2 /test/share3

 

3.NFS配置文件

     vi /etc/exports

image.png

 

4 .启动相关服务

    service rpcbind start

    service nfs start

 

5.关闭防火墙

    service iptables stop

 

6.查看当前主机的共享目录列表

    showmount -e   localhost

    exportfs -rv         使NFS服务器重新读取exports文件中的设置

    exports  -auv      停止当前主机中NFS服务器的所有目录输出


NFS客户端

1.安装nfs-utils

    yum -y install nfs-utils

2 .启动相关服务

    service rpcbind start

    service nfs start

3.查看指定主机共享目录信息

   showmount -e 192.168.8.241

image.png

 

4.Linux客户端挂载NFS文件系统

image.png

5.系统启动自动挂载NFS文件系统

image.png

image.png

 

6.重新读取fstab文件,或者重启计算机

    mount -a

7.查看挂载信息

    df -T


Linux 2017年09月11日 44573

Samba服务器-案例配置

Samba案例配置

要求: 每个用户都能访问自己的宿主目录(默认开启)

/test/public          公共目录,maryjack都能读写,但不能删除别人的文件

/test/mary_dir    mary的目录,每个用户都能访问,但只要mary有写的权限

/test/jack_dir       jack  的目录,只有jack能访问和读写

1.安装samba

    yum -y install samba*

2.添加maryjack账户

image.png

3.创建相应目录并赋予相关权限

image.png

4.配置smb.conf文件

   vi /etc/samba/smb.conf     在文件末尾添加

image.png

5.测试语法错误

     testparm

6.添加samba用户

       smbpasswd -a jack

       smbpasswd -a mary

7.关闭防火墙和SELinux

     service iptables stop

     setenforce 0

8.启动smb服务

     service smb start

9.客户机(windows)访问

    运行“\\ 192.168.8.242”,输入相应用户名验证。

      net user  *   /delete  /y      清空共享访问记录。


附件说明

 

gdbedit -a -u jack      添加samba用户

               -a 添加

               -u 指定用户名

               -x 删除用户

gdbedit -L                    列出所有samba用户

gpdedit -vL  jack         显示用户的详细信息

service smb reload      重载smb.conf文件

 

smbclient -L 192.168.8.250   查看共享目录

smbclient -U HT  //192.168.8.250/share   登录使用共享

 

mount -o username=HT  -t cifs //192.168.8.250/share /media/cdrom              使用mount挂载共享文件夹

 

开机自动挂载

  # vi /etc/fstab

// 192.168.8.250/share /media/cdrom cifs defaults,username=HT,passwd=abc-123 0 0

  #service autofs start

image.png

 

image.png


Linux 2017年09月11日 40988

Samba文件共享服务基础

Samba服务的安装

1.[root@rhel6-002 Packages]# ls ./samba*

     ./samba-3.5.10-114.el6.i686.rpm                          服务器软件包

     ./samba-client-3.5.10-114.el6.i686.rpm                共同需要的

     ./samba-common-3.5.10-114.el6.i686.rpm         客户端软件

     ./samba-winbind-3.5.10-114.el6.i686.rpm           WEB软件包

     ./samba-winbind-clients-3.5.10-114.el6.i686.rpm       WEB客户端

2.[root@rhel6-002 ~]# yum -y install samba*

 

Samba服务器的主要程序

      smbd:提供对服务器中文件、打印资源的共享访问 (139 TCP端口号)

      nmbd:提供基于NetBIOS主机名称的解析 (137和138 UDP端口号)

Samba的服务脚本

      /etc/init.d/smb

Samba的配置目录及文件

     /etc/samba/

     /etc/samba/smb.conf

配置文件检查工具:testparm


Samba配置文件    /etc/samba/smb.conf

[global]

workgroup =  指定工作组或域

server string = 描述

security = 指定主机访问

log gile = 知道日志文件存放位置

max log size = 指定日志文件大小

passwd backend = 设置共享账户文件类型

[常见共享目录配置]

comment = 对共享目录的注释

path = 共享目录在服务器中的对应的实际路径

browseble = 该共享目录在“网上邻居”是否可见

guest ok = 是否允许所有人访问,等效于“public”

writable = 是否可写,与read only的作用相反

directory mask = 0755

create mask = 0644        设置上传文件和目录默认权限

image.png

Linux 2017年09月11日 39414

基于Laravel5.5的模块化开发

laravel 安装后是单模块应用,但通常情况下,我们的项目往往会有很多模块,如果按单模块去做,文件目录会异常庞大,不利于维护,耦合性太大。 那么下面就详细说一下利用最新laravel5.5如何进行分模块开发。

composer create-project --prefer-dist laravel/laravel ./
PHP 2017年09月11日 430933

我的Sublime Text配置

{
    "SublimeLinter":
    {
        "linters":
        {
            "php":
            {
                "cmd": "F:\\program\\phpStudy\\php\\php-7.1.8-nts\\php.exe"
            }
        }
    },
    "color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme",
    "font_face": "Courier New",
    "font_size": 14,
    "ignored_packages":
    [
        "Vintage"
    ],
    "theme": "Soda Dark 3.sublime-theme",
    "update_check": false,
    "word_wrap": "auto"
}
  • CTags
  • DeleteBlankLines
  • DocBlocker
    {
    "jsdocs_extra_tags":[
        "@author   [Tech1024] <xxxxxx@163.com>",
        "@datetime {{datetime}}"
    ]
    }
  • Emmet
  • Git
  • HTML-CSS-JS Prettify
  • jQuery
  • Markdown Preview
  • phpfmt
    {
    "autocomplete": true,
    "enable_auto_align": true,
    "format_on_save": false,
    "indent_with_space": 4,
    "option": "value",
    "passes":
        [
            "MergeElseIf"
        ],
    "php_bin": "F:/program/phpStudy/php/php-7.0.12-nts/php.exe",
    "psr1": true,
    "psr1_naming": true,
    "psr2": true,
    "version": 3
    }
  • SublimeLinter
  • SublimeLinter-php
  • Theme-Soda
  • SideBarEnhancements
工具 2017年09月08日 37405

php格式化输出json

格式化输出json,php版本要求5.4或更高

    /**
     * 浏览器友好的变量输出json格式
     * @param mixed     $var 变量
     * @param boolean   $echo 是否输出 默认为true 如果为false 则返回输出字符串
     * @return void|string
     * @author TechLee
     */
    function ddj($var, $echo = true)
    {
        header('content-type:application/json;charset=utf8');
        $output = json_encode($var, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
        if ($echo) {
            echo ($output);
            return;
        } else {
            return $output;
        }
    }


PHP 2017年09月08日 25963

php格式化输出代替var_dump/print_r

PHP输出变量函数print_r和var_dump,没有格式化,易读性太差

下面结合thinkphp礼包dump函数改进的

    /**
     * 浏览器友好的变量输出
     * @param mixed     $var 变量
     * @param boolean   $echo 是否输出 默认为true 如果为false 则返回输出字符串
     * @param string    $label 标签 默认为空
     * @return void|string
     * @author TechLee
     */
    function ddp($var, $echo = true, $label = null, $flags = ENT_SUBSTITUTE)
    {
        $label = (null === $label) ? '' : rtrim($label) . ':';
        ob_start();
        var_dump($var);
        $output = ob_get_clean();
        $output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output);

        if (!extension_loaded('xdebug')) {
            $output = htmlspecialchars($output, $flags);
        }
        $output = '' . $label . $output . '';

        if ($echo) {
            echo ($output);
            return;
        } else {
            return $output;
        }
    }


PHP 2017年09月08日 26212

排行

解决方案

网站建设

专业企业官网建设,塑造企业形象,传递企业价值

系统开发

系统软件开发,用心思考,用心设计,用心体验

技术支撑

打破技术瓶颈,让不堪重负的项目起死回生

业务中台

构建全渠道一体化运营能力,实现全链路数字化

文案策划

文案撰写、营销策划,专注品牌全案

新媒体运营

一站式解决企业互联网营销痛点和难题

以技术的力量,改变互联网

联系我们
鄂ICP备19028750号-1 @copyright 2024 tech1024.com