Php 如何将文件名与路径分开?basename()与带数组的preg_split()的比较
如果此函数的实际操作可以写成两行,那么为什么在PHP脚本中使用Php 如何将文件名与路径分开?basename()与带数组的preg_split()的比较,php,regex,filenames,filepath,Php,Regex,Filenames,Filepath,如果此函数的实际操作可以写成两行,那么为什么在PHP脚本中使用basename(): $subFolders = preg_split("!\\\|\\/!ui", $path); // explode on `\` or `/` $name = array_pop($subFolder); // extract last element's value (filename) 我错过什么了吗 但是,如果文件名中有一些\或/,我猜上面的代码可能无法正常工作。但这是不可能的,对吗?PHP可能运
basename()
:
$subFolders = preg_split("!\\\|\\/!ui", $path); // explode on `\` or `/`
$name = array_pop($subFolder); // extract last element's value (filename)
我错过什么了吗
但是,如果文件名中有一些
\
或/
,我猜上面的代码可能无法正常工作。但这是不可能的,对吗?PHP可能运行在具有许多不同文件系统和命名约定的许多不同系统上。使用像basename()
这样的函数可以保证(或至少应该保证)正确的结果,而与平台无关。这增加了代码的可移植性
另外,比较一下对代码的一个简单的
basename()
调用,它更具可读性,而且对于其他程序员来说,它应该做什么更为明显?您是否缺少了一点,即不是每个人都像您一样熟悉regex?PS$subf来自哪里?