Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблемы с загрузкой docx и doc файлов на сервер

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: лексическая ошибка php обработчика
Ydxsa
Отправлено: 29 Апреля, 2019 - 16:02:45
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2019  


Помог: 0 раз(а)




Доброго времени суток, у меня есть php обработчик кнопки для загрузки файлов на сервер. Однако в целях безопасности мне необходимо разрешить загрузку файлов исключительно "doc" и "docx" форматов. Для этого я создал проверку, однако при загрузке нужных файлов мне выдаёт ошибку о том, что эти файлы якобы запрещены для загрузки. Подскажите, в чём может быть проблема, ниже оставляю код обработчика.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2.  
  3. if(isset($_FILES)) {
  4.  
  5. $allowedTypes = array('application/msword','application/vnd.openxmlformats-officedocument.wordprocessingml.document');
  6.  
  7. $uploadDir = "directory/";
  8.  
  9. for($i = 0; $i < count($_FILES['file']['name']); $i++) {
  10.  
  11. $uploadFile[$i] = $uploadDir . basename($_FILES['file']['name'][$i]);
  12.  
  13. $fileChecked[$i] = false;
  14.  
  15. echo $_FILES['file']['name'][$i]." | ".$_FILES['file']['type'][$i]." — ";
  16.  
  17. for($j = 0; $j < count($allowedTypes); $j++) {
  18.  
  19. if($_FILES['file']['type'][$i] == $allowedTypes[$j]) {
  20.  
  21. $fileChecked[$i] = true;
  22.  
  23. break;
  24.  
  25. }
  26.  
  27. }
  28.  
  29. if($fileChecked[$i]) {
  30.  
  31. if(move_uploaded_file($_FILES['file']['tmp_name'][$i], $uploadFile[$i])) {
  32.  
  33. echo "Success <br>";
  34.  
  35. } else {
  36.  
  37. echo "Error".$_FILES['file']['error'][$i]."<br>";
  38.  
  39. }
  40.  
  41. } else {
  42.  
  43. echo "Error TYPE FILE!<br>";
  44.  
  45. }
  46.  
  47. }
  48.  
  49. } else {
  50.  
  51. echo "Вы не прислали файл!" ;
  52.  
  53. }
  54.  
  55. ?>
 
 Top
Vladimir Kheifets
Отправлено: 04 Мая, 2019 - 07:34:18
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




Ydxsa пишет:
Доброго времени суток, у меня есть php обработчик кнопки для загрузки файлов на сервер. Однако в целях безопасности мне необходимо разрешить загрузку файлов исключительно "doc" и "docx" форматов. Для этого я создал проверку, однако при загрузке нужных файлов мне выдаёт ошибку о том, что эти файлы якобы запрещены для загрузки. Подскажите, в чём может быть проблема, ниже оставляю код обработчика.

Добрый день!
Попробуйте сделать так:
Спойлер (Отобразить)
Удачи!

(Отредактировано автором: 04 Мая, 2019 - 07:34:52)

 
 Top
LIME
Отправлено: 06 Мая, 2019 - 18:49:29
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Ydxsa пишет:
Однако в целях безопасности
и что мне помешает подделать Content-type?
это не только просто, но и элементарно
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB