zoukankan      html  css  js  c++  java
  • pathinfo()在php不同版本中对于对多字节字符处理的不同结果

    phpinfo()函数在处理路径时,在php的低版本中无法处理多字节字符,这里测试的是php5.3和php5.6 的区别

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
     
    // your code goes here
    echo phpversion();
     
    print_r(pathinfo("/resources/img/stock/wxb001/美景.png"));
     
    输出:
    5.6.4-2
    Array
    (
        [dirname] => /resources/img/stock/wxb001
        [basename] => 美景.png
        [extension] => png
        [filename] => 美景
    )
    但是在php5.3.3版本中
    <?php
     
    // your code goes here
    echo phpversion();
     
    print_r(pathinfo("/resources/img/stock/wxb001/美景.png"));
    输出:
    5.3.3
    Array
    (
        [dirname] => /var/www/www.shima.jp.net/resources/img/stock/wxb001
        [basename] => .png
        [extension] => png
        [filename] =>
    )
    // 同时,在php5.3中basename()也会过滤掉多字节字符
    echo basename('/resources/img/stock/wxb001/美景.png')
    // 输出:.png

    那么在低版本中可以使用下面方法来实现多字节字符的处理

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    // your code goes here
     $file = '/resources/img/stock/wxb001/美景.png';
    $file_dir = dirname($file );
    $file_basename = substr(strrchr($file, DIRECTORY_SEPARATOR), 1);
    $file_name = substr($file_basename, 0, strrpos($file_basename, "."));
    $file_extension = end(explode(".", $file_basename));
     
    echo $file_dir; // /resources/img/stock/wxb001
    echo $file_basename// 美景.png
    echo $file_name; // 美景
    echo $file_extension; // png





  • 相关阅读:
    android studio Cannot resolve symbol '@drawable/XXX'等问题解决办法
    android面试
    Android动态增量
    客户端传递Cookie到WebView中
    Android事件传递机制
    Activity状态保存的两种方式
    Activity Window View之间的关系
    Git学习笔记
    Android Log命令常用方法
    ListView 中点击Item中的Button删除当前行
  • 原文地址:https://www.cnblogs.com/wxb0328/p/4513864.html
Copyright © 2011-2022 走看看