本文主要介绍php中常量DIRECTORY_SEPARATOR用法的深入分析,涉及到Linux路径分隔符不支持的情况。有一定的实用价值,有需要的朋友可以参考一下。
这篇文章展示了常量DIRECTORY_SEPARATOR在php中的用法。分享给你,供你参考。如下所示:
php中DIRECTORY_SEPARATOR是什么意思?什么时候使用DIRECTORY_SEPARATOR最合理?下面介绍常量php DIRECTORY_SEPARATOR。
我们知道DIRECTORY_SEPARATOR是一个PHP常量,代表反斜杠,因为windows和linux系统的反斜杠是不一样的。在Windows上,斜杠(/)和反斜杠()都可以用作目录分隔符,而在linux上,路径分隔符是“/”。
那么在PHP代码中什么时候要用DIRECTORY_SEPARATOR来表示反斜杠呢?
比如这句话:
复制代码如下:require _ once dirname (_ _ file _ _)。目录_分隔符。/././WP-config . PHP ;
require_once目录名(__FILE__)。目录_分隔符。Inc/options . PHP ;
为什么这两段PHP代码前部分用DIRECTORY_SEPARATOR,后部分用/?
众所周知,和/是windows下的,而/是LINUX下的。
程序在本地正常运行。上传到服务器后发现图片不显示。图片的链接是绝对路径var/with 但是我记得这个路径被处理成了相对路径。
复制代码如下:$ path=dirname (dirname (_ _ file _ _))。 ;
$search=array( $path, );
$replace=array(,/);
返回str_replace($search,$replace,$this-tempfolder)。$ this-文件名前缀。$public。jpg ;
如你所见,如果第一行代码用在LINUX 中,就不行了。
解决方法是使用PHP预定义的常量DIRECTORY_SEPARATOR,而不是路径分隔符,比如 、/。我以前觉得既然windows和LINUX都支持/,那就用/。但是,从这个例子可以看出,处理路径字符串是很危险的,所以最好使用DIRECTORY_SEPARATOR。
希望这篇文章对大家的PHP编程有所帮助。