PHP 去掉路径中的 "/./" 或者 “/../”

采集头疼啊 很多地址中存在/../或者/./ 写个代码去掉他 <?php $filename = ‘/www.isiyuan.net/../../public/files/1413873853598.jpg‘; function getRealPath($filename, $split = ‘...

采集头疼啊 很多地址中存在/../或者/./

写个代码去掉他

<?php
$filename = ‘/www.isiyuan.net/../../public/files/1413873853598.jpg‘;
function getRealPath($filename, $split = ‘/‘)
{
    while(true) {
        if (FALSE === strpos($filename, $split . ‘.‘)) {
            break;
        }
        $filename = explode($split, $filename);
        foreach($filename as $k => $f) {
            if (($k && $f == ‘‘) || $f == ‘.‘) {
                unset($filename[$k]);
          break;
            }
            elseif ($f == ‘..‘) {
                unset($filename[$k]);
                if(isset($filename[$k-1]))
                    unset($filename[$k-1]);
                break;
            }
        }
        $filename = implode($split, $filename);
    }
    return $filename;
}
echo getRealPath($filename);


  • 发表于 2021-05-01 08:29
  • 阅读 ( 289 )
  • 分类:互联网

0 条评论

请先 登录 后评论
Brucesog
Brucesog

654 篇文章

你可能感兴趣的文章

相关问题