PHP在windows和LINUX下的路径分隔符 DIRECTORY_SEPARATOR
2009-01-16 10:41
405 查看
众所周知,windows下的是/和/,而LINUX下的是/
在程序本地运行很正常,上传到服务器后,发现图片没有显示出来,图片链接是绝对路径 var/,而且当中带有 / 但是我记得这个路径已经处理成相对路径的
$path = dirname(dirname(dirname(__FILE__))).'//';
$search = array( $path, '//');
$replace = array( '', '/');
return str_replace($search,$replace,$this->tempfolder).$this->filename_prefix.$public.'.jpg';
可以各位也看出来了,第一行代码的用在LINUX “//”, 就不行。
解决的办法是 用PHP 预定义常量DIRECTORY_SEPARATOR来代替'/','/'这样的路径分隔符,以前觉得既然windows,LINUX 都支持/,那都用成 / 得了,这是没错的。可是从这个例子可以看出,当要对路径字符串进行处理的时候,就比较危险了,所以最好还是用DIRECTORY_SEPARATOR吧
在程序本地运行很正常,上传到服务器后,发现图片没有显示出来,图片链接是绝对路径 var/,而且当中带有 / 但是我记得这个路径已经处理成相对路径的
$path = dirname(dirname(dirname(__FILE__))).'//';
$search = array( $path, '//');
$replace = array( '', '/');
return str_replace($search,$replace,$this->tempfolder).$this->filename_prefix.$public.'.jpg';
可以各位也看出来了,第一行代码的用在LINUX “//”, 就不行。
解决的办法是 用PHP 预定义常量DIRECTORY_SEPARATOR来代替'/','/'这样的路径分隔符,以前觉得既然windows,LINUX 都支持/,那都用成 / 得了,这是没错的。可是从这个例子可以看出,当要对路径字符串进行处理的时候,就比较危险了,所以最好还是用DIRECTORY_SEPARATOR吧
相关文章推荐
- PHP在windows和LINUX下的路径分隔符 DIRECTORY_SEPARATOR
- PHP在windows和LINUX下的路径分隔符 DIRECTORY_SEPARATOR
- PHP在windows和LINUX下的路径分隔符 DIRECTORY_SEPARATOR
- PHP在windows和LINUX下的路径分隔符 DIRECTORY_SEPARATOR
- linux 与windows 下的文件路径分隔符
- php 多平台目录分隔符 DIRECTORY_SEPARATOR
- springmvc 获取request 和 java路径分隔符 在windows 和linux 下自动判断的方法
- java自动匹配路径分隔符Windows、Linux自动区分
- 路径分隔符(linux,windows)
- DIRECTORY_SEPARATOR:PHP 系统分隔符常量
- windows和Linux路径问题:File.separator 文件路径
- windows和Linux以及Java中路径分隔符的不同
- DIRECTORY_SEPARATOR 目录分隔符 php内置变量
- python复制文件,路径不存在问题(Windows和linux路径分隔符不统一)
- 关于File.separator 文件路径:windows与linux下路径问题 ("\"与"/")
- windows与linux中文件路径分隔符问题解决--通过File.separator解决掉此问题
- php文件目录分隔符Windows与linux兼容的问题
- File.separator 实现Windows和Linux文件路径中的斜线
- Java下兼容linux和windows文件路径的间隔符的写法
- PHP 获取内网用户MAC地址(WINDOWS/linux)解决方案