zoukankan      html  css  js  c++  java
  • PHP中file_exists()判断中文文件名无效的解决方法

    php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档时是无效。本文就来解决此问题,下面我们一起来看看。

    定义和用法:
    file_exists() 函数检查文件或目录是否存在。
    如果指定的文件或目录存在则返回 true,否则返回 false。

    例子1

    <?php
     echo file_exists("test.txt");
     ?>

    输出:
    1
    例子2

    $realname='中文.txt';
    if(file_exists($realname)) {
    
       // 永远都进不了这里
    
    }
    
    else
    
    {
    
      echo 'www.jb51.net 提醒你文件不存在了';
    
    }

    输出结果是 www.jb51.net 提醒你文件不存在了
    但我很惊讶呀文件是存在了,并且路径也没有问题php文件与中文.txt在同一目录所以这样写是没有问题,于时想想会不会是中文问题,我对编码进行转换

    解决方案:

    $realname='中文.txt';
    
    if(file_exists(iconv('UTF-8','GB2312',$realname))) {
    
       // 这样就可以支持了
    
    }

    结果显示1 ,问题解决了
    此外还需要提醒大家,在php中最好不要使用中文名字,像apache,linux,php这些对中文支持不怎么好,所以大家尽量使用英文。

  • 相关阅读:
    JVM(六)——垃圾回收算法
    JVM(五)——执行引擎、String
    JVM(四)——方法区
    JVM(三)——堆
    JVM(二)——虚拟机栈
    JVM(一)——概述和类加载子系统
    Java EE入门(二十二)——Linux和Nginx
    操作系统(六)——磁盘和IO
    【03】RNN
    【02】时间复杂度
  • 原文地址:https://www.cnblogs.com/crystaltu/p/6524537.html
Copyright © 2011-2022 走看看