Описание pre_move_uploaded_file
— Filter
Хук pre_move_uploaded_file позволяет изменить путь, по которому будет перемещён загружаемый файл, перед его окончательным сохранением. Он срабатывает во время загрузки файлов через медиа-загрузчик и предоставляет возможность настроить или изменить путь сохранения файла
Примеры использования
Пример изменения пути сохранения загружаемого файла в другую директорию:
add_filter('pre_move_uploaded_file', function($file) {
return '/custom/uploads/' . basename($file);
});
В этом примере мы изменяем путь сохранения файла на ‘/custom/uploads/’
Пример добавления префикса к имени загружаемого файла:
add_filter('pre_move_uploaded_file', function($file) {
$pathinfo = pathinfo($file);
return $pathinfo['dirname'] . '/prefix_' . $pathinfo['basename'];
});
Здесь мы добавляем ‘prefix_’ к имени загружаемого файла
Пример изменения пути в зависимости от типа файла:
add_filter('pre_move_uploaded_file', function($file) {
$mime_type = mime_content_type($file);
if ($mime_type === 'image/jpeg') {
return '/images/uploads/' . basename($file);
}
return $file;
});
В этом примере мы перемещаем JPEG-файлы в отдельную директорию
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить путь или имя загружаемого файла перед его сохранением
– Производительность
Хук не должен оказывать значительного влияния на производительность, так как его задача заключается в изменении строки пути
– Предупреждения
Будьте осторожны с изменением пути сохранения, чтобы избежать конфликтов и перезаписи файлов
Альтернативы
Тип: filter
Этот хук позволяет изменить параметры загрузки, такие как директория и URL для загружаемых файлов
Используйте его, если необходимо изменить базовую директорию для всех загружаемых файлов