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
Форумы портала PHP.SU :: Версия для печати :: Проблемы с загрузкой docx и doc файлов на сервер
Форумы портала PHP.SU » PHP » Программирование на PHP » Проблемы с загрузкой docx и doc файлов на сервер

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

1. Ydxsa - 29 Апреля, 2019 - 16:02:45 - перейти к сообщению
Доброго времени суток, у меня есть 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. ?>
2. Vladimir Kheifets - 04 Мая, 2019 - 07:34:18 - перейти к сообщению
Ydxsa пишет:
Доброго времени суток, у меня есть php обработчик кнопки для загрузки файлов на сервер. Однако в целях безопасности мне необходимо разрешить загрузку файлов исключительно "doc" и "docx" форматов. Для этого я создал проверку, однако при загрузке нужных файлов мне выдаёт ошибку о том, что эти файлы якобы запрещены для загрузки. Подскажите, в чём может быть проблема, ниже оставляю код обработчика.

Добрый день!
Попробуйте сделать так:
Спойлер (Отобразить)
Удачи!
3. LIME - 06 Мая, 2019 - 18:49:29 - перейти к сообщению
Ydxsa пишет:
Однако в целях безопасности
и что мне помешает подделать Content-type?
это не только просто, но и элементарно

 

Powered by ExBB FM 1.0 RC1