Как сделать сохраненные фотографии на php

Обновлено: 06.07.2024

Вопрос от пользователя

Здравствуйте.

Мне нужно сохранить несколько картинок с одного "необычного" сайта: на нем, при клике правой кнопкой мышки, не появляется стандартное меню (т.е. нельзя обычным образом сохранить фото).

Есть ли какие-нибудь простые и (главное!) быстрые варианты сохранения?

Ну смотря что понимать под "быстрыми", да и от конкретного человека зависит (каждый из нас даже текст на клавиатуре набирает с разной скоростью 👌).

Ниже приведу несколько способов решения задачи (выбор, как всегда, за вами. ).

Важно : имейте ввиду, что определённые фотографии и изображения на сайтах защищены авторскими правами! Если вам нужные бесплатные картинки - см. эту подборку сайтов.

Способы сохранить картинку

👉 Вариант 1

При сохранении всей веб-страницы (сочетание кнопок Ctrl+S в браузере) — в подавляющем большинстве случаев будут загружены к вам на диск и все изображения, что на ней отображаются!

Сохраняем веб-страницу на HDD

Сохраняем веб-страницу на HDD

Обратите внимание, что рядом с html-файлом странички будет и одноименный каталог. Если вы его откроете — в нём должны быть сохранены все картинки, что были на веб-странице.

Рекомендую отсортировать их по размеру и оставить только то, что "нужно".

Картинки с сохраненной веб-страницы

Картинки с сохраненной веб-страницы

👉 Вариант 2

А вообще, мне больше всего импонирует вариант с созданием скриншота. Т.е. вы просто делаете скриншот того, что у вас отображается на мониторе! Этот способ универсальный и подходит, как для сайтов, так и для игр, фильмов и т.д. и т.п.

Чтобы сделать скрин : нажмите клавишу Print Screen, затем откройте Paint или Word и вставьте картинку, нажав на Ctrl+V. Дальше ее можно подредактировать (например, подрезав края), и сохранить на жесткий диск. Быстро?!

Кнопка Print Screen на типовой клавиатуре

👉 Вариант 3

Запомните какой-нибудь текст или описание рядом с нужной фотографией/изображением. После, откройте код страницы — сочетание кнопок Ctrl+U (работает в большинстве браузеров).

Открываем код страницы

Открываем код страницы

Затем в строке поиска (Ctrl+F) укажите текст (который запомнили) и браузер вам найдет этот участок кода веб-странички. Рядом с нужным текстом — вы увидите ссылку на картинку (я ее выделил красным, на конце - ".PNG"). Осталось только ее открыть.

Открываем картинку

А далее обычным образом (нажав ПКМ на нее) - она легко сохраняется на диск.

Сохранить как.

👉 Вариант 4

Для тех, кому нужны все фотографии с сайта (да и весь другой материал: тексты, сноски, подписи и пр.) — можно посоветовать воспользоваться спец. 👉 программами для скачивания сайтов. Они загрузят весь ресурс целиком, а значит там будет всё, что вам было нужно. 👌

Также можно попробовать сохранить 👉 страничку в PDF-формат. С ним в последствии можно работать, как в MS Word, так и его аналогах.

Base64 – это некий стандарт кодирования информации посредством только 64 символов таблицы ASCII. В эту таблицу входят символы латинского языка (A-Z и a-z), цифры от 0 до 9, а также некоторые знаки.

Принцип этого кодирования – представление любой цифровой информации в виде уникального набора символов этой таблицы.

Чтобы вы наглядно понимали, что это такое, поясню. Перед вами изображение:

А вот его кодировка Base64:

Что нас здесь интересует? Как сохранить такие данные и представить их в читабельном виде на примере все тех же изображений.

Выводим изображение в формате Base64 на HTML/CSS

В HTML встраивание подобного рода кода осуществляется с помощью всем привычного тега IMG. И на примере все той же картинки результат будет следующим:

Какие есть преимущества у этой кодировки? Основное преимущество – это то, что изображения вы не храните на своем сервере и вообще ни на каком в принципе, а просто размещаете нужные вам файлы в теле страницы обычным текстом.

