PHP 去掉路径中的 "/./" 或者 “/../”
<?php $filename = ‘/mnt/hgfs/workspace/weituibao/app/config/../../public/files/36/temp/201410/21/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);
---------- php ----------
/mnt/hgfs/workspace/weituibao/public/files/36/temp/201410/21/1413873853598.jpg
输出完成 (耗时 0 秒) - 正常终止
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。