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]   

> Без описания
livote
Отправлено: 30 Августа, 2012 - 15:40:00
Post Id



Частый гость


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


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

[+][+]


Скрипт
PHP:
скопировать код в буфер обмена
  1. $path_to_image_directory = 'images/cash/'; //Папка, куда будут загружаться полноразмерные изображения
  2.  
  3. function createThumbnail($filename) {
  4.  
  5. $final_width_of_image = 240; //Размер изображения которые Вы хотели бы получить (И ШИРИНА И ВЫСОТА)
  6. $path_to_image_directory = 'images/cash/'; //Папка, куда будут загружаться полноразмерные изображения
  7. $path_to_thumbs_directory = 'images/';//Папка, куда буду загружать миниатюры
  8.        
  9.         //Определяем формат изображения
  10.         if(preg_match('/[.](jpg)$/', $filename))
  11.         {
  12.                 $im = imagecreatefromjpeg($path_to_image_directory . $filename);
  13.         }
  14.         elseif(preg_match('/[.](gif)$/', $filename))
  15.         {
  16.                 $im = imagecreatefromgif($path_to_image_directory . $filename);
  17.         }
  18.         elseif(preg_match('/[.](JPG)$/', $filename))
  19.         {
  20.                 $im = imagecreatefromjpeg($path_to_image_directory . $filename);
  21.         }
  22.         elseif(preg_match('/[.](png)$/', $filename))
  23.         {
  24.                 $im = imagecreatefrompng($path_to_image_directory . $filename);
  25.         }
  26.        
  27.         $ox = imagesx($im);
  28.         $oy = imagesy($im);
  29.        
  30.         $nx = $final_width_of_image;
  31.         $ny = $final_width_of_image;
  32.        
  33.         $nm = imagecreatetruecolor($nx, $ny);
  34.        
  35.         imagecopyresampled($nm, $im, 0, 0, 0, 0, $nx, $ny, $ox, $oy);
  36.        
  37.         //imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy);
  38.        
  39.         if(!file_exists($path_to_thumbs_directory)) {
  40.           if(!mkdir($path_to_thumbs_directory)) {
  41.                           $error = true;
  42.            die("Возникли проблемы загрузки изображения! Попробуйте снова!");
  43.                    
  44.           }
  45.        }
  46.  
  47.         imagejpeg($nm, $path_to_thumbs_directory . $filename);
  48.         $foto = '<img src="' . $path_to_thumbs_directory . $filename . '" alt="image" />';
  49.         echo '<br />Изображение успешно загружено!';
  50. }
  51.  
  52. if(isset($_FILES['img2']))
  53. {
  54.         //Ставим допустимые форматы изображений для загрузки
  55.         if(preg_match('/[.](jpg)|(JPG)|(gif)|(png)$/', $_FILES['img2']['name']))
  56.          {
  57.                 $filename_date = date("dGijsmy");//дата и время загрузки
  58.                                 $filgen = GenerateSalt();
  59.                 $filename = $filgen.$filename_date.$_FILES['img2']['name'];
  60.                
  61.                 $source = $_FILES['img2']['tmp_name'];      
  62.                 $target = $path_to_image_directory . $filename;
  63.                
  64.                 move_uploaded_file($source, $target);
  65.                
  66.                 createThumbnail($filename);            
  67.         }
  68. }
  69.  
  70. //удаляю оригинал
  71. unlink("$target");  





в нём нужно сделать ограничение по формату (только изображения), ограничения по размеру (от 1байта (ну или выводить что файл не добавлен) до 1 мб)

ну или если у кого есть на примете скрипт - нужно сделать уменьшение изображения до 240х240 пикселов
Помогите, пожалуйста!!!! буду благодарен
задавал вопрос в другом месте - толком ответа нет.я просто пока в php особо не шарю =(

(Отредактировано автором: 30 Августа, 2012 - 17:27:52)



-----
Не следует бояться зайти за пределы того, что считается возможным – ибо именно там находится успех.
 
 Top
Stivir
Отправлено: 01 Сентября, 2012 - 15:40:31
Post Id


Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. function fileUpload()
  4. {
  5.     $maxFileSize = 1024 * 1024;
  6.     $loadPath = 'images/cash/'.basename($_FILES['uploadFile']['name']);
  7.     if(is_uploaded_file($_FILES['uploadFile']['tmp_name']))
  8.     {
  9.         move_uploaded_file($_FILES['uploadFile']['tmp_name'], $loadPath);
  10.         $structFile = getimagesize($loadPath);
  11.         if($_FILES['uploadFile']['size'] < $maxFileSize && isset($structFile[2]))//
  12.         {
  13.             //сдесь можете написать изменение размера, но я бы не советовал
  14.             //при выводе в браузер можно жестко указать width и height и дать ссылку на тот же файл,
  15.             //но если надумаете, то гугл в помощь)
  16.             print 'Порядочек';
  17.         }
  18.         else
  19.         {
  20.             unlink($loadPath);
  21.             print 'Файл не того формата.';
  22.         }
  23.     }
  24.     else
  25.     {
  26.         print 'Файл не загружен.';
  27.     }
  28. }
  29.  
  30. if(isset($_POST['go']))
  31. {
  32.     fileUpload();
  33. }
  34.  
  35. ?>
  36. <form action="" method="post" enctype="multipart/form-data">
  37. <input type="file" name="uploadFile">
  38. <input type="submit" name="go" value="Загрузить"></form>
  39.  
 
 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