Сохранение изображения в формате Base64 на jQuery+PHP

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

В одной из статей был рассмотрен вопрос о том, как же сделать скриншот элемента на JavaScript, используя библиотеку html2canvas. В примере мы рассматривали скриншот как уже готовое изображение, но мы не упомянули, что при использовании там кода:

можно получить изображение как раз в кодировке Base64.

Давайте попробуем сохранить это (вы можете использовать свое) изображение в кодировке Base64, используя технологию AJAX и не большой PHP-скрипт.

Начнем с jQuery. Скрипт, который будет посылать в обработчик (PHP-скрипт) наши данные, будет выглядеть следующим образом:

Сам же скрипт-обработчик будет выглядеть следующим образом:

Здесь все предельно просто – получаем данные, обрабатываем и сохраняем их в той же директории, что и сам обработчик.

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

Расписал вроде все максимально подробно, но если какие-то моменты вызывают у вас трудности, не стесняйтесь и задавайте их в комментариях – никого не оставим без внимания.


Хорошо, это все понятно, а как будет выглядеть если картинка большая, мы вставляем переменную и картинка раздвигает рамки таблицы, как сделать что бы картинка вписывалась в таблицу, если есть ответ выслите на аську 400008703 или ответьте. Заранее благодарен, сам парюсь не знаю как.

У большинства тегов в HTML, есть свойство width, т.е. ширина. Из этого следует, что прежде чем вставлять картинку в таблицу можно просчитать и выставить ширину картинки и она уменьшится. Есть так же свойство height - это высота. Для того чтоб сохранялись пропорции картинки изменяйте только одну величину, ширину или высоту. Примерно так: или Хотя конечно можно и так:

Вот пример я вытаскиваю картинку из БД, то есть у меня там лежит , то есть я указываю переменную %s, а картинки естественно разного размера мне нужно что бы эти картинки вставали в рамку таблицы все перепробовал ну ни как. максимум что сделал я ее вписал в таблицу через overflow-hidden и display-block, она встала в таблицу но картинки видно только начало края картинки, вот как сделать что бы они вставали под размер таблицы. (Картинки все разного размера). Помогите. Лучше на примере маленьком. Заранее благодарен.

Да я с вами согласен если из базы данных брать только путь /images/ip.jpg то естественно можно подставить и ширину и высоту, но у меня из базы тянет сразу (img src='путь') естественно в переменную которую я вытаскиваю я не могу подставить размеры как вы выше описали, вот и спрашивается есть еще какие варианты. Заранее благодарен!

Спасибо огромнейшее. Сайт супер отвечают, на все вопросы. Советую всем кто в чем то затрудняется. Спасибо еще раз.

На форуме есть раздел "Заказ уроков", это бесплатно. Пишите там, что вас интересует и попробуем разобраться. Предварительно прочитайте правила форума.

SETTER Спасибо за ответ. Дело в том что к примеру смайлы можно ставить Пример: // заменяем текстовые смайлики на графические $dt[0]=str_replace(":-))",$s1,$dt[0]); $dt[0]=str_replace(":-)",$s2,$dt[0]); А вот как описать что бы скрипт преобразовывал и отображал картинки не понятно :/ Если сможете подскажите как сделать :)

SETTER Спасибо за попытку помочь! :) но я нашел в сети другую гостевую с возможностью вставки изображений : )

Это все очень интересно и понятно, но а если у тебя допустим без базы данных Mysql. А вся информация хранится в формате редактора прямо у тебя на сервере.

Здравствуйте. у меня такой вопрос..подскажите как на самой картинке,сделать ссылки куда либо (пример: картинка,а на ней написано кабинет,нажимаешь и уходит в форму кабинет)

Вариант зайти на letpix ru - загрузить картинку или картинки и вставить уже готовый, появившийся HTML код на свою страницу. Всё генерируется автоматически.

