Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 2
Регистрация: 06.11.2012
Сообщений: 214

Обрезка фото

28.05.2013, 21:36. Показов 1551. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть функция которая режет изображение, делает его меньшего веса, и есть код который сохраняет фото на сервер, но не могу объеденить их вместе, надо что бы при загрузке фотографии она сразу же уменшала свой вес и добавлялась на сервер?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
require "db.php";
function resize($file_input, $file_output, $w_o, $h_o, $percent = false) {
    list($w_i, $h_i, $type) = getimagesize($file_input);
    if (!$w_i || !$h_i) {
        echo 'Невозможно получить длину и ширину изображения';
        return;
    }
    $types = array('','gif','jpeg','png');
    $ext = $types[$type];
    if ($ext) {
        $func = 'imagecreatefrom'.$ext;
        $img = $func($file_input);
    } else {
        echo 'Некорректный формат файла';
        return;
    }
    if ($percent) {
        $w_o *= $w_i / 100;
        $h_o *= $h_i / 100;
    }
    if (!$h_o) $h_o = $w_o/($w_i/$h_i);
    if (!$w_o) $w_o = $h_o/($h_i/$w_i);
    $img_o = imagecreatetruecolor($w_o, $h_o);
    imagecopyresampled($img_o, $img, 0, 0, 0, 0, $w_o, $h_o, $w_i, $h_i);
    if ($type == 2) {
        return imagejpeg($img_o,$file_output,100);
    } else {
        $func = 'image'.$ext;
        return $func($img_o,$file_output);
    }
}
 
// Все загруженные файлы помещаются в эту папку
$uploaddir = 'images/';
 
// Вытаскиваем необходимые данные
$file = $_POST['value'];
$name = $_POST['name'];
resize($file_input, $file_output, 100, 100, true);
// Получаем расширение файла
$getMime = explode('.', $name);
$mime = end($getMime);
 
// Выделим данные
$data = explode(',', $file);
 
// Декодируем данные, закодированные алгоритмом MIME base64
$encodedData = str_replace(' ','+',$data[1]);
$decodedData = base64_decode($encodedData);
 
// Вы можете использовать данное имя файла, или создать произвольное имя.
// Мы будем создавать произвольное имя!
$randomName = substr_replace(sha1(microtime(true)), '', 12).'.'.$mime;
 
// Создаем изображение на сервере
if(file_put_contents($uploaddir.$randomName, $decodedData)) {
    // Записываем данные изображения в БД
    mysql_query ("INSERT INTO images (date,catalog,filename) VALUES (NOW(),'$uploaddir','$randomName')");
    echo $randomName.":Успешно";
}
else {
    // Показать сообщение об ошибке, если что-то пойдет не так.
    echo "Что-то пошло не так. Убедитесь, что файл не поврежден!";
}
?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.05.2013, 21:36
Ответы с готовыми решениями:

Простейшая обрезка фото
Доброе время суток! Вот поместил я загруженное фото в папку и назвал ее move_uploaded_file( $img4, 'img/'.$imagename4.'4'.'.jpg'...

Удаление пути к фото в базе и самого фото в дирректории одновременно.
Приветствую всех! Такая проблема: пользователь может загрузить фото, при этом оно ресайзится на два размера, например 150х100 и...

При нажатии на фото снизу оно замещало фото в окне сверху над ним
Здравствуйте подскажите кто сталкивался, как реализовать: при нажатии на фото снизу оно замещало фото в окне сверху над ним? Образец во...

3
Начинающий Линуксоид
18 / 18 / 0
Регистрация: 24.05.2011
Сообщений: 221
Записей в блоге: 1
29.05.2013, 12:09
Я вас наведу. В качестве параметров функция уменьшения принимает тот самый файл в виде переменной(страшная правда - другого вида нет)), а значит что ей этот файл(в виде переменной) надо отдать. Все очень просто.
0
1 / 1 / 2
Регистрация: 06.11.2012
Сообщений: 214
29.05.2013, 14:08  [ТС]
хочу пример, уже сил нету
0
Начинающий Линуксоид
18 / 18 / 0
Регистрация: 24.05.2011
Сообщений: 221
Записей в блоге: 1
29.05.2013, 15:04
Делай сам. Иначе все время будешь на форум бегать . Учись и понимай сам. Я тебя навел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.05.2013, 15:04
Помогаю со студенческими работами здесь

Наложение текста на фото при загрузке фото на сайт
я вот хочу на движке Discuz сделать так чтобы например я загружаю фото и на фото накладывается текст автоматический ссылка моего сайта как...

Скрипт по загрузке фото не загружает больше 100 фото
if(isset($_POST) &amp;&amp; trim( $_POST ) != '' ) { mysqli_query($connection, &quot;INSERT INTO `foto` SET `title` =...

Обрезка изображения
Здравствуйте! Прошу помочь разобраться с функцией обрезки изображения. Нужно чтобы в процессе выполнения функции создавался файл...

Обрезка строки
Доброго времени суток. Ковыряю один движок и там название тем в форуме выводится, как &lt;?= output_text($theme-&gt;name, 1, 1, 0, 0, 0)...

Профессиональная обрезка
Доброе утро, помогите тут с одной проблемой. Вот текст: &quot;Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru