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]   

> Без описания
Tsigyr
Отправлено: 19 Мая, 2013 - 16:57:41
Post Id


Гость


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


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




Есть загрузка скриншотов:

PHP:
скопировать код в буфер обмена
  1. echo '<form action="add_screen.php?&id='.$id.'" method="post" enctype="multipart/form-data">
  2. Добавить фото:<br/>
  3. <input type="text" name="url[]" maxlength="300" value="" size="30"/><br/>
  4. <input type="text" name="url[]" maxlength="300" value="" size="30"/><br/>
  5. <input type="text" name="url[]" maxlength="300" value="" size="30"/><br/>
  6. <input type="text" name="url[]" maxlength="300" value="" size="30"/><br/></form>';
  7.  
  8.  
  9.  
  10. $id = intval($_GET['id']);
  11. $valid_types = array("gif","jpg", "png", "jpeg");
  12. if(is_dir("sajt.ru/screen/".$id.""))
  13. {
  14. }
  15. else
  16. mkdir("sajt.ru/screen/".$id, 777);
  17.  
  18. $url=$_POST['url[]'];
  19. foreach($_POST['url'] as $url){
  20. if(!empty($url)){
  21. //открываем сеанс
  22. $curl = curl_init(''.$url.'');
  23. //задаем параметры
  24. curl_setopt($curl, CURLOPT_USERAGENT, 'Boroda/2.0 J2ME/MIDP');
  25. //открываем файловый дескриптор (куда сохранять файл)
  26. $ext = substr($url,
  27. 1 + strrpos($url, "."));
  28. $ext =strtolower($ext);
  29. if (!in_array($ext, $valid_types)) {
  30. echo 'Не верный формат картинок!';
  31. $name = uniqid();
  32. $fp =fopen('sajt.ru/screen/'.$id.'/'.$name.'.'.$ext.'','w+b');
  33. //сохраняем файл
  34. curl_setopt($curl, CURLOPT_FILE, $fp);
  35. $mysqli->query("INSERT INTO `screen` SET `file_id`='$id', `name`='$name', `exp`='$ext' ;") or die(mysql_error());
  36. //запускаем сеанс
  37. curl_exec($curl);
  38. //закрываем сеанс
  39. curl_close($curl);
  40. //закрываем дескриптор
  41. fclose($fp);
  42. }
  43. }


Нужно сделать чтобы еще создавалась в общей папке уменьшенная картинка самого первого изображения которое вписано в форме.. Может кто-то помочь?
 
 Top
Hishchnik
Отправлено: 24 Мая, 2013 - 09:37:31
Post Id



Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Май 2013  
Откуда: Мыски, Россия


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




Форма:
PHP:
скопировать код в буфер обмена
  1.  
  2. echo '<form action="add_screen.php?&id='.$id.'" method="post" enctype="multipart/form-data">
  3. Добавить фото:<br/>
  4. <input type="file" name="url[0]" maxlength="300" value="" size="30"/><br/>
  5. <input type="file" name="url[1]" maxlength="300" value="" size="30"/><br/>
  6. <input type="file" name="url[2]" maxlength="300" value="" size="30"/><br/>
  7. <input type="file" name="url[3]" maxlength="300" value="" size="30"/><br/>
  8. <input type="submit" value="Загрузить">
  9. </form>';
  10.  

Обработчик:
PHP:
скопировать код в буфер обмена
  1.  
  2. $width ="320";//ширина
  3. $height = "240";//высота
  4.  
  5. function imageresize($infile,$outfile,$width,$height,$quality) {
  6.  
  7.     $im=imagecreatefromjpeg($infile);
  8.     $im1=imagecreatetruecolor($neww,$newh);
  9.     imagecopyresampled($im1,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im));
  10.  
  11.     imagejpeg($im1,$outfile,$quality);
  12.     imagedestroy($im);
  13.     imagedestroy($im1);
  14.     }
  15.  
  16. $id = intval($_GET['id']);
  17. $valid_types = array("gif","jpg", "png", "jpeg");
  18. if(is_dir("screen/".$id.""))
  19. {
  20. }
  21. else{
  22. mkdir("screen/".$id, 777);
  23. mkdir("screen/".$id."/preview", 777);
  24. }
  25. $url=$_POST['url'];
  26. foreach($_POST['url'] as $url){
  27. if(!empty($url)){
  28. //открываем сеанс
  29. $curl = curl_init(''.$url.'');
  30. //задаем параметры
  31. curl_setopt($curl, CURLOPT_USERAGENT, 'Boroda/2.0 J2ME/MIDP');
  32. //открываем файловый дескриптор (куда сохранять файл)
  33. $ext = substr($url,
  34. 1 + strrpos($url, "."));
  35. $ext =strtolower($ext);
  36. if (!in_array($ext, $valid_types)) {
  37. echo 'Не верный формат картинок!';
  38. $name = uniqid();
  39. $fp =fopen('sajt.ru/screen/'.$id.'/'.$name.'.'.$ext.'','w+b');
  40. //сохраняем файл
  41. curl_setopt($curl, CURLOPT_FILE, $fp);
  42. $mysqli->query("INSERT INTO `screen` SET `file_id`='$id', `name`='$name', `exp`='$ext' ;") or die(mysql_error());
  43. //запускаем сеанс
  44. curl_exec($curl);
  45. //закрываем сеанс
  46. curl_close($curl);
  47. //закрываем дескриптор
  48. fclose($fp);
  49. }
  50. }
  51. imageresize($url[0],"sajt.ru/screen/".$id."/preview",$width,$height,75);
  52.  

примерно наваял, разбирайся
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB