本文主要介绍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编程有所帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。