1

我看到一些问题询问如何获取当前目录等,但我想获取一个绝对 URL 并从中删除文件(如果有文件——我也必须能够接受没有它们的 URL)。所以,例如。

Original: http://www.example.com/index.html
New: http://www.example.com/

Original: http://www.example.com/dir/welcome/index.html
New: http://www.example.com/dir/welcome/

我不知道如何做到这一点,虽然这听起来很容易。任何指南、功能或解决方案?

4

1 回答 1

3

您可以为此使用dirname(),并在没有文件时添加特殊情况

<?php
function getUrlDirectory($url) {
  return substr($url, -1) == '/' ? $url : dirname($url).'/';
}

$urls = array(
  'http://www.example.com/index.html',
  'http://www.example.com/dir/welcome/index.html',
  'http://www.example.com/no/file/',
);

foreach ($urls as $url) {
  echo getUrlDirectory($url)."\n";
}

运行时它给出:

$ php test.php 
http://www.example.com/
http://www.example.com/dir/welcome/
http://www.example.com/no/file/
于 2013-11-04T00:35:51.900 回答