Как поставить ограничение на разрешение файлов?
чтобы можно было загрузить к примеру только pdf файлы
if( isset( $_POST['upload_files'] ) ) {
$site = $_SERVER['DOCUMENT_ROOT'];
$path = '/wp-content/uploads/files';
$uploaddir = $site . $path;
// cоздадим папку если её нет
if( ! is_dir( $uploaddir ) ) mkdir( $uploaddir, 0755 );
$files = $_FILES; // полученные файлы
$done_files = array();
// переместим файлы из временной директории в указанную
foreach( $files as $file ){
$file_name = $file['name'];
if( move_uploaded_file( $file['tmp_name'], "$uploaddir/$file_name" ) ){
$done_files[] = realpath( "$uploaddir/$file_name" );
$text .= "Ссылка на файл: ".realpath( "$uploaddir/$file_name" ) . "\n";
}
}
$data = $done_files ? array('files' => $done_files ) : array('error' => 'Ошибка загрузки файлов.');
}
Ответы (1 шт):
Автор решения: SeVlad
→ Ссылка
Для запрета загрузки определённых типов можно написать плагин со следующим содержимым
function disable_upload_types( $mimes ) {
unset( $mimes['zip'] ); //отключаемый тип файла
return $mimes;
}
add_filter( 'upload_mimes', 'disable_upload_types' );
Актуальный список используемых типов можно найти в документации и коде функции wp_get_mime_types.