Как загрузить фото на сайт html
У нас стандартная форма для отправки данных выглядит таким образом:
И если мы её выведем, то никакой кнопки загрузить фото мы не найдем:
Поэтому нам немного нужно её изменить!
Добавляем в форму enctype=»multipart/form-data»
И тип файла в input меняем с «text» на «file»
Вот что у нас должно получиться:
И выведем в коде:
Элементарная загрузка фото на сайт php
И далее нам нужно разобраться с php скриптом, который загрузит фото на сайт!
Внимание! Не забываем! Что загрузка фото на сервер не безопасна и надо сделать множество проверок, чтобы убедиться в том, что этот файл безопасен.
Но мы сейчас. просто пытаемся разобраться в механизме загрузки фото на сервер
В сети есть различные способы загружать, я расскажу, каким пользуюсь я!
Что нам понадобится для загрузки фото на сервер php
При отправке выше приведенной формы с загрузкой фото, изображение автоматически попадает во временную папку, которая должна быть определена в настройках сервера. → если же изображение не удастся загрузить во временную папку, то php вам об этом сообщит! Но мы предполагаем, что сервер настроен правильно! Покупайте только правильный хостинг!, где сервер настроен правильно изначально, но если это и не так, то вы всегда сможете почитать о нём на нашем сайте!
Функция для перемещения изображения
Если файл загружен, то нам нужно переместить наш файл в конечную папку, где и будет находиться файл изображения до его удаления.
move_uploaded_file
Что пермещаем
В первом параметре указываем что будем перемещать — загруженный файл :
$_FILES[«uploadimg»][«tmp_name»]
Куда пермещаем Во втором параметре указываем путь, куда будет загружен файл » $DIR «. Нам потребуется путь на сервере до папки. Создайте папку «img» в корневой папке и у вас путь до этой папки будет такой:
$DIR = $_SERVER[‘DOCUMENT_ROOT’].’/__img/’;
И добавляем к нашей конструкции еще название перемещаемого файла basename($_FILES[‘uploadimg’][‘name’]) готовый путь до папки с картинками у вас должен получиться такой:
$DIR = $_SERVER[‘DOCUMENT_ROOT’].’/__img/’;
$DIR. basename($_FILES[‘uploadimg’][‘name’])
Добавим кнопку отправить. «and and $_POST[«is_submit»]»
Итого . мы можем собрать наш простой, я бы сказал простейший скрипт загрузки изображения на сервер!
if (move_uploaded_file($_FILES[«uploadimg»][«tmp_name»], $DIR. basename($_FILES[‘uploadimg’][‘name’]) ) and $_POST[«is_submit»])
echo ‘файл загружен’;
Скачать скрипт простой загрузки изображения на сайт!
Еще раз повторяю! Что это самый простой скрипт, в одну строку для загрузки изображения на сайт php! Описание см. выше.
Вы, как админ можете им пользоваться без проблем! Но вот для пользователей в этот скрипт нужно добавлять множество проверок для безопасности!
Скачиваем со страницы все скрипты Не забудь сказать спасибо!
Где находится временная папка для загрузки фото на сервере
Я покажу, на примере DirectAdmin v1.59.1, где найти эти настройки, и где находится информация о временной папке для изображений на сервере!
Заходим в наш «DirectAdmin» → нам нужна строка настройки php:
Нажмите, чтобы открыть в новом окне.
Далее опускаемся до строки «upload_tmp_dir» — это и есть наша временная папка на сервере.
Нажмите, чтобы открыть в новом окне.
Данная папка недоступна по адресу «http»
И да! Чуть не забыл! У вас должна быть включена функция загрузки файлов «file_uploads» — «on» — иначе, ничего не будет загружаться!

