# MARAZM (25.09.2016 / 20:58)
Мне нужно выгруженного файла получить название самого файла (реальное) без расширения.
$_FILES['file']['name'] - передает имя.расширение
<?php
$tmpName = $_FILES['file']['name'];
$newName = basename($tmpName, '.'. pathinfo($tmpName, PATHINFO_EXTENSION));
echo $newName;
ValekS, думал может есть какой то другой способо.спасибо
# MARAZM (25.09.2016 / 20:58)
Мне нужно выгруженного файла получить название самого файла (реальное) без расширения.
$_FILES['file']['name'] - передает имя.расширение
не существует "реального" имени файла
# ramzes (25.09.2016 / 23:50)
не существует "реального" имени файла
я имел ввиду то которое,допустим,на компьютере, 123.png, думал может можно получить 123 с него без регулярки. но нет.
# MARAZM (26.09.2016 / 20:15)
я имел ввиду то которое,допустим,на компьютере, 123.png, думал может можно получить 123 с него без регулярки. но нет.
А мой вариант чем не устроил? Там нет регулярки.
# ДоХтор (26.09.2016 / 20:17)
А мой вариант чем не устроил? Там нет регулярки.
я вот так сделал на скорую руку,совсем не подумав о нескольких точках
$name = preg_replace('/\.\w+$/', '', $_FILES['fail']['name']);
твой лучше гораздо
# MARAZM (26.09.2016 / 20:21)
я вот так сделал на скорую руку
$name = preg_replace('/\.\w+$/', '', $_FILES['fail']['name']);
но твой лучше гораздо
Да ну... Я считаю, что лучшее решение то, в котором меньше кода, но если это конечно оправдано, а не просто в одну строку записано. Так что и этот вариант с регуляркой ничем не хуже того, в котором пара функций.
MARAZM, вот ещё компактный вариант
echo mb_stristr('Название файла...jpg', '.', 1, 'UTF-8');
# MARAZM (26.09.2016 / 20:15)
я имел ввиду то которое,допустим,на компьютере, 123.png, думал может можно получить 123 с него без регулярки. но нет.
ну сделай explode по точке
$tmpName = $_FILES['file']['name'];
$a = explode('.', $tmpName);
echo $a[0];
Koenig, во:
list($name) = explode('.', $tmpName);
echo $name; // Имя файла