Цикл Foreach для загрузки WordPress - PullRequest
0 голосов
/ 17 марта 2011

Попытка установить цикл для загрузки мимов в Wordpress.У меня есть опция CMS со списком через запятую (option_file_types), где пользователь может указать список типов файлов, которые могут быть загружены.Но я не могу понять, как получить их все в foreach и правильно выводить.Он работает с одной записью типа файла, когда не в foreach.Любая помощь будет принята с благодарностью.

Код:

function custom_upload_mimes ($existing_mimes = array()) {

$file_types = get_option('option_file_types');
$array = $file_types;
$variables = explode(", ", $array);

foreach($variables as $value) {
    $existing_mimes[''.$value.''] = 'mime/type']);
}

return $existing_mimes;
}

Предполагаемый результат:

$existing_mimes['type'] = 'mime/type';
$existing_mimes['type'] = 'mime/type'; 
$existing_mimes['type'] = 'mime/type'; 

1 Ответ

2 голосов
/ 17 марта 2011
function custom_upload_mimes ($existing_mimes = array()) {
    $file_types = get_option('option_file_types');
    $variables = explode(',', $file_types);

    foreach($variables as $value) {
        $value = trim($value);
        $existing_mimes[$value] = $value;
    }

    return $existing_mimes;
}

Если ваш $file_types не содержит типы пантомимы, а содержит расширения файлов, как это предусмотрено в вашем комментарии, вам также необходимо преобразовать расширение файла в тип пантомимы.Класс типа этот поможет вам преобразовать расширение в правильный тип пантомимы.

Например:

require_once 'mimetype.php'; // http://www.phpclasses.org/browse/file/2743.html
function custom_upload_mimes ($existing_mimes = array()) {
    $mimetype = new mimetype();
    $file_types = get_option('option_file_types');
    $variables = explode(',', $file_types);

    foreach($variables as $value) {
        $value = trim($value);
        if(!strstr($value, '/')) {
            // if there is no forward slash then this is not a proper
            // mime type so we should attempt to find the mime type
            // from the extension (eg. xlsx, doc, pdf)
            $mime = $mimetype->privFindType($value);
        } else {
            $mime = $value;
        }
        $existing_mimes[$value] = $mime;
    }

    return $existing_mimes;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...