微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何确定文件path是绝对的?

我怎样才能确定文件path是绝对的? 必须在Windows和Linux上工作。

函数声明而不是注释

什么是删除包含数千个文件的大目录的最好和最快的方法(在Ubuntu中)

为旧的Linux内核设置buildroot

amd64 psABI在哪里?

Sed正则expression式多行 – replaceHTML

在这里,我尝试用一​​个函数来做:

function isAbsolutePath($path) { if (!is_string($path)) { $mess = sprintf('String expected but was given %s',gettype($path)); throw new invalidargumentexception($mess); } if (!ctype_print($path)) { $mess = 'Path can NOT have non-printable characters or be empty'; throw new DomainException($mess); } // Optional wrapper(s). $regExp = '%^(?<wrappers>(?:[[:print:]]{2,}://)*)'; // Optional root prefix. $regExp .= '(?<root>(?:[[:alpha:]]:/|/)?)'; // Actual path. $regExp .= '(?<path>(?:[[:print:]]*))$%'; $parts = []; if (!preg_match($regExp,$path,$parts)) { $mess = sprintf('Path is NOT valid,was given %s',$path); throw new DomainException($mess); } if ('' !== $parts['root']) { return true; } return false; }

我从我的一个项目中获得了这个,你可能在使用文件和路径的时候会觉得有用: dragonrun1 / file_path_normalizer

以下是我想到的:

function is_absolute_path($path) { if($path === null || $path === '') throw new Exception("Empty path"); return $path[0] === DIRECTORY_SEParaTOR || preg_match('~A[AZ]:(?![^/\\])~i',$path) > 0; }

我认为这涵盖了Windows的所有可能的根路径。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