php dirname 中文目录(需重新编译)
来源:互联网 发布:魔兽 怀旧 源码 下载 编辑:程序博客网 时间:2024/06/03 20:30
php5一些特殊函数在处理中文开头的文件无法返回正常的值
原因:
phpsrc/ext/standard/string.c下的php_basename函数
里边有一个php_mblen函数在遇到非英文情况下会返回非1的值
造成无法处理以中文开头的字符
其他函数也是类似的情况。
解决办法
只要修改phpsrc/ext/standard/下的php_string.h
把以下内容注释掉
/*#ifndef HAVE_MBLEN
# define php_mblen(ptr, len) 1
#else
# if defined(_REENTRANT) && defined(HAVE_MBRLEN) && defined(HAVE_MBSTATE_T)
# define php_mblen(ptr, len) ((ptr) == NULL ? mbsinit(&BG(mblen_state)): (int)mbrlen(ptr, len, &BG(mblen_state)))
# else
# define php_mblen(ptr, len) mblen(ptr, len)
# endif
#endif
*/
=========
添加一行
# define php_mblen(ptr, len) 1
========
把php_mblen的返回值强制成1
可以解决
==================
现在问题解决了
有一个疑问就是:为什么php开发公司不解决这个问题呢?
- php dirname 中文目录(需重新编译)
- PHP目录函数basename()与dirname()
- PHP获取文件目录dirname(__FILE__),getcwd(),
- PHP获取文件目录dirname(__FILE__),getcwd()
- php --- dirname(__FILE__) 获取网站所在目录全路径
- php --- dirname(__FILE__) 获取网站所在目录全路径
- PHP 循环检测并生成目录 chkDir($dirname,$split='/')
- PHP 循环检测并生成目录 chkDir($dirname,$split='/')
- php中有关目录的几个函数 basename() dirname() pathinfo()
- php重新编译安装memcache
- 安装openssl php重新编译
- 重新编译php支持freetype
- PHP 常量 dirname(__file__)
- php basename dirname __FILE__
- php dirname(__FILE__)
- PHP dirname() 函数
- php dirname(__FILE__)
- PHP-dirname()、realpath()函数
- iptables介绍
- JComboBox基本用法
- 如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件
- 搜狗 2012 校园招聘 网测题
- 关于eclipse无法自动编译的问题
- php dirname 中文目录(需重新编译)
- c++之面向对象程序设计
- 关于软件工程导论的几个图的概念定义
- 开源电子商务之OFBIZ10.04组件开发入门 :使用外部数据库MySql
- 关于python保存图片的代码
- OPC质量信息
- object c ~ 代表主目录
- TCP三次握手四次挥手理论加实例详解
- 页面对象的11个事件