У меня не отображаются картинки ни на моем сайте через все браузеры, ни в вашей статье. В этой статье ваши картинки у меня тоже не отображаются. Проблема очевидно не в коде. Но тогда в чем? Кто знает, подскажите.

Вот мне бы полностью html и php код вот у меня есть форма загрузки картинок на сервер там они загружаются в отдельную папку как бы извлечь из этой папки что бы картинка была на страничке моего сайта

Суть заключается в том, чтоб иметь линк (ссылку) на эту картинку. Ну например в таблице базы данных у вас сохраняется, при загрузки, путь до картинки. Которая находится теперь на сервере, в определённой директории. Тогда выбрав из базы эту строку (путь до картинки), вы в вёрстку вашей страницы, вставляете такой тег . Вот и весь принцип вставки.

Доброго времени суток! Большая просьба подсказать способ вывода картинки по меткам WP. Например, в посте выводится метка в виде текста: трам-пампам, а нужно, чтобы в придачу к этому тексту выводилась и её фото. Благодарю заранее.

Для получения картинки с помощью функции file_get_contents нам потребуется адрес картинки, чтобы записать полученные данные в файл, то нам потребуется другая функция file_put_contents, приведем примеры создания такого рода изображений.

Далее будем получать(тренироваться) картинку с помощью file_get_contents по реальному адресу картинки

Картинка и file_get_contents

Как получить изображение из ссылки сохранить его!?

Для того, чтобы получить изображение из ссылки пишем такую конструкцию:

Если вы попытаетесь вывести на экран

Вопрос почему не выводится картинка полученная с помощью file_get_contents!?

Почему вместо картинки - код с квадратиками?

Да поэтому, что данный код картинки, php пытается интерпретировать как программу, и естественно, что получится полная хрень:

Почему вместо картинки - код с квадратиками?

Почему вместо картинки - код с квадратиками?

Как сохранить изображение полученное из ссылки!?

Следующим пунктом, разберем сохранение изображения с помощью file_get_contents.

Для этого нам понадобится:

Форма, куда будем вводить данные из ссылки

Код скрипта, который получит картинку из ссылки

Далее нам нужен маленький скрипт, который будет сохранять полученную картинку из ссылки.

Не забываем. Данная загрузка изображения на сайт не является безопасной! Если такой загрузкой будут пользоваться посетители, то необходимо проверять , что за код загружается!

Далее нам нужно получить разрешение картинки, сделаем это самым примитивным способом, разобьем(explode) ссылку на массив и получим последний элемент. (Создадим простую иллюстрацию, как это работает).

Название файла, чтобы оно не повторялось сделаем из даты:

Нам понадобится функция сохранения данных file_put_contents,, которая может записывать данные в файл, пишем такую конструкцию:

Соберем весь код вместе, его можно скачать по ссылке, скрипт проверен на работоспособность!

Не забудьте написать путь от корневой до сохраняемого файла - " ПУТЬ_ОТ_КОРНЕВОЙ "

Получение разрешения загружаемой картинки :

Разберем это на примере:

пусть в переменную поступают данные :

Выведем разрешение картинки таким образом:

Когда сработает функция получить изображение из ссылки file_get_contents

Изображение, картинку можно получить в переменную, с помощью file_get_contents, если на сайте включена allow_url_fopen, как проверить, включена ли на сайте allow_url_fopen !? Нужно разместить на странице вот такой код

и он вам ответит вот так :

Как вывести на экран полученное изображение с помощью file_get_contents

Это, конечно очень странное занятие выводить таким образом картинку, но вывести можно:

Результат вывода картинки полученной с помощью file_get_contents :

Если выведем прямо здесь, то вместо страницы получим картинку, поэтому на отдельной странице

Как получить размеры изображения полученного file_get_contents

Будем получать высоту и ширину из картинки file_get_contents.

Картинку возьмем туже, опять получим её в file_get_contents , пропустим её через imagecreatefromstring :

Далее нам понадобится:

imagesx — Получение ширины изображения

imagesy — Получение высоты изображения

Соберем весь код получения размеров картинки из file_get_contents вместе:

Читайте также: