найти имя файла из строки с php - PullRequest
5 голосов
/ 27 ноября 2009
public/images/portfolio/i-vis/1.jpg

Как я могу удалить все пути независимо от того, какое имя файла использует php?

Ответы [ 3 ]

21 голосов
/ 27 ноября 2009

Посмотрите на basename()

$path = 'public/images/portfolio/i-vis/1.jpg'
$name = basename($path); // $name == '1.jpg'

Также dirname() выбирает другую часть

$dir = dirname($path); // $dir == 'public/images/portfolio/i-vis'

Если вам нужна дополнительная информация - есть pathinfo()

$info = pathinfo($path);
var_dump($info);

производит

array(4) {
    ["dirname"]=>
    string(29) "public/images/portfolio/i-vis"
    ["basename"]=>
    string(5) "1.jpg"
    ["extension"]=>
    string(3) "jpg"
    ["filename"]=>
    string(1) "1"
}

Итак, $info['filename'] дает вам файл без расширения.

2 голосов
/ 27 ноября 2009
echo basename($string);

Посмотрите на функцию basename .

1 голос
/ 27 ноября 2009

альтернативное решение. Просто куча взрывов

$str='public/images/portfolio/i-vis/1.jpg';
$s = end(explode("/",$str));
print "filename " . $s."\n";
$e = explode(".", $s );
print "without extension: $e[0]\n";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...