За последние 24 часа нас посетили 58050 программистов и 1841 робот. Сейчас ищут 938 программистов ...

как переименовать и уменьшить картинку

Тема в разделе "PHP для новичков", создана пользователем leon2009sp, 16 мар 2016.

  1. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    здравствуйте! как переименовать файл загруженный в массиве?
    Код (PHP):
    1. <?php
    2. if(count($_POST)>0){
    3. foreach($_FILES as $k=>$f) {
    4.   if (!$_FILES[$k]['error']) {  
    5.     if (is_uploaded_file($_FILES[$k]['tmp_name'])) {    
    6.       if (move_uploaded_file($_FILES[$k]['tmp_name'], "uploads/".$_FILES[$k]['name'])) {      
    7.         echo 'Файл: '.$_FILES[$k]['name'].' загружен.<br />';
    8.       }
    9.     }
    10.   }
    11. }
    12. }
    13. ?>
    14. <form action="" method="post" enctype="multipart/form-data">
    15. <input type="file" name="file1" id="0.jpg">
    16. <input type="file" name="file2" id="1.jpg">
    17. <input type="file" name="file3" id="2.jpg">
    18. <input type="file" name="file4" id="3.jpg">
    19. <input type="submit" name="ok">
    20. </form>
    по одиночке я отправлял:
    Код (PHP):
    1. <input type="text" name="filename1" value="0">
    скрытый.
    и уменьшить его размер:
    Код (PHP):
    1. function images_size($tmp_name, $new_name, $resolution_width, $resolution_height, $max_size)
    2. {
    3. $image_size = filesize($tmp_name);
    4. $image_size = floor($image_size / '10485760') ;
    5. if($image_size <= $max_size) {
    6.  
    7. $params = getimagesize($tmp_name) ;
    8. //проверяем ширину и высоту, нужно ли обрезание
    9. if($params['0'] > $resolution_width || $params['1'] > $resolution_height) {
    10. //пишем фото --------->
    11. //получаем нужные переменные
    12. switch ($params['2']) {
    13. case 1: $old_img = imagecreatefromgif($tmp_name); break;
    14. case 2: $old_img = imagecreatefromjpeg($tmp_name); break;
    15. case 3: $old_img = imagecreatefrompng($tmp_name); break;
    16. case 6: $old_img = imagecreatefromwbmp($tmp_name); break;
    17. }
    18. //вычисляем новые размеры
    19. if($params['0'] > $params['1']) {
    20. $size = $params['0'] ;
    21. $resolution = $resolution_width;
    22. }
    23. else {
    24. $size = $params['1'] ;
    25. $resolution = $resolution_height;
    26. }
    27. $new_width = floor($params['0'] * $resolution / $size) ;
    28. $new_height = floor($params['1'] * $resolution / $size) ;
    29. //создаём новое изображение
    30. $new_img = imagecreatetruecolor($new_width, $new_height) ;
    31. imagecopyresampled ($new_img, $old_img, 0, 0, 0, 0, $new_width, $new_height, $params['0'], $params['1']) ;
    32.  
    33. //сохраняем новое изображение----->>>>>>
    34. //определяем тип изображения
    35. switch ($params['2']) {
    36. case 1: $type = '.gif'; break;
    37. case 2: $type = '.jpg'; break;
    38. case 3: $type = '.png'; break;
    39. case 6: $type = '.bmp'; break;
    40. }
    41. //Сохраняем
    42. $new_name = "$new_name$type" ;
    43. switch ($type) {
    44. case '.gif': imagegif($new_img, $new_name); break;
    45. case '.jpg': imagejpeg($new_img, $new_name, 100); break;
    46. case '.bmp': imagejpeg($new_img, $new_name, 100); break;
    47. case '.png': imagepng($new_img, $new_name); break;
    48. }
    49. $message = ('<font class="message">Изображение добавлено</font><br>') ;
    50. imagedestroy($old_img);
    51. }
    52.  
    53.  
    54.  
    55. //если не нужно обрезать-------------------->>>>>>>>>>>>>>>>>>>>>>>
    56. else {
    57. //сохраняем новое изображение----->>>>>>
    58. //определяем тип изображения
    59. switch ($params['2']) {
    60. case 1: $type = '.gif'; break;
    61. case 2: $type = '.jpg'; break;
    62. case 3: $type = '.png'; break;
    63. case 6: $type = '.bmp'; break;
    64. }
    65. //Сохраняем
    66. $new_name = "$new_name$type" ;
    67. copy($tmp_name, $new_name);
    68. $message = ('<font class="message">Изображение добавлено</font><br>') ;
    69. }
    70. }
    71. else $errors = ('<font class="error">Слишком большой размер</font><br>') ;
    72.  
    73.  
    74. return($message);
    75. return($errors);
    76. }
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    А что не получается?
     
  3. leon2009sp

    leon2009sp Новичок

    С нами с:
    10 мар 2016
    Сообщения:
    14
    Симпатии:
    0
    в общем с первым разобрался
    Код (PHP):
    1. if (move_uploaded_file($_FILES[$k]['tmp_name'], $dir.$i++.'.jpg')) 
    Добавлено спустя 1 минуту 34 секунды:не получается:
    я загружаю 4 картинки, размером 1000 на 200, 2000 на 500 и.т.п. как сделать чтобы они после заргузки стали все 200 на 200
    и вдругой папке 1000 на 1000