博客总结

  • 前言

    1.  拖延了6天才算基本写完后台,拖延症越来越严重了

    2.  后台采用的php,做了一定的防护()

    3.  现在就来梳理下搭建后台遇到的一些小问题吧

     

  • WebStorm快捷键

        webstorm批量查找,批量替换快捷键

    a. Ctrl + Shift + F : 批量查找

    b. Ctrl + Shift + R : 批量替换

    c. Ctrl + Alt + I : 整理缩进 

  • PHP创建中文目录or文件时编码问题

    1.  这里需要注意几个方面的编码统一

    a)   php页面编码

    b)   mysql编码

    c)   操作系统编码

    d)   Ajax等传送时的编码

     

    2.  当你发现创建的目录名字出现编码错误的时候

    a)   尝试删除:

    如果你发现打不出名字 tab也不能补全,那么可以用inode

           ls –il  #获取inode是多少

           find –inum $inode –exec mv {} $new_name \;  #重新命名文件 $inode 是上一步的id;$new_name 是命名的新名字

           这个时候,就可以用 rm删除文件

     

    b)   并检查代码(php方面):

    if(mkdir(iconv('utf-8', 'gbk', "中文")))

    如果php页面编码时utf-8,而操作系统的是gbk就应该使用以上代码

     

     

  • PHP中mkdir()函数的权限问题

    1.问题描述:

    使用以下php代码创建了一个目录,期望目录的权限是0777,实际结果是0755

    mkdir('./aa/',0777);

    2.分析与测试结果:

    c)   mkdir()函数指定的目录权限只能小于等于系统umask设定的默认权限。(为什么请百度一下)

    如linux默认的umask一般0022, 即创建目录的默认权限是0755, 所以这时php  mkdir('./aa/',0777) 得到目录的权限是0755.

    d)   chmod()函数不受系统umask影响,可以设置比系统默认权限大的权限。

    3.系统的mkdir命令可以设置大于默认值的权限。

         系统的mkdir命令并不会受到umask的影响

    4.总结:

    php若要创建一个有读写权限的目录,最好使用以下代码,不要直接使用mkdir函数指定权限,以避免系统umask的影响

    mkdir('./xw/');

    chmod('./xw/',0777);