Как удалить специальные символы из имени файла после загрузки

Я загружаю zip-папку с помощью Laravel после загрузки. Я извлекаю эту zip-папку с помощью zip-архив, все работает отлично, но у меня проблема с именами файлов в этой папке. Извлеченная папка может содержать много файлов, эти имена файлов имеют специальные символы, такие как «æ Æ Ø", который я хочу удалить из имен файлов.

Я использовал preg_replace, но не смог переименовать файл.

preg_replace('/[ÆØæøÅå]/', '',path/K01_H3_N01 - Længdesnit A-A.pdf);

Я хочу только удалить "æ Æ Ø" эти символы из имени файла. Заранее спасибо.

Вы уловили возвращаемое значение и переименовали файл с помощью Storage::move(...)?

Mukeyii 20.03.2019 10:09

бро, вся проблема в том, что после загрузки я извлекаю zip-папку, и файлы там

Salman Iqbal 20.03.2019 12:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
2 533
2

Ответы 2

Вы можете использовать Хранилище для сохранения файлов на диск, который вы предпочитаете (S3, локальный, ...) с Storage::put('file.jpg', $uploaded_file); вы можете просто сохранить его с новым именем файла.

ОБНОВИТЬ: Как видно из ответа это SO, вы можете сделать следующее:

function clean($string) {
   $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.

   return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
}

а затем используйте его следующим образом:

echo clean('a|"bc!@£de^&$f g');

нам также нужно оригинальное имя, поэтому мне нужно удалить специальные символы

Salman Iqbal 20.03.2019 07:53

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

$filesPaths = glob(dirname(__FILE__) . '/[ÆØæøÅå]/'); 
// This will return an array with old all list of files which pathname matches the given patern

после этого вы можете зацикливать и переименовывать файлы

foreach($filesPaths as $path){

    // Get the last part of the path which is the name of the file
    $old_name = basename($path); 

     // replace old special char by empty string
    $new_path= preg_replace('/[ÆØæøÅå]/', '', $path);

    // Generate a path by replacing the old file name in the path
    rename($path, str_replace($old_name, basename($newPath), $new_path);
}

Другие вопросы по теме

Похожие вопросы

Как сохранить пользовательский css . js файлы в laravel и вызов их в представлениях
Возникли проблемы с включением файла PHP
Очистить корзину Woocommerce при загрузке страницы даже для зарегистрированных пользователей
Отображать сообщение внизу экрана после успешной публикации данных в html-форме
Получение загруженного содержимого файла CSV
Я не могу получить данные из API в концепции бренда и моделей. Бренд onchange должен получить данные о моделях из API и показать в выборе модели
Как загрузить страницу PHP, а затем проверить ее на наличие ошибок перед сохранением?
Этот скрипт каждый раз показывает мне это сообщение «Пожалуйста, заполните все обязательные поля»
Как сделать снимок с помощью мобильных камер и сохранить его в базе данных с предварительным просмотром с помощью мобильного браузера
Где хранятся операции платформы API по умолчанию?