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

访客4年前黑客资讯831

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

写个代码去掉他

<?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);


相关文章

我想跟踪一个人要怎么跟踪 秘密跟踪一个人的行踪

我想要跟踪一个人到底要怎么跟踪才不会被发现,那么秘密跟踪一个人的行踪有什么技巧呢,我国规定,除可以跟踪公民的公安机关和其他有关执法人员和有关技术人员外,其他人员没有此权限。通常,出租车用于跟踪大法。唯...

洪森:疫情危机凸显维高速封路护多边主义深化国际合作

  (聚焦东博会)洪森:疫情危机凸显维护多边主义深化国际合作的重要性   中新社南宁11月27日电 (记者 黄令妍)柬埔寨首相洪森27日表示,当前新冠肺炎疫情全球蔓延对经济社会发展带来前所未有的冲击...

ps怎么去皱纹

开启ps,导进素材图片,ctrl J复制图层,点一下左边菜单栏的修补画笔工具,在上边特性栏设定画笔工具的尺寸,然后按着Alt键,鼠标单击沒有皱褶的地区,有皱褶的地区开展点一下清除就可以。 知名品牌型号...

怎样恢复被删除的微信

如果你是公众号的运营者,在公众号后台删除的文章是没办法找到的,你可以在素材管理里面找到该文章。1、微信公众号是开发者或商家在微信公众平台上申请的。 删除好友可反悔:单方面删除好友的话,跟好友的聊天框会...

pr怎么去水印但是画面保持原样

开启pr,导进素材图片,将素材图片拖入时间线,点一下实际效果,双击鼠标视頻,右边挑选正中间值,应用正中间值蒙版选中图片水印,点一下半经,设定半经标值,回车键明确就可以。 知名品牌型号规格:想到Geek...

两枚火箭弹从巴勒斯坦龙门客栈电视剧宁财神加沙地带射向以色列南部

  当地时间12月25日深夜,以色列军方证实,当天晚上,巴勒斯坦加沙地带武装人员向以色列南部的阿什凯隆发射了两枚火箭弹,被以色列防空系统“铁穹”拦截。听到警报声的三名以色列民众,在慌乱奔跑中受轻伤。截...