• 技术文章 >php教程 >PHP源码

    实现windows下,从php引入汉语命名的文件

    PHP中文网PHP中文网2016-05-25 17:03:45原创326
    php源代码常采用utf-8编码,但windows系统下的文件名采用的编码方式是gbk,所以在php文件中,通过require "示例.php" 等类似语句是无法引入确实存在于相关目录下的文件的.相关解决思路,详见代码.个人认为这是一个很有意义的"小问题".代码仅以require的封装为例.

    /**
     * 需要
     * 
     * 功能类似require,增加了对汉语文件名的支持.
     * 
     * 此函数解决windows服务器汉语文件名默认为gbk编码方式,无法通过require引入文件的
     * 不足.思路是:已知windows服务器,php会以utf-8解析gbk编码的汉语文件名,则在utf-8
     * 编码的文件中把汉语文件名转为某种兼容gbk编码的编码方式,然后再调用require加载文
     * 件即可.
     * 
     * $文件		想要通过require引入的文件
     * 
     * 注意:同require一样,若指定文件不存在,将产生 E_COMPILE_ERROR 级别的错误,这将
     * 导致脚本中止执行.
     * 
     */ 
     function 需要($文件)
     {
    	//使用php的预定义常量PATH_SEPARATOR判断操作系统类型
    	if(PATH_SEPARATOR==':') 
    	{
    		//非windows系统,可以直接引入文件
    		require $文件;
    	}
    	else
    	{
    		//windows系统,需先将文件名转换为兼容gbk编码的格式
    		require iconv("UTF-8", "GB18030", $文件);
    	}
     }
     
     // --------------------------------------------------------------------
    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:soap 应用 下一篇:网站用户退出
    大前端线上培训班

    相关文章推荐

    • php生成略缩图程序代码与详细介绍• Yaf框架入门只hello yaf• WDCP面板基于PHP5.3/5.4/5.5安装soap扩展步骤• php生成csv文件并下载及问题总结• 整理的可以直接用的18个PHP代码函数片段

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网