Как проверить тип файла в Drupal 6 с помощью file_save_upload? - PullRequest
0 голосов
/ 21 апреля 2009

Я работаю над модулем, который принимает загруженный пользователем файл CSV. Код выглядит так:

function foo_form_submit($form_id, &$form_state) {
  $validators = array();
  $dest = 'sites/phoenix.dev/files';
  $uploaded_file = file_save_upload('upload', $validators, $dest);
//some other stuff
}

Как видите, я ничего не передаю, чтобы проверить, что файл в поле 'upload' на самом деле является файлом .csv. Это может привести к некоторым неприятным вещам, которые произойдут позже в функции. Как мне использовать валидаторы, чтобы проверить, является ли расширение .csv или, что еще лучше, проверить, действительно ли это файл .csv?

Изменить: и поиск Google не нашел ничего слишком полезного.

Ответы [ 3 ]

3 голосов
/ 21 апреля 2009

Документация Drupal для file_validate_extensions предлагает вам изменить это:

$validators = array();

К этому:

$validators = array( 'file_validate_extensions' => array( 'csv' ) );
0 голосов
/ 22 января 2010

Правда, не обязательно проверять содержимое файла, поскольку цель может состоять в том, чтобы остановить (например) выполнение сценариев .php, а с расширением .csv apache не будет запускать это как сценарий php .

0 голосов
/ 21 апреля 2009

Я не вижу, как вы могли бы проверить, является ли это действительный CSV, фактически не пытаясь разобрать его и посмотреть, есть ли какие-либо ошибки.

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