@0906ddd

Как поставить ограничение на разрешение файлов?

чтобы можно было загрузить к примеру только 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' => 'Ошибка загрузки файлов.');

	}
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
Пример кода:
add_filter( 'upload_mimes', 'upload_allow_types' );
function upload_allow_types( $mimes ) {

	// разрешаем новые типы
	$mimes['doc']  = 'application/msword';
	//$mimes['woff'] = 'font/woff';
	$mimes['psd']  = 'image/vnd.adobe.photoshop';
	$mimes['djv']  = 'image/vnd.djvu';
	$mimes['djvu'] = 'image/vnd.djvu';
	$mimes['webp'] = 'image/webp';
	//$mimes['fb2']  = 'text/xml';
	//$mimes['epub'] = 'application/epub+zip';

	// запрещаем (отключаем) имеющиеся
	// unset( $mimes['mp4a'] );

	return $mimes;
}

С помощью данного кода в файле functions – можно разрешить или запретить загрузку файлов с различными расширениями.
Подробнее тут: https://wp-kama.ru/id_8024/razreshaem-zagruzku-zap...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы