如何在PHP中从给定字符串中删除$#u SERVER[';DOCUMENT#u ROOT';]
如何从这样的字符串中删除如何在PHP中从给定字符串中删除$#u SERVER[';DOCUMENT#u ROOT';],php,string,oop,Php,String,Oop,如何从这样的字符串中删除$\u SERVER['DOCUMENT\u ROOT'] /home/bla/test/pic/photo.jpg 结果应该是这样的 /test/pic/photo.jpg 我还需要从/test/pic/photo.jpg拍摄photo.jpg。如果DocumentRoot对应于要删除的字符串部分,可以使用以下解决方案: 但是请注意,如果$\u服务器['DOCUMENT\u ROOT']的内容出现在字符串中的其他位置,则会遇到问题:每次都会将其删除 如果要确保只从字符串
$\u SERVER['DOCUMENT\u ROOT']
/home/bla/test/pic/photo.jpg
结果应该是这样的
/test/pic/photo.jpg
我还需要从/test/pic/photo.jpg拍摄photo.jpg。如果DocumentRoot对应于要删除的字符串部分,可以使用以下解决方案: 但是请注意,如果
$\u服务器['DOCUMENT\u ROOT']
的内容出现在字符串中的其他位置,则会遇到问题:每次都会将其删除
如果要确保只从字符串开头删除,可以使用一些正则表达式:
$docroot = '/home/bla';
$path = '/home/bla/test/pic/photo.jpg';
echo preg_replace('/^' . preg_quote($docroot, '/') . '/', '', $path);
请注意正则表达式开头的^
(表示它只应在字符串开头匹配)——并且不要忘记使用从文档根转义特殊字符
当您有包含目录+名称的路径时,要获取文件名,可以使用函数;例如,这部分代码:
echo basename('/test/pic/photo.jpg');
将为您提供以下输出:
photo.jpg
如果DocumentRoot对应于要删除的字符串部分,则可以使用以下解决方案: 但是请注意,如果
$\u服务器['DOCUMENT\u ROOT']
的内容出现在字符串中的其他位置,则会遇到问题:每次都会将其删除
如果要确保只从字符串开头删除,可以使用一些正则表达式:
$docroot = '/home/bla';
$path = '/home/bla/test/pic/photo.jpg';
echo preg_replace('/^' . preg_quote($docroot, '/') . '/', '', $path);
请注意正则表达式开头的^
(表示它只应在字符串开头匹配)——并且不要忘记使用从文档根转义特殊字符
当您有包含目录+名称的路径时,要获取文件名,可以使用函数;例如,这部分代码:
echo basename('/test/pic/photo.jpg');
将为您提供以下输出:
photo.jpg
链接:-
- 链接:
-
-
echo basename(str_replace($_SERVER['DOCUMENT_ROOT'], '', '/home/bla/test/pic/photo.jpg'));
// output: photo.jpg
echo basename(str_replace($_SERVER['DOCUMENT_ROOT'], '', '/home/bla/test/pic/photo.jpg'));
// output: photo.jpg