PHP что-то быстрее, чем взорваться, чтобы получить имя файла от URL
Вопрос
Мой URL может быть абсолютным или родственником:
$rel = "date/album/001.jpg";
$abs = "http://www.site.com/date/album/image.jpg";
function getFilename($url) {
$imgName = explode("/", $url);
$imgName = $imgName[count($imgName) - 1];
echo $imgName;
}
Должен быть бы более быстрый способ сделать это правильно? Может быть, выражение рег? Но это китаец для меня ..
Решение
basename
Возвращает имя файла:
function getFilename($url) {
return basename($url);
}
Вы даже можете распределить расширение имени файла.
Другие советы
substr( $url , strrpos( $url , "/" ) + 1 );
или
substr( strrchr( $url , "/" ) , 1 );
Я верю, что BaseName является самым быстрым, но вы также можете использовать
$url = "http://www.mmrahman.co.uk/image/bg830293.jpg";
getFileName($url){
$parts = pathinfo($url);
return $parts['basename'];
}
PathInfo также позволяет вам получить имя файла, расширение, дирнама и т. Д.
Попробуйте dirname
Функция:
Не связан с StackOverflow