Проверка типа изображения
Для того, чтобы проверить является ли данный файл изображением надо получить данные из загружаемого файла это функция getimagesize
Проверяем на тип изображения:
if($imageinfo[«mime»] != «image/gif» && $imageinfo[«mime»] != «image/jpeg» && $imageinfo[«mime»] !=»image/png») 3. Получаем расширение фото Функция imageinfo возвращает ассоциативный массив
Нам нужна ячейка массива с ключом mime
[3] => width=»1920″ height=»1080″
Её нужно разделить с помощью функции explode
Наше расширение загружаемого фото — это $mime[1]
Название и расширение сохраняемого файла «test.$mime[1]»
Это лишь один пример того, как должна выглядеть проверка загружаемого файла! И еще нужно сделать несколько проверок, например, на вес фото! + На наличие вредоносного кода, но об этом мы поверим уже в другой раз!
Поисковые запросы на тему фото php.
Иногда встречаются такие поисковые запросы, что и не понимаешь, что вообще человек имеет ввиду, спрашивая это:
как в php подключить картинку к сайту

Как можно подключить картинку -если это не код. С картинкой можно проделать несколько операций в php.
Это загрузить на сайт, что мы всю страницу пытались рассказать.
Поместить html код картинки в переменную:

$example = »;
Потом вывести с помощью echo.
echo $example;
Либо так без переменной:

echo »;

Результат:
Как загрузить фото на ваш сайт

Если у вас есть собственный веб-сайт или блог по личным или профессиональным причинам, добавление изображений может создать более приятное и привлекательное впечатление.
Легко добавлять изображения онлайн в стандартных форматах, таких как JPEG , GIF и PNG . Вот как можно загружать фотографии и другие типы изображений, чтобы поделиться ими с другими, объяснить что-то, продемонстрировать идею или просто сделать свой сайт более привлекательным.
Вы также можете сделать изображение кликабельной ссылкой, чтобы привести пользователей в другое место на вашем сайте.
Проверьте размер изображения
Прежде чем начать, проверьте размер изображения, которое вы хотите загрузить. Некоторые хостинг-сервисы не допускают файлы определенного размера. Убедитесь, что размер изображения не превышает максимально допустимый для вашего хостинга. Ограничения размера изображения применяются ко всем форматам, включая PNG, GIF, JPEG, TIFF и т. Д.
Если вы много работали над идеальным изображением, но оно все еще слишком велико для загрузки, можно уменьшить размер фотографии, чтобы она работала.
Загрузить изображение онлайн
Загрузите свое изображение на свой сайт, используя программу загрузки файлов вашего веб-хостинга. Если они не предоставляют его, вам понадобится программа FTP для загрузки ваших изображений или использование службы размещения изображений .
Если ваше изображение в архивном формате, например, в ZIP- файле, сначала извлеките изображения. Большинство платформ веб-хостинга позволяют загружать файлы только традиционных форматов, а не типов архивных файлов.
Если ваше изображение уже размещено в другом месте, например на чужом веб-сайте, сделайте ссылку на него напрямую (см. Ниже). Вам не нужно загружать его, а затем повторно загружать на свой собственный веб-сервер.
Найдите URL для вашего изображения
Важно знать, куда вы загрузили изображение, например, добавили ли вы его в корневой каталог вашего веб-сервера или в другую папку, возможно, созданную специально для хранения изображений? Вы должны быть в состоянии определить постоянное местоположение изображения, чтобы иметь возможность предоставить его своим посетителям.
Например, если структура папок на вашем веб-сервере для изображений — \ images \, а загруженная фотография называется new.jpg , URL-адрес этой фотографии — \ images \ new.jpg .
Если ваше изображение размещено в другом месте, просто скопируйте URL-адрес, щелкнув правой кнопкой мыши ссылку и выбрав вариант копирования. Или откройте изображение в своем браузере, нажав на него, а затем скопируйте местоположение в изображение с панели навигации в своем браузере.
Вставьте URL на страницу и дайте ссылку на нее
Теперь, когда у вас есть URL-адрес вашего изображения, решите, куда на вашем веб-сайте вы хотите его разместить. Найдите конкретную часть страницы, где вы хотите, чтобы изображение было связано.
Когда вы нашли подходящее место для ссылки на изображение, используйте функцию гиперссылки вашего веб-сервера, чтобы связать ваш URL со словом или фразой в предложении, которое указывает людям на изображение. Это может называться Вставить ссылку или Добавить гиперссылку .
Есть много способов сформулировать ссылку на изображение. Возможно ваше изображение new.jpg имеет цветок, и вы хотите, чтобы ваши посетители могли щелкнуть ссылку, чтобы увидеть цветок. Вот несколько примеров: «Посмотрите на этот новый цветок, растущий у меня во дворе!» «Я хотел бы посадить этот цветок в этом году». «Мои цветы процветают. Смотри !»
Вы также можете сделать ссылку на изображение, используя HTML- код страницы :
Как реализуется загрузка фото на сайт с предварительной обработкой и предпросмотром?
На странице есть кнопка, в обзоре выбираем фотку с компа, она появляется тут же на странице в нужном месте. Но бывает, что фото грузится перевернутым, либо на 90, либо 180 градусов.
Хочу переворачивать фото до загрузки его на страницу, т.е. чтобы было так:
Нажав загрузить фото, появлялась какая-либо страница предварительной загрузки или предпросмотра, где была бы кнопка поворота изображения. Если все нормально, то подтверждаем загрузку на сайт, иначе тоже, но после применения поворота.
От знатоков хотел бы получить умные мысли и примеры для дальнейшего изучения как это сделать.
- Вопрос задан более трёх лет назад
- 11577 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 3

Самый лучший программист
Ответ написан более трёх лет назад
Антон @anton99zel Автор вопроса
Это мне не подходит.

Антон, Javascript не умеет изменять содержимое файла изображения. Поэтому манипуляции с файлом, только через сервер, то есть upload

Петр, canvas умеет.
Антон @anton99zel Автор вопроса
Dmitry Bay, Кстати, полученное изображение я помещаю в canvas

Danil Sapegin @ynblpb_spb
и на сервер слать base64
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать

уверенный пользователь
В общем, реализуется следующим образом:
на форму помещаете:
Затем добавляете яваскриптовый обработчик, который при выборе файла в инпуте подставит картинку в этот верхний тег img, что-то типа такого:
function readURL(input) < if (input.files && input.files[0]) < var reader = new FileReader(); reader.onload = function (e) < $('#blah').attr('src', e.target.result); var widthImg = $('#blah').width(); console.log("widthImg = " + widthImg); var widthContent = 342; console.log("widthContent = " + widthContent); //если ширина картинки больше, чем наш контент, то добавляем коеффициент сжатия if (+widthImg >+widthContent) < var koef = +widthImg / +widthContent; $("#koef").val(Math.round(koef*1000)); $('#blah').attr('src', e.target.result).css('width', '100%'); >else < >//addJCrop(1); //jcrop_api.animateTo(getRandom()); > reader.readAsDataURL(input.files[0]); > > $("#AddImage").change(function () < $('#blah').attr('src', "~/Content/nophoto.png"); readURL(this); //$('input[type="file"]').hide(); //$('.buttonSubmitImg').show(); //CropResult.isUpload = true; >);
После этого вы проделываете какие-то операции с этим прелоадером, а результат складываете в скрытые поля на форме. Не сам результат (то, что у вас получилось с фоткой), а результат работы ваших функций. В моём случае я пользовался библиотекой jcrop, в скрытые поля я пихал x0, y0, x1, y1. На сервер передаётся в таком случае исходный не тронутый файл и координаты диагонали, по которой уже на сервере еще раз обрезается фотография и сохраняется уже изменённая.
В вашем случае нужно на яваскрипте реализовать повороты влево/вправо, на клиенте поворачивать с помощью css, а на сервер передать саму фотку и какой-нибудь rotateAngle — с помощью которого уже на сервере повернуть фотку перед сохранением.
SEO Маяк
Как загружать картинки на сайт. Оптимизация изображений
2013-02-21 автор: Виталий Кириллов
Всем привет! Сегодня на SEO-Mayak.com мы снова будем говорить о картинках для сайта, но в этот раз речь пойдет не о том, где брать изображения для сайта, а о том как загружать картинки на сайт и как оптимизировать изображения.
Тема уже заезженная, но как я убедился: далеко не все, а особенно начинающие веб-мастера, заботятся о снижении нагрузки на сервер.
Дело в том, что пока на блоге мало статей и посетителей, скорость загрузки страниц вполне нормальная и вроде бы ничего не предвещает проблем, но когда статей станет уже больше 100 и посещаемость возрастет до 1000 уников в сутки, то только тогда блогеры начинают заботится о скорости сайта.
Скорость загрузки страниц — это очень в важный показатель и ставится в один ряд с поведенческими факторами и релевантностью, от которых в свою очередь зависят позиции сайта в поисковой выдаче.
Кто не знает, что такое поведенческий фактор и релевантность, советую подписаться на обновления блога .
Поэтому к подготовке изображений для загрузки на сайт надо относиться со всей серьезностью и уделять этому время.
Как же можно подготовить картинку, ведь она уже и так готовая? Всё верно, только вес картинки не должен превышать 40Kb или быть близким к этой цифре, а размеры (пропорции) изображения надо оптимизировать под ширину страницы сайта заранее.
Как сжать изображение без потери качества
Для наглядного эксперимента воспользуюсь онлайн сервисом для сжатия изображений punypng.com .
Я специально подготовил картинку размером 450х333 пикселя и весом 57,3 kb:

