gpt4 book ai didi

php - 是否有与 Python os.path.normpath() 等效的 PHP 函数?

转载 作者:太空狗 更新时间:2023-10-29 22:28:12 25 4
gpt4 key购买 nike

是否有与 Python os.path.normpath() 等效的 PHP 函数?
或者我怎样才能在 PHP 中获得完全相同的功能?

最佳答案

这是我在 PHP 中对 Python 的 posixpath.py 中的 normpath() 方法进行的 1:1 重写:

function normpath($path)
{
if (empty($path))
return '.';

if (strpos($path, '/') === 0)
$initial_slashes = true;
else
$initial_slashes = false;
if (
($initial_slashes) &&
(strpos($path, '//') === 0) &&
(strpos($path, '///') === false)
)
$initial_slashes = 2;
$initial_slashes = (int) $initial_slashes;

$comps = explode('/', $path);
$new_comps = array();
foreach ($comps as $comp)
{
if (in_array($comp, array('', '.')))
continue;
if (
($comp != '..') ||
(!$initial_slashes && !$new_comps) ||
($new_comps && (end($new_comps) == '..'))
)
array_push($new_comps, $comp);
elseif ($new_comps)
array_pop($new_comps);
}
$comps = $new_comps;
$path = implode('/', $comps);
if ($initial_slashes)
$path = str_repeat('/', $initial_slashes) . $path;
if ($path)
return $path;
else
return '.';
}

这将与 Python 中的 os.path.normpath() 完全一样工作

关于php - 是否有与 Python os.path.normpath() 等效的 PHP 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2670299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com