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

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

1. morcano - 25 Декабря, 2014 - 17:03:52 - перейти к сообщению
Работает все нормально, но грузит только *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. }
2. RickMan - 25 Декабря, 2014 - 17:27:31 - перейти к сообщению
Наверное то, что ты решил загрузить не совсем jpeg, и расширение далеко еще не показатель mimetype'а. Так что попробуй вывести $imageinfo['mime'] и посмотреть, что там. Ну а так же допустимые типа у тебя в этом массиве:
PHP:
скопировать код в буфер обмена
  1. $arr = array('image/jpeg','image/gif','image/png');

 

Powered by ExBB FM 1.0 RC1