За последние 24 часа нас посетили 20211 программистов и 2036 роботов. Сейчас ищут 1457 программистов ...

Загрузка на страницу изображения с размерами взятыми из GET

Тема в разделе "Обработка изображений средствами PHP", создана пользователем Godric, 22 фев 2016.

  1. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Как сделать изменение размера картинки формируя URL в котором методом GET передают информацию о разрешении. К примеру, http:/мойсайтец.net/common/937992/1_3_559.jpg?width=480&height=600 и на страницу загрузится изображение с таким разрешением. Изменяя в урле ширину загружается новое изображение с указаными размерами. Виде такое, но поняк как реализировано не могу.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    для начала - начать изучать программирование в целом и пхп в частности. от того что тебе скажут что запрос направляется к пхп-машине которая получает указанные аргументы и через тот же GD нарезает заданную картинку - тебе легче не станет, верно?
    кстати современные вебсерверы умеют фильтр изображений через прямое использование соответствующих библиотек.

    в разделе "новичков" ты можешь показать нам свои попытки реализации задачи а мы тебя направим в нужное руслов. в разделе "фриланс" тебе подкинут готовый код в обмен на твои кровные бабулесики. а в элитном разделе "за меня" ты можешь посидеть подождать когда кто-нибудь скопипастит из гугла готовое решение специально для тебя.
     
  3. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Re: Загрузка на страницу изображения с размерами взятыми из

    Конечно станет легче! Не хочу чтобы кто-то делал за меня. То есть я с GETа беру размеры изображения и просто через GD нарезаю? Как то просто.
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    да, действительно просто. имя изображения можно дернуть из адреса запроса. размеры - из аргументов (параметров) запроса. потом просто в взять кусман кода который нарезает изображения и подставить туда нужные переменные. готово.
     
  5. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Re: Загрузка на страницу изображения с размерами взятыми из

    И последнее, правильно ли я понял, изначально файла http:/мойсайтец.net/common/937992/1_3_559.jpg что я говорил лежит за єтим урлом http:/мойсайтец.net/common/937992/1_3_559.jpg?width=480&height=600 нет, функция берет файл из другой директории, нарезает его и ложит в эту папку сразу с нужным размером?
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    как реализуешь
     
  7. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Re: Загрузка на страницу изображения с размерами взятыми из

    Огромное спасибо!

    Добавлено спустя 42 минуты 2 секунды:
    Re: Загрузка на страницу изображения с размерами взятыми из GET
    А может у кто-то видел где-нибуть подобную реализацию? у меня просто не выходит ничего(

    Добавлено спустя 2 минуты 2 секунды:
    Re: Загрузка на страницу изображения с размерами взятыми из GET
    Это ж нужну еще и .htaccess настроить?
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    покажи как пробуешь
     
  9. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Сейчас ерунду напишу но все же:
    Код (PHP):
    1. include 'SimpleImage.php';
    2. if (!empty($_GET['width'])){
    3. $MainImage = new SimpleImage();
    4. $width = $_GET['width'];
    5. $uploadFile =  'https://pp.vk.me/c629509/v629509057/1c4cc/KM_K_NP9Ypg.jpg';
    6. $uploadFile2 = 'D:/OpenServer5/OpenServer/domains/resizeimage/img/resize/image1.jpeg';
    7. $MainImage->load($uploadFile);
    8. $MainImage->resizeToWidth($width);
    9. $MainImage->save($uploadFile2);    
    10. } 
    Этот код работает, если нужно просто взять изображение и скопировать его в другую директорию, предварительно уменьшив.
    теперь мне нужно чтобы когда я пропишу D:/OpenServer5/OpenServer/domains/resizeimage/img/resize/image1.jpeg?width=500 открывалась делалась картинка с таким размером и открывалась, и я не знаю как это сделать. Запись в .htaccess
    Код (PHP):
    1. RewriteRule ^img/resize/(.*)//index.php?width=$1 [L] 
    ? наверно это неправильно. но даже если бы и было правильно, то по этой логике у меня бы просто делалась копия изображения с нужным размером, но само изображение не открывалось бы.

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    ты всегда можешь отдать изображение в поток. прочитать из файла на диске или вывести из ресурса GD-чего-то-там.
     
  11. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Re: Загрузка на страницу изображения с размерами взятыми из

    То есть есть функция, что отдаёт в поток изображение? А там я все делал правильно? Я просто не работал с изображениями раньше, то вообще не имею малейшего понятия про это, взял на курсовую, теперь мучаюсь( Но .htaccess все же нужно настроить и тут уже напрягает нагрузка на сервер, если таких изображений будет много.
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    да, в GD есть такая функция. мануал неплохо было бы почитать. про нагрузку тоже молодец что беспокоишься. обработанное изображение всегда отдавай с диска и никакой проблемы в этом плане не будет - не будет тратится время процессора на повторную обработку. с учетом того что ты пользуешься рерайтером - можешь настроить правило что если файл не существует то его надо сгенерировать. и тогда апач будет использовать либо созданный файл либо заказывать его у пхп-машины. с одновременной обработкой множества изображений тоже можно всякие трюки с блокировками придумать.
     
  13. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Очень и очень благодарен! Буду читать сейчас.

    Добавлено спустя 36 минут 30 секунд:
    Re: Загрузка на страницу изображения с размерами взятыми из GET
    Все тщетно, этот скрипт так и не срабатывает прописал вот так в .htaccess
    Код (PHP):
    1. RewriteRule ^([a-zA-z0-9]{6})\.jpeg/index.php?width=$1 [L] 
    а функция что должна выводить в поток "imagejpeg — Выводит изображение в браузер или пишет в файл" пишет что ожидает еще один параметр. Нет сил уже(

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  14. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    весь код показывай. сил у него нет. спать тогда иди раз сил нет.
     
  15. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Я уже сомневаючсь, что у меня что то вйдет, мне же нужно будет в тег прописовать вот такую ссылку
    Код (PHP):
    1.  <img src="https://www.gravatar.com/avatar/2353050223ebecb113741c29458de4b2?s=328&d=identicon&r=PG" a>  
    , где s тут размер изображения, а я деже редирект не могу настроить чтобы скрипт просто сработал(

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  16. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    давай немного от темы отвлечемся. вот у тебя курсовая. по некоторому хттп-сервису. и полный ноль в понимании устройства веба. это ты херово учился или ступил при выборе темы курсача?

    да, ты будешь вставлять такую ссылку. я не вижу проблемы. и не понимаю за каким хреном тут нужен редирект.
     
  17. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Re: Загрузка на страницу изображения с размерами взятыми из

    Ступил с темой курсовой, так как ориентируюсь немного в php, думал, что инфы по этому вопросу будет больше, ведь тема все же не новая и очень даже полезная - загрузку сайта можно увеличить в разы при такой нарезке изображения.
    Нужна же настройка .htaaccess (я назвал его редиректом) чтобы в случае когда ссылка такого типа https://www.gravatar.com/avatar/2353050223ebecb113741c29458 ... n&amp;r=PG то у нас срабатывал скрипт, который возьмет оригинальное изображение, нарежет и отдаст обратно уже уменшеным.
     
  18. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    мне как-то первая идея - с размером в имени ресурса - больше нравилась. впрочем и ссылку с параметрами можно комфортно разрулить. но будут сложности с кэшированием. придется постоянно запускать пхп-машину, а это накладных расходов добавляет.
     
  19. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Re: Загрузка на страницу изображения с размерами взятыми из

    Ну мне главное, чтобы это изображение можно было установить на странице прописав к нему путь http:/мойсайтец.net/common/937992/1_3_559.jpg?width=480, я уже окончательно запутался, в общем знаний мало, буду пробовать изменить тему как то. [​IMG] Я вообще, вижу, делаю что то нето. Просто когда переходишь по ссылке с src, то там тоже можна менять размер изображения просто изменяя гет-параметр в урле.
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    похоже ты не особо пользуешься головой. у тебя исходный код страницы в которой есть ссылка медиаресурс. по этой ссылке тебе отдают изображение. вставишь ссылку напрямую в браузер - ресурс от этого не поменяется. будет так же возвращаться изображение. поменяешь что-то в аргументах запрос и/или в ссылке на ресурс - будешь получать уже другое содержимое. в твоем случае при изменении размера в параметрах запроса ты просто получаешь изображения с заданным размером. скрипт который отдал эту картинку не поменялся. поменялись только вводные данные - урл и/или параметры. и именно такой скрипт ты и хочешь написать. твой капитан очевидность.
     
  21. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Re: Загрузка на страницу изображения с размерами взятыми из

    Сложнааа. Ну так как тогда заставить срабатывать скрипт, когда в коде есть такие ссылки на изображения, через ajax? Ладно, я наверное слишком далек от этого((
     
  22. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    ну аякс это лишь технология запросов к серверу без перезагрузки фактической страницы. можно и аяксом. разбор запроса вообще никак не поменяется спроси ты браузером, курлом, вгетом или через аякс. пришел запрос на определенного вида ресурс - ты выполнил скрипт и отдал ответ. всё. не надо брать курсовые работы по областям в которых нулевые знания.
     
  23. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Re: Загрузка на страницу изображения с размерами взятыми из

    Просто мои знания в этой области мозаичны, так смисл в том чтобы научиться. Думал, что может кто-то делал что-нибудь подобное.
     
  24. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Re: Загрузка на страницу изображения с размерами взятыми из

    ну естественно тут многие делали подобное. если не сказать что все. вот ты потратил пол дня уже (с вычетом ночного сна). где результат? показывай. или тебе готовое решение надо?
     
  25. Godric

    Godric Новичок

    С нами с:
    22 фев 2016
    Сообщения:
    13
    Симпатии:
    0
    Re: Загрузка на страницу изображения с размерами взятыми из

    У меня еще учеба и работа кроме этого, так что с сегодняшней ночи я не особо продвинулся.