Home >php教程 >php手册 >PHP在windows和LINUX下的路径分隔符

PHP在windows和LINUX下的路径分隔符

WBOY
WBOYOriginal
2016-06-06 19:55:581425browse

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 众所周知,windows下的是\和/,而LINUX下的是/ 在程序本地运行很正常,上传到服务器后,发现图片没有显示出来,图片链接是绝对路径 var/...,而且当中带有 \ 但是我记得这个路径已经处理成相对路径的

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

    众所周知,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_SEPATRATOR来代替'\','/'这样的路径分隔符,以前觉得既然windows,LINUX 都支持/,那都用成 / 得了,这是没错的。可是从这个例子可以看出,当要对路径字符串进行处理的时候,就比较危险了,所以最好还是用DIRECTORY_SEPATRATOR吧。

PHP在windows和LINUX下的路径分隔符

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn