Я пишу код для веб-сайта прямо сейчас, который загружает изображения, а затем отображает их стиль галереи. Я бы хотел, чтобы имя файла изображения вводилось в базу данных сайта в качестве имени изображения. Однако, просто используя $_FILES['images']['name'];
дает мне имя файла, но с расширением файла, прикрепленным в конце. Как мне удалить расширение файла, чтобы я мог сам использовать имя файла?
Вы можете использовать pathinfo()
( docs ).
$example = "my_file.jpeg"; $filename = pathinfo($example, PATHINFO_FILENAME); echo $filename; // my_file
Просто используйте preg_replace:
$name = preg_replace('/(.+)\.\w+$/U', $_FILES['images']['name'], '$1');
Вы можете использовать rename
для удаления расширения:
Как следует из моего комментария выше, это зависит от того, что вы считаете в имени файла именем и расширением.
все до последней точки:
$filename = 'some.file.name.zip'; $name = substr($filename, 0, strrpos($filename, '.'));
все до первой точки:
$filename = 'some.file.name.zip'; $name = substr($filename, 0, strpos($filename, '.'));
они выглядят одинаково, но первый ищет первую точку от конца строки, а вторую – от начала строки.