带有〜的文件夹的dirname

时间:2014-02-19 14:14:21

标签: php dirname

我正在尝试为我的项目做一个URL解析器,一个非常简单的东西,就像你在浏览器中输入它并将其转换为有效的URL一样,一旦完成解析这样的URL并获取所有图像完整路径。

我能够“修复”用户输入的网址并在需要时预先挂起http,只移除上一个/开启网域(“http://www.domain.com/成为http://www.domain.comhttp://www.domain.com/test/停留不变)。

我遇到的问题是dirname正在解析某些文件夹的路径。 我的代码看起来像这样:

<?php
$url         = 'www.domain.com/~folder/';  //This is a variable that changes often
$url         = $this->fix_url($url);  //$url is now http://www.domain.com/~folder/
$url_image   = 'image.png';
$parse       = parse_url($url);
$dir         = (isset($parse['path'])?dirname($parse['path']):'');
$ret         = 'http://'.$parse['host'].$dir.'/'.$url_image;
var_dump($parse, $dir, $ret);
?>

我能解决问题的方法是使用此代码查找$dir

<?php
$path    = (isset($parse['path'])?$parse['path']:'/');
$tmp     = explode('/', $path);
if(is_array($tmp) && count($tmp) > 0){
    array_pop($tmp);
}
$dir = implode('/', $tmp);
?>

但必须有更好的方法

0 个答案:

没有答案