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 :: загрзка изображения

 PHP.SU

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


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

> Без описания
morcano
Отправлено: 25 Декабря, 2014 - 17:03:52
Post Id


Новичок


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


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




Работает все нормально, но грузит только *png и *gif, при загрузке в формате *jpg возвращает сообщение: Картинка должна быть формата JPG, GIF или PNG
Просьба подсказать где ошибка.
PHP:
скопировать код в буфер обмена
  1. if(isset($_POST['upload'])) {
  2. if(empty($_FILES['file']['size']))  die('Вы не выбрали файл');
  3. if($_FILES['file']['size'] > (5 * 1024 * 1024)) die('Размер файла не должен превышать 5Мб');
  4. $imageinfo = getimagesize($_FILES['file']['tmp_name']);
  5. $arr = array('image/jpeg','image/gif','image/png');
  6. if(!array_search($imageinfo['mime'],$arr)) echo ('Картинка должна быть формата JPG, GIF или PNG');
  7.  else {
  8. $upload_dir = '../upload_photo/';
  9. $name = $upload_dir.date('YmdHis').basename($_FILES['file']['name']);
  10. $mov = move_uploaded_file($_FILES['file']['tmp_name'],$name);
  11.   if($mov) {
  12.  
  13. require ('db_connect.php');
  14.  
  15. $name = htmlentities(stripslashes(strip_tags(trim($name))),ENT_QUOTES,'UTF-8');
  16. $res=mysql_query("INSERT INTO `news`(`photo_name`) VALUES('$name')")or die(mysql_error());
  17. header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/".basename($_SERVER['PHP_SELF'])."?id=".mysql_insert_id());
  18. if($res) echo "Файл упешно загружен";
  19.   }
  20.   else echo 'Произошла ошибка при загрузке фотографии. Пожалуйста, попробуйте снова';
  21.  }
  22. }
 
 Top
RickMan
Отправлено: 25 Декабря, 2014 - 17:27:31
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


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




Наверное то, что ты решил загрузить не совсем jpeg, и расширение далеко еще не показатель mimetype'а. Так что попробуй вывести $imageinfo['mime'] и посмотреть, что там. Ну а так же допустимые типа у тебя в этом массиве:
PHP:
скопировать код в буфер обмена
  1. $arr = array('image/jpeg','image/gif','image/png');
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB