Я изо всех сил пытаюсь заставить этот код загрузки работать с файлом docx, он работает нормально для doc и pdf.
$allowedExts = array("pdf", "doc", "docx"); $extension = end(explode(".", $_FILES["file"]["name"])); if ((($_FILES["file"]["type"] == "application/pdf") || ($_FILES["file"]["type"] == "application/msword")) && ($_FILES["file"]["size"] < 20000000) && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; }
это часть проекта с того времени, и я честно не помню, как это сделать.
Я знаю, что это не самый безопасный метод загрузки, но если кто-то может помочь, это будет оценено по достоинству!
Я думаю, мне нужно добавить еще одну строку:
if ((($_FILES["file"]["type"] == "application/pdf") || ($_FILES["file"]["type"] == "application/msword")) && ($_FILES["file"]["size"] < 20000000)
Просто не уверен, что .. Помогите оценить!
Изменить: Так что я дошел до этого этапа (с помощью комментариев!)
$allowedExts = array("pdf", "doc", "docx"); $extension = end(explode(".", $_FILES["file"]["name"])); //if ((($_FILES["file"]["type"] == "application/pdf") //|| ($_FILES["file"]["type"] == "application/msword")) if (($_FILES["file"]["type"] == "application/pdf") || ($_FILES["file"]["type"] == "application/msword") || ($_FILES["file"]["type"] == "application/vnd.openxmlformats- officedocument.wordprocessingml.document")) && ($_FILES["file"]["size"] < 20000000) && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; } else {
Но теперь его появление: Ошибка синтаксиса: ошибка синтаксиса, неожиданный T_BOOLEAN_AND в /var/sites/s/stanation.com/public_html/forms/process/insert.php в строке 30
Для docx
проверьте этот тип MIME
application/vnd.openxmlformats-officedocument.wordprocessingml.document
РЕДАКТИРОВАТЬ :
Вот код. Вам не хватает скобок
<?php $allowedExts = array("pdf", "doc", "docx"); $extension = end(explode(".", $_FILES["file"]["name"])); if (($_FILES["file"]["type"] == "application/pdf") || ($_FILES["file"]["type"] == "application/msword") || ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document") && ($_FILES["file"]["size"] < 20000000) && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; } else { echo "Success"; } }
Эта следующая проверка поможет вам загрузить файлы .docx
:
$_FILES["txtFile"]["type"] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document"