php загрузить pdf, doc, docx

0

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

$uploadCv = $_FILES['uploadCv']['name'];
    $target = "includes/employeeCv/";
    $target = $target . basename($_FILES['uploadCv']['name']);
    if ($_FILES['uploadCv']['size'] == 0) {
        $error['uploadCvErr'] = "<span class='notAllowed'>Please upload your c.v</span>";
    } elseif
    (
        $_FILES['uploadCv']['type'] != 'application/pdf'
        && $_FILES['uploadCv']['type'] != 'application/msword'
        && $_FILES['uploadCv']['type'] != 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
    ) {
        $error['uploadCvErr'] = 'Unsupported file type uploaded.';
    } elseif ($_FILES['uploadCv']['size'] > 5000000) {
        $error['uploadCvErr'] = 'File uploaded exceeds maximum upload size.';
    }

все идет хорошо с PDF и doc, но на docx говорится, что Unsupported file type uploaded.

что я делаю неправильно здесь.

Редактировать Я добавил это в мои контрольные файлы && $_FILES['uploadCv']['type'] != 'application/zip' все еще не работает.

  • 0
    эхо type файла, это не то, что вы думаете, это
  • 0
    @Dagon Дагон, что я должен сделать, чтобы решить эту проблему
Показать ещё 6 комментариев
Теги:
forms
file-upload

1 ответ

2
Лучший ответ

Файлы OfficeOpenXML .docx часто имеют тип application/zip mime, потому что они представляют собой zipped-коллекцию XML файлов, а браузеры слишком ленивы, чтобы проверять вне zip-подпись при установке типа mime

  • 0
    спасибо за быстрый ответ, но как решить, что мне делать?
  • 0
    Решение состоит в том, чтобы проверить mime-тип application/zip также ... если вы хотите быть более строгим, то вы можете открыть ziparchive и проверить наличие определенных файлов внутри zip-архива.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню