Я пишу пользовательскую проверку файла с помощью mimetype на моей локальной версии php на сервере версии 5.4.22, и он возвращает «docx» файл mimetype «application / vnd.openxmlformats-officedocument.wordprocessingml.document; charset = binary», который подходит для меня.
Но на моем сервере есть php версия 5.3.3, и она возвращает «docx» mimetype файла «application / zip; charset = binary», что неверно, и моя проверка не выполняется.
Пожалуйста, предложите, что мне нужно сделать, я должен обновить версию php на сервере 5.3.3 до последней версии php.
function hook_file_validate($file) { $errors = array(); //Getting filename $extn = explode(".", $file->filename); //Getting file mimetype $finfo = new finfo(FILEINFO_MIME); $type = $finfo->file($file->uri); if ($extn[1]=='txt' && $type!='text/plain; charset=us-ascii'){ $errors[] = t("Please upload valid file"); } else if ($extn[1]=='doc' && $type!='application/msword; charset=binary'){ $errors[] = t("Please upload valid file."); } else if ($extn[1]=='pdf' && $type!='application/pdf; charset=binary'){ $errors[] = t("Please upload valid file."); } else if ($extn[1]=='xls' && $type!='application/octet-stream; charset=binary'){ $errors[] = t("Please upload valid file."); } else if ($extn[1]=='docx' && $type!='application/vnd.openxmlformats-officedocument.wordprocessingml.document; charset=binary') { $errors[] = t("Please upload valid file."); } return $errors; }