PHP уроки для начинающих

PHP уроки

  • Главная
  • PHP с чего начать?
  • Уроки PHP
  • Массивы
  • Функции
  • MySQL
  • Форум
Меню

  • PHP - с чего начать?
  • Уроки PHP
  • Функции
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • Галерея
  • Как здесь качать?
  • КНИГИ

Связаны

  • Paid Video Hosting

Что нового?
Как создать свой сайт? Урок третий.
Загрузка файлов
Регистрация PHP
Как создать свой сайт? Урок второй.
Как создать свой сайт?
Размер изображения
Index.php

Новости на email
Подпишись на новости.
Уроки PHP на email.


Имя(login):

*Ваш email:


Календарь
Май (2012)
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031   

масло castrol купить имеют особую вязкость . Оперативный ремонт vw по приемлемым ценам.
ИГРЫ Компьютерные, настольные, детские конструкторы, карточные игры, головоломки.
on-books.ru
 
Комментарии
Текст
сообщениясбрасы
ваются все
настройки
мозилы+удаляютс
я в...
"Сейчас
откройте
страничку в
браузере. Для
этого щёлкни...
Спасибо за
уроки
спосиба для
помщ
Читать учитесь.
 
TOP5-уроки
1.  Привет, МИР! - 62109
2.  Метод GET - 35587
3.  Как вставить картинку в скрипт PHP. - 33564
4.  Как настроить Adobe Dreamweaver для работы с сайтом. - 29801
5.  Метод POST - 29176

Как вставить картинку в скрипт PHP.

Главная » Уроки PHP » Как вставить картинку в скрипт PHP.

PHP урок № 182
Видео

Всё довольно легко сделать, если у вас есть опыт создания HTML-страниц. Как известно в HTML есть специальный тег для вывода картинок или фотографий, без разницы. Тег этот выглядит так < img src="здесь путь до вашей картинки" > . По сути тег называется img.
Вставить картинку в PHP скрипт можно несколькими способами:

Листинг № 1 - Вставка картинки в PHP с помощью функции вывода echo

<?php

   
// ... здесь какой-то код PHP ...

   
echo "<img src='http:⁄⁄lphp.ru/images/dalmation.gif'>";

   
// ... здесь какой-то код PHP ...

?>
Увидим следующее:

Листинг № 2 - Вывод картинки через переменную

<?php

   
// ... здесь какой-то код PHP ...
   
   // добавляем картинку в переменную $а, после чего её
   // можно вывести в любом месте php кода страницы
   
$a = "<img src='http:⁄⁄lphp.ru/images/dalmation.gif'>";

   
// ... здесь какой-то код PHP ...

?>

   ... здесь какой-то код HTML, например таблица ...
   
  
   <table width="350" border="1" cellspacing="3" cellpadding="3">
    <tr>
      <td> </td><td> </td><td> </td>
    </tr>
    <tr>
      <td> </td><td> </td><td> </td>
    </tr>
    <tr>
      <td> </td><td> </td><td> </td>
    </tr>
   </table>




<?php

   
// выводим картинку на монитор
   
echo $a;


?>
Увидим следующее:
... здесь какой-то код HTML, например таблица ...

   
   
   

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

Листинг № 3 - Выводим картинку из переменной в таблицу.

<?php

   
// ... здесь какой-то код PHP ...
   
   // добавляем картинку в переменную $а, после чего её 
   // можно вывести в любом месте php кода страницы
   
$a = "<img src='http:⁄⁄lphp.ru/images/dalmation.gif'>";

   
// ... здесь какой-то код PHP ...

?>

   ... здесь какой-то код HTML, например таблица с собакой ...
   
   
   <table width="350" border="1" cellspacing="3" cellpadding="3">
    <tr>
      <td> </td><td> </td><td> </td>
    </tr>
    <tr>
      <td> </td><td align="center"><?php echo $a; ?></td><td> </td>
    </tr>
    <tr>
      <td> </td><td> </td><td> </td>
    </tr>
   </table>

<?php 
 
   
// ... здесь какой-то код PHP ... 

?>
Увидим следующее:
... здесь какой-то код HTML, например таблица ...

     
 

 
    
Если надо сделать картинку ссылкой на другую страницу или ресурс в интернете, пишем следующее.

Листинг № 4 - Картинка ссылка на другой ресурс в коде PHP

<?php

   
// ... здесь какой-то код PHP ...

   // добавляем ссылку в переменную $a
   
$a = "<a href='http:⁄⁄lphp.ru'><img src='http:⁄⁄lphp.ru/images/dalmation.gif' border=0 title='Перейти'></a>";

   
// ... здесь какой-то код PHP ...

   // выводим картинку на монитор
   
echo $a;
?>

Вывод картинок из базы данных MySQL

Я не буду писать здесь, как вставить картинки в базу данных. Будем считать, что они уже там есть. Для примера я создал с помощью phpMyAdmin на локальном сервере базу данных test и в ней таблицу pages. В этой таблице и находятся все картинки (колонка pic), которые я собираюсь вывести в таблицу с помощью скрипта php. Точнее сказать, сами файлы картинок, расположены на локальном сервере в директории сайта, а вот путь к ним прописан в таблице базы данных, причём путь относительный, относительно корня сайта или можно сказать главной директории (/images/lphpru.png). Конечно не обязательно размещать файлы картинок на локальном сервере их можно удалённо выбирать из любого, доступного источника в интернете. При этом должен быть прописан прямой путь до картинки (http://lphp.ru/images/lphpru.png).

Листинг № 5 - Дамп базы данных test

-- phpMyAdmin SQL Dump
-- version 3.2.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Nov 24, 2010 at 04:44 PM
-- Server version: 5.1.40
-- PHP Version: 5.3.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `test`
--

-- --------------------------------------------------------

--
-- Table structure for table `pages`
--

CREATE TABLE IF NOT EXISTS `pages` (
  `id_page` int(6) NOT NULL AUTO_INCREMENT,
  `page` longtext NOT NULL,
  `pic` text NOT NULL,
  PRIMARY KEY (`id_page`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `pages`
--

INSERT INTO `pages` (`id_page`, `page`, `pic`) VALUES
(1, '', '/images/ip.jpg'),
(2, '', '/images/pol.jpg'),
(3, '', '/images/htc.jpg'),
(4, '', '/images/06coverr.jpg');
Что такое дамп и с чем его едят, можно ознакомиться здесь Дамп базы данных

Листинг № 6 - Скрипт для вывода картинок из БД

<?php 
// подключаемся к базе данных
require_once 'config.php';

// выбираем все картинки из таблицы pages
$r = mysql_query("SELECT pic FROM pages");
if(!
$r)exit(mysql_error());
echo 
'<table border=1 ><tr><th>Картинка</th><th>Описание</th></tr>';
while(
$e = mysql_fetch_array($r))
{
       
// выводим на монитор, вертикально
        
echo '<tr><td><img src='.$e[pic].' width="100"></td><td>Описание картинки</td></tr>';
}

echo 
'</table>';
?>
Картинки имеют все разный размер, но если учитывать тот факт, что вывод будет вертикальный, то следует ровнять их ширину, т.е. привести все картинки к одной ширине. Для этого в тег img, в листинге № 6, при выводе, вставлен атрибут width="100", т.е. ширина задана в 100 пикселей. Теперь все картинки станут появляться на странице с шириной 100 пикселей, даже те которые были изначально меньше 100 пикселей. Это нужно учитывать при внесение картинок в таблицу. Проще сказать, нужно при загрузки картинок на сервер, отслеживать с помощью скрипта ширину загружаемых картинок. Ну это касается, только если картинки выводятся вертикально, если горизонтально, то следует использовать те же правила только с учётом высоты картинки.

Листинг № 7 - То что получилось при выводе картинок.

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

Вариант 2

Если у вас в базе данных содержится уже готовый тег img, изменить свойства картинки можно с помощью функции str_replace(). Она осуществляет поиск в строке первого аргумента и меняет его на второй аргумент, третий аргумент функции - это строка в которой происходит замена.

Листинг № 8 - Меняем img на img width="100"

<?php  
// подключаемся к базе данных 
require_once 'config.php'; 

// выбираем все картинки из таблицы pages 
$r = mysql_query("SELECT pic FROM pages"); 
if(!
$r)exit(mysql_error()); 
echo 
'<table border=1 ><tr><th>Картинка</th><th>Описание</th></tr>'; 
while(
$e = mysql_fetch_array($r)) 
{ 
       
// формируем блок текста для замены
       
$img = 'img width="100"';
       
       
// делаем замену
       
$images = str_replace('img', $img, $e[pic]);
       
// выводим на монитор, вертикально 
        
echo '<tr><td>'.$images.'</td><td>Описание картинки</td></tr>'; 
} 

echo 
'</table>'; 
?>
В результате увидим следующее:
Как выводить по 3 фото в строку.

Урок закончен.

Обсудить на форуме.

SETTER © LPHP.RU
Администрация сайта
10.10.2009 22:14:22


Рекомендованные уроки этого раздела:
  • Проверка корректности ввода числа.
  • Как укоротить, уменьшить, обрезать URL (гиперссылку).
  • Как создать базу данных и таблицу из скрипта PHP.
  • Как сделать чтоб было видно сколько посетителей на сайте.

НАПИШИТЕ СВОЙ КОММЕНТАРИЙ

Имя:

Введите цифры с картинки:

КОММЕНТАРИИ

Имя: Сергей     Время: 24.11.2010 01:32:11
  • Хорошо, это все понятно, а как будет выглядеть если картинка большая, мы вставляем переменную и картинка раздвигает рамки таблицы, как сделать что бы картинка вписывалась в таблицу, если есть ответ выслите на аську 400008703 или ответьте. Заранее благодарен, сам парюсь не знаю как???
  • Имя: SETTER     Время: 24.11.2010 09:59:55
  • У большинства тегов в HTML, есть свойство width, т.е. ширина. Из этого следует, что прежде чем вставлять картинку в таблицу можно просчитать и выставить ширину картинки и она уменьшится. Есть так же свойство height - это высота. Для того чтоб сохранялись пропорции картинки изменяйте только одну величину, ширину или высоту. Примерно так: < img src="картинка.jpg" width ="250" > или < img src="картинка.jpg" height ="350" > Хотя конечно можно и так: < img src="картинка.jpg" width="250" height="350" >
  • Имя: Сергей     Время: 24.11.2010 15:27:05
  • Вот пример я вытаскиваю картинку из БД, то есть у меня там лежит , то есть я указываю переменную %s, а картинки естественно разного размера мне нужно что бы эти картинки вставали в рамку таблицы все перепробовал ну ни как. максимум что сделал я ее вписал в таблицу через overflow-hidden и display-block, она встала в таблицу но картинки видно только начало края картинки, вот как сделать что бы они вставали под размер таблицы. (Картинки все разного размера). Помогите. Лучше на примере маленьком. Заранее благодарен.
  • Имя: Сергей     Время: 24.11.2010 18:47:27
  • Да я с вами согласен если из базы данных брать только путь /images/ip.jpg то естественно можно подставить и ширину и высоту, но у меня из базы тянет сразу (img src='путь') естественно в переменную которую я вытаскиваю я не могу подставить размеры как вы выше описали, вот и спрашивается есть еще какие варианты??? Заранее благодарен!
  • Имя: SETTER     Время: 24.11.2010 20:38:44
  • Смотрите Вариант 2
  • Имя: Сергей     Время: 25.11.2010 20:20:03
  • Спасибо огромнейшее!!! Сайт супер отвечают, на все вопросы. Советую всем кто в чем то затрудняется!!! Спасибо еще раз!!!
  • Имя: Сергей     Время: 26.11.2010 05:00:30
  • а вы не могли бы подсказать, не по этой теме? ели откажитесь я пойму?
  • Имя: SETTER     Время: 26.11.2010 11:40:16
  • На форуме есть раздел "Заказ уроков", это бесплатно. Пишите там, что вас интересует и попробуем разобраться. Предварительно прочитайте правила форума.
  • Имя: Сергей     Время: 01.05.2011 05:07:31
  • А подскажите как выводить картинки и контент вместе на одной странице.
  • Имя: SETTER     Время: 01.05.2011 12:57:34
  • Вопрос не очень понятен. Принципиально нет ни какой разницы что вы выводите на монитор из базы данных. Всё что находится в базе данных и называется данными! Будь то картинка, это ведь всего лишь путь до физического файла картинки, или это абзац текста или заголовок страницы или описание страницы - всё это есть данные. Тут суть в другом, как разработать базу данных, т.е. создать таблицы в БД для правильного распределения этих самых данных. Для этого следует изучить работу СУБД MySQL.
  • Имя: Ромка     Время: 18.08.2011 17:51:36
  • Спасибо, очень помогли ;)
  • Имя: Сергий     Время: 22.09.2011 19:01:29
  • Подскажите как сделать что бы при в воде в гостевой книге сыллки www.ччччччч.чч/ччччч.jpg PHP менял текстовую ссылку на изображение? СПАСИБО! : )
  • Имя: SETTER     Время: 22.09.2011 21:18:18
  • Это есть в уроке. Нужно прописать тег img и в свойства src этого тега, вставить ссылку на изображение. Например так: <img src='http://www.ччччччч.чч/ччччч.jpg' border=0 > Кстати PHP здесь не нужен, только html. Но может быть так написана гостевая, что при вводе разметки html вы не увидите картинку, потому что html запрещён при вводе сообщения.
  • Имя: Сергий     Время: 23.09.2011 07:36:48
  • SETTER Спасибо за ответ. Дело в том что к примеру смайлы можно ставить Пример: // заменяем текстовые смайлики на графические $dt[0]=str_replace(":-))",$s1,$dt[0]); $dt[0]=str_replace(":-)",$s2,$dt[0]); А вот как описать что бы скрипт преобразовывал и отображал картинки не понятно :/ Если сможете подскажите как сделать :)
  • Имя: Сергий     Время: 23.09.2011 07:41:49
  • кстати код такого вида не проходит
  • Имя: SETTER     Время: 23.09.2011 09:37:09
  • На форуме тему откройте и поговорим.
  • Имя: Сергий     Время: 23.09.2011 15:36:36
  • SETTER Спасибо за попытку помочь! :) но я нашел в сети другую гостевую с возможностью вставки изображений : )
  • Имя: SETTER     Время: 23.09.2011 15:41:59
  • ДА, согласен. Наверно это самое правильное решение. К тому же если речь идёт о функционировании сервиса сию минуту, а не об изучения программирования.
  • Имя: zerocool     Время: 09.11.2011 08:47:43
  • А можно ли данным способом вытащьть картинку из mssql если подправить запросы?
  • Имя: Grigorijs     Время: 13.12.2011 20:04:04
  • Это все очень интересно и понятно, но а если у тебя допустим без базы данных Mysql??? А вся информация хранится в формате редактора прямо у тебя на сервере???
  • Имя: SETTER     Время: 13.12.2011 22:13:14
  • Наверно это уже совсем другой урок ), но если честно то я не понял.
  • Имя: Barabashka     Время: 25.12.2011 13:16:11
  • У меня не открывает картинку.... Пишет просто изображение, что делать?(
  • Имя: SETTER     Время: 25.12.2011 16:46:54
  • Проверьте путь до картинки.
  • Имя: Zlodei     Время: 27.02.2012 01:16:01
  • а как например напротив картинки ровно напротив (цент) поставить код php ?
  • Имя: Дима     Время: 01.04.2012 12:30:51
  • что за туфту ты написал
  • Имя: SETTER     Время: 01.04.2012 14:28:15
  • Уважаемый, Дима или Алёша?! Ваш шедевр программирования вы пожелали скрыть от общества, ввиду отсутствия оного. Так что прежде чем тролить на сайте, вооружитесь интеллектом, хотя бы на уровне средней школы.
  • Имя: Lucky     Время: 12.04.2012 09:19:51
  • Здравствуйте. у меня такой вопрос..подскажите как на самой картинке,сделать ссылки куда либо (пример: картинка,а на ней написано кабинет,нажимаешь и уходит в форму кабинет)

  • Copyright © 2009-2012 LPHP.RU