Прохожу несложную процедуру регистрации и загружаю эту картинку:

Какое-то время сервис обрабатывал изображения, но результат превзошел все мои ожидания:

Картинка потеряла в весе аж 43% и стала весить не 57.3 kb, а всего 32.8kb. Просто здорово! Но тут же в голову приходит мысль — «Наверное теперь качество картинки будет отвратительное, надо срочно проверить». Жму на кнопочку — «DOWNLOAD» и скачиваю обработанную картинку на свой компьютер.
Когда я оценил сжатую картинку, то просто влюбился в этот онлайн сервис. Здорово, супер, замечательно, классно — буду теперь всегда им пользоваться Вот как выглядит сжатое изображение:

Так вот, дорогие друзья и коллеги. Сжатое, почти в два раза, изображение безусловно снизит время его загрузки, а если одна страница вмешает с десяток таких изображений…
PunyPng — это просто «spa слон» какой-то или «фитнес центр», при частом посещении которого, Ваш сайт будет иметь «самую стройную фигуру»
Впрочем сервис PunyPng может сжимать одновременно до 15 изображений, что согласитесь очень удобно.
Уверен, что многие веб-мастера призадумаются -«Блин, это что теперь мне надо каждую фотку из всех моих 200 статей прогнать через этот сервис, а потом залить обратно на сервер через редактор Wopdress?»
Могу немного Вас упокоить. Сделать можно все гораздо проще, если Вы конечно умеете пользоваться FTP клиентом Filezilla.
Все фотографии с вашего блога хранятся в папке — «wp-content/uploads», где они разделены по годам и месяцам. Так вот с помощью FTP клиента, скачиваем папочки с изображениями и по 15 штук закидываем их на сервис PunyPng, сжимаем и потом таким же образом помещаем их обратно на сервер. Самое главное при этой операции случайно не изменить формат или название картинки, чтобы WordPress не запутался.
Оптимизация изображений путем сжатия — обязательная процедура перед их загрузкой на сайт.
Ладно, с сжатием изображений мы разобрались, теперь надо правильно их загрузить на сайт, чтобы они не оставляли совершенно не нужные дубли.
Как правильно загружать картинки на сайт
К примеру, вы уже оптимизировали изображение, сжали его и подогнали пропорции под вашу страницу. Так, теперь немного подробней о пропорциях.
В среднем ширина страницы блогов составляет 600 пикселей, конечно у кого-то может быть больше или меньше. Дело в том, что если загрузить картинку с пропорциями width (ширина) — 800 пикселей, а height (высота) — 500 пикселей, то конечно такое изображение не поместится на страницу, и чтобы вставить это изображение, придется менять размер непосредственно в редакторе WordPress.
Что же в этом страшного? При открытии статьи, картинка должна изменить свой размер, чтобы отобразится на странице, при этом теряются драгоценные миллисекунды. Считается, что если открытие страницы занимает более 4 секунд, то пользователь покидает сайт.
Заранее подгоняйте размеры изображения под ширину вашего сайта. Нежелательно, чтобы размеры картинки изменялись в процессе открытия страницы, это значительно снижает скорость ее загрузки.
Итак, мы оптимизировали картинку, заранее подогнали размеры и загрузили ее на сайт. При этом у нас автоматически создалось 3 изображения разных размеров: миниатюра, средний размер и исходный размер.
Если с миниатюрами и исходным размером все понятно и они нужны. А вот для чего нужен средний размер? Я думаю он просто лишний, так как практически не используется и просто занимает место на сервере, тем самым утяжеляет блог.
Про использование миниатюр в wordpress читайте в следующих статьях: похожие записи с миниатюрами без плагина — выводим под каждой статьей, блок популярных записей с миниатюрами без плагина — выводим в сайдбаре, а также использование миниатюр на главной странице.
Для того, чтобы избавиться от, совершенно не нужного, среднего размера картинок заходим в Админ-панель -> Параметры -> Медиафайлы и рядом со строчкой — «Средний размер» ставим нули:

Для некоторых тематик бывает, что не нужны даже миниатюры, так что если есть такая необходимость, то можно таким же образом отказаться и от миниатюр.
Как загружать картинки на сайт со сторонних хранилищ
Хотел рассмотреть еще одну возможность загрузки картинок. Это особенно актуально для фотоблогов, т.е сайтов, использующих большое количество фотографий. Дело в том, что существует возможность использовать ресурсы сторонних хранилищ, например таких, как Яндекс фотки и уже оттуда подгружать изображения , тем самым существенно облегчая сам сайт. Чтобы работать с сервисами Яндекс Вы должны быть зарегистрированы — «Регистрация сайта в поисковых системах Яндекс, Google, Bing, Mail.ru и других»
Для того, чтобы загрузить картинку нам надо попасть на Яндекс фотки и кликнуть по кнопке — «Загрузить фотки»:

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

После того, как Вы выбрали изображение, внизу страницы нажимаем кнопку — «Загрузить» и картинка загрузится на Яндекс фотки. Далее выделяем нужное изображение:

Если кликнуть по ссылке — «В другом размере», то можно выбрать исходный или предложенные Яндексом размеры. Далее, кликаем по надписи — «Код для вставки на сайт или в блог», копируем верхний код, от тега , до закрывающего тега , выделенный квадратом и вставляем в редактор WordPress в HTML режиме. Вот та самая фотография, только подгруженная не с самого блога, а с Яндекс фоток:

Обращаю Ваше внимание, что скопированный код изображения с Яндекс фоток является открытой ссылкой и ее необходимо закрыть тегом nofollow, а еще лучше скрыть ссылку с помощью AJAX.
Похожая история со вставкой видео с YouTube. Представляю подробных скриншот:

Это видео с YouTube вставлено посредством скопированного кода, что делает совершенно бесполезным использование плагина Video Embedder, от которого я благополучно избавился.
Надеюсь статья получилось интересной и не менее полезной. Удачи!
С уважением, Виталий Кириллов
