Php изменить расширение файла

Обновлено: 07.07.2024

Что, если вы используете переменную в качестве имени файла?

Функция принимает строки, не имеет значения, являются ли эти строки строковыми литералами или строковыми переменными.

@me_ - Почему вы жалуетесь на то, что это не ответ мне? Я просто прокомментировал на нем почти десятилетие назад.

@me_ - То, что OP не понимает фундаментальных основ языка программирования, прежде чем задавать вопрос о конкретной задаче, не означает ответ, предполагающий, что эти знания плохие. Если да, то каждый ответ должен включать вводное руководство по программированию.

@me_ - что не имеет ничего общего с OP, не знающим основ вроде «Строка - это строка, происходит ли она из строкового литерала или переменной».

@me_ - Это просто возвращает нас к моему предыдущему комментарию. Если вы думаете, что это некачественный ответ, потому что это ответ только по ссылке, почему вы направили свой комментарий на меня, чтобы я объяснил то, что этот ответ не удосужился бы объяснить, если бы это был не только ответ по ссылке? Направьте свой комментарий на человека, написавшего ответ! Или просто отметьте его как низкое качество и двигайтесь дальше!

@me_ - Вы добавили к комментарию префикс «@Quentin». Это направило его на меня.

@me_ - Десять лет назад. Пусть отдыхает.

@me_ - Посмотрите, когда был дан ответ. Посмотрите на дату, когда я «расширил вопрос об отсутствии ответа». Подумайте, какой у меня был опыт работы со Stackoverflow на тот день. Учтите, что с тех пор рекомендации по использованию StackOverflow могли измениться. Тогда дайте ему отдохнуть.

Какие? Я не это сказал. Я неоднократно просил вас отбросить эту тему. Вы не сделали. Впредь я просто буду игнорировать тебя.

никто не просил вас написать книгу по этому поводу, это всегда был личный выбор .

Если у вас есть имя файла в строке, сначала используйте регулярное выражение, чтобы заменить расширение на расширение по вашему выбору. Вот небольшая функция, которая сделает это:

Затем используйте функцию переименовать (), чтобы переименовать файл с новым именем.

На самом деле это плохая идея. В современных операционных системах имена файлов могут содержать точки внутри имени, например, при изменении расширения на «.tif», «this.is.a.test.pdf» при использовании в этом случае удаляет его до «this.tif». используйте: $ info = pathinfo ($ filename); вернуть $ info ['имя_файла']. "." . $ new_extension;

preg_replace('/\.[^.]+$/', '.' . $extension, $file) соответствует последнему найденному . , но не будет работать, если файл не имеет расширения

Читайте также: