Как вставить картинку в php
Здесь могла бы быть ваша реклама
Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006
Откуда: Israel
Помог: 3 раз(а)
Секрет
Теперь, когда вы уже наверняка второпях отправили свой запрос,
я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
даже если первый ответ по теме последуем сразу же.
Само собой я знаю что ответят мне тут же, и если я посмотрю
на сообщения на форуме, то пойму что в общем то я и не ошибаюсь.
Но еще я точно замечу, что очень мало тем, в которых всего два ответа :
вопрос автора и еще два сообщение вида Ответ + Спасибо
После этого приходится начинать уточнять этим неграмотным что мне надо.
Они что, сами читать не умеют? А уточнять приходится.
И иногда пока они переварят то что я им скажу проходит и не одна ночь..
Уверен что если бы я им сказал что у меня есть
фиолетовый квадрат, и нужно превратить его в синий треугольник
и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату
но почему то кисточка не принимала цвет краски в банке,
то на мой вопрос — где взять правильные банки мне бы ответили гораздо быстрее
предложив её открыть, а не тратить еще стольник на жестянку.
Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
Что есть
Что нужно получить
Как я пытался
Почему или что у меня не получилось.
На последок как оно происходит на форумах
Цитата:
Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
Новичок: Чем мне нравиться этот форум — из двух ответов ниодного конкретного. Одни вопросы неподелу!
Старожил: Не нравится — тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
Новичок: Не знаите — лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ.
Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю. А от вас нормального ответа недождёшся.
Прохожий: Самое крепкое дерево — дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
Новичок: Спасибо, братан! То что нужно.
Отредактировано модератором: Uchkuma, 26 Апреля, 2011 — 10:21:12
Вывести картинку через php [дубликат]
Для HTML используйте двойные кавычки, для (PHP, JS) одинарные, тогда не будет таких проблем.
echo '
';
Вот так можно, только не знаю зачем Вам это нужно.
Может я Вас не совсем понял и Вы хотите отрендерить картинку средствами PHP, тогда так:
$url = '/wp-content/uploads/banner-shoppadma-1_300x600-min.jpg'; header('Content-type: image/jpeg'); imagejpeg(imagecreatefromjpeg($url));
Как вставить картинку в PHP

Так понимаю в данном варианте должен сбрасываться весь кеш а не конкретной статьи ? Есть еще такое решение в конфиге nginx добавить:
location ~ /purge(/.*) { fastcgi_cache_purge phpcache "$scheme$request_method$host$1"; >
таком случае можно сбросить кеш нужной статьи если пройти по ссылке site.ru/kategorija/purge/3434-ststja.html
Вот только как прикрутить данный вариант если добавляются комментарии, редактируется статья .
raimikmb | Плагин для сброса FastCGI кеша 5

raimikmb
Плагин для сброса FastCGI кеша
Вчера, 17:16
По логике должен срабатывать сброс если редактировать статью в Ajax окне. Но получаю ошибку:
2024/01/08 17:02:34 [error] 8109#8109: *145 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function clear_fastcgi_cache() in /home/admin/web/www/public_html/engine/cache/system/plugins/51d2d836d1b2ddf58b46871f190ca471.php:1955 Stack trace: #0 /home/admin/web/www/public_html/engine/ajax/controller.php(195): include_once() #1 {main> thrown in /home/admin/web/www/public_html/engine/cache/system/plugins/51d2d836d1b2ddf58b46871f190ca471.php on line 1955" while reading response header from upstream, client: xx.xx.xx.xx, server: www, request: "POST /engine/ajax/controller.php?mod=editnews HTTP/2.0", upstream: "fastcgi://unix:/var/run/php-www.sock:", host: "www", referrer: "statja.html"
New-dev.ru | Модуль по серийного вывода серий 2

New-dev.ru
Модуль по серийного вывода серий
Вчера, 14:15
Mundo | Доп. поле с выбором вариантов методом Dr . 2
Mundo
Доп. поле с выбором вариантов методом Drag’n’Drop
6-01-2024, 18:34
Создание нового уникального дополнительного поля с названием — Выбор из вариантов.
При создании поля в админпанели добавить возможность создания «Сущности» в неограниченном количестве. Каждая новая созданная «Сущность» это — Загруженое изображение (иконка) + Значение поля.
Дополнительное поле должно поддерживать мультивыбор.
Заполнение данного доп. поля в новости осуществляется методом перетаскивание предварительно созданных для этого доп. поля «Сущностей» методом Drag’n’Drop.
После заполнения доп. поля и сохранения новости информация записывается в базу данных в той же последовательности в которой доп. поле было заполнено. Разделителем для значений выступает запятая «,»
Возможно будет необходимо реализовать совместимость с плагином LAZYDEV DLE xField Tab PRO – группирование дополнительных полей по вкладкам. В случае если это потребуется.
Mundo | Доп. поле с выбором вариантов методом Dr . 2
Mundo
Доп. поле с выбором вариантов методом Drag’n’Drop
6-01-2024, 17:40
Кто может реализовать данный функционал, прошу выйти на связь в комментариях или ПМ, готов достойно заплатить. Помимо этой работы есть еще много другой.
Mundo | Как реализовать метод Drag’n’Drop в доп. . 2
Mundo
Как реализовать метод Drag’n’Drop в доп. полях DLE? Кто возьмётся?
6-01-2024, 15:24
Скорее всего не поняли. Нужно создать новый тип дополнительного поля, заполнение которого будет осуществляться методом драг ен дроп, с предварительно загруженными вариантами ответов (вместо текста иконки или картинки) и возможностью запоминать последовательность выбора.
Как пример в Dle уже есть подобный функционал доп поле тип — список есть хак от лайзидева который добавляет множественный выбор к этому полю. Проблема в том, что варианты ответов списка можно добавлять в виде текста, в моем случае вариантов может быть около 40, потому удобнее былобы сделать это визуально иконками/картинками а ещё лучше сохранить возможность запоминать последовательность выбора.
lutskboy | Как реализовать метод Drag’n’Drop в доп. . 2

lutskboy
Как реализовать метод Drag’n’Drop в доп. полях DLE? Кто возьмётся?
5-01-2024, 20:57
может лучше использовать тип галерея? там массово можно загружать. либо я не понял сути вопроса
- Доп. поле с выбором вариантов мет… 2
- Вывод fullstory на главной страни… 6
- Написать парсер одного сайта для … 1
- Модуль по серийного вывода серий 2
- Плагин для сброса FastCGI кеша 3
- Автоматическое добавление даты в … 1
- Закажу шаблон авто тематика 1
- Переезд с WP на DLE (цена ваша) 2
- Ищем технического помощника для д… 2
- Сделать модуль 1
- Создание простого сайта отзывов (… 0
- Кастомные стикер/смайлы для комме… 0
- Бесконечная подгрузка полной ново… 0
- Запоминание открытой вкладки и со… 0
- Авторизация пользователей через Т… 0
- GeoIP — показ информации в зависи… 0
- Push-уведомление через OneSignal.… 0
- Giphy for comments (TinyMCE) 4
- Множественные опросы — модуль Mul… 0
- Расширенные закладки 0
Функции GD и функции для работы с изображениями
The image sharpen function (by Alex R. Austin) provided below seems to be very resource hungry and I couldn’t make it work on two different servers — trying to sharpen a 413 x 413 image I ended up with «Fatal error: Allowed memory size of 8388608 bytes exhausted» or «Internal Server Error» or the script terminated without notice. Because I had no priviliges to change the default memory limit on these servers I started looking for other sharpen functions. I have come across a php Unsharp Mask function which works like a charm on both of the servers I dealt with. It can be found at http://vikjavev.no/hovudsida/umtestside.php.
17 years ago
Representation decimal of a color in hexadecimal for use on functions of library GD.
// Representation hexadecimal
$var = ‘#FFFFFF’ ;
function getRgbFromGd ( $color_hex )
return array_map ( ‘hexdec’ , explode ( ‘|’ , wordwrap ( substr ( $color_hex , 1 ), 2 , ‘|’ , 1 )));
print_r ( getRgbFromGd ( $var ));
// Output: Array ( [0] => 255 [1] => 255 [2] => 255 )
17 years ago
If you happen to need a way to output a Windows BMP file (e.g. when using the PEAR ExcelWriter), feel free to use the following code:
function imagebmp ( $im , $fn = false )
if (! $im ) return false ;
if ( $fn === false ) $fn = ‘php://output’ ;
$f = fopen ( $fn , «w» );
if (! $f ) return false ;
//Image dimensions
$biWidth = imagesx ( $im );
$biHeight = imagesy ( $im );
$biBPLine = $biWidth * 3 ;
$biStride = ( $biBPLine + 3 ) & ~ 3 ;
$biSizeImage = $biStride * $biHeight ;
$bfOffBits = 54 ;
$bfSize = $bfOffBits + $biSizeImage ;
//BITMAPFILEHEADER
fwrite ( $f , ‘BM’ , 2 );
fwrite ( $f , pack ( ‘VvvV’ , $bfSize , 0 , 0 , $bfOffBits ));
//BITMAPINFO (BITMAPINFOHEADER)
fwrite ( $f , pack ( ‘VVVvvVVVVVV’ , 40 , $biWidth , $biHeight , 1 , 24 , 0 , $biSizeImage , 0 , 0 , 0 , 0 ));
$numpad = $biStride — $biBPLine ;
for ( $y = $biHeight — 1 ; $y >= 0 ; — $y )
for ( $x = 0 ; $x < $biWidth ; ++ $x )
$col = imagecolorat ( $im , $x , $y );
fwrite ( $f , pack ( ‘V’ , $col ), 3 );
>
for ( $i = 0 ; $i < $numpad ; ++ $i )
fwrite ( $f , pack ( ‘C’ , 0 ));
>
fclose ( $f );
return true ;
>
?>
It works the same way as regular imagejpeg/imagepng do and only supports GD2.0 true colour bitmaps (which is what’s required by ExcelWriter).
15 years ago
I wrote a simple function to convert an image resource to PGM (portable graymap) in order to feed it to an OCR program. It works just like the rest of the image output functions, and will convert to grayscale for you:
function imagepgm ( $image , $filename = null )
$pgm = «P5 » . imagesx ( $image ). » » . imagesy ( $image ). » 255\n» ;
for( $y = 0 ; $y < imagesy ( $image ); $y ++)
for( $x = 0 ; $x < imagesx ( $image ); $x ++)
$colors = imagecolorsforindex ( $image , imagecolorat ( $image , $x , $y ));
$pgm .= chr ( 0.3 * $colors [ «red» ] + 0.59 * $colors [ «green» ] + 0.11 * $colors [ «blue» ]);
>
>
if( $filename != null )
$fp = fopen ( $filename , «w» );
fwrite ( $fp , $pgm );
fclose ( $fp );
>
else
return $pgm ;
>
>
?>
12 years ago
I know this might look somewhat superfluous to others, but i once came across a situation where i needed a *strong* blur on an image without having ImageMagick installed. Executing the convolution-filter several times on the same image is awfully slow and still doesn’t give a good blur.
The function below accepts a truecolor-image and a blur-factor between 0.0 and 1.0. Beware: It’s still quite slow.
function blurImage ( $srcimg , $blur )
$blur = $blur * $blur ;
$blur = max ( 0 , min ( 1 , $blur ));
$srcw = imagesx ( $srcimg );
$srch = imagesy ( $srcimg );
$dstimg = imagecreatetruecolor ( $srcw , $srch );
$f1a = $blur ;
$f1b = 1.0 — $blur ;
$cr = 0 ; $cg = 0 ; $cb = 0 ;
$nr = 0 ; $ng = 0 ; $nb = 0 ;
$rgb = imagecolorat ( $srcimg , 0 , 0 );
$or = ( $rgb >> 16 ) & 0xFF ;
$og = ( $rgb >> 8 ) & 0xFF ;
$ob = ( $rgb ) & 0xFF ;
$nr = ( $cr * $f1a ) + ( $or * $f1b );
$ng = ( $cg * $f1a ) + ( $og * $f1b );
$nb = ( $cb * $f1a ) + ( $ob * $f1b );
$or = $nr ;
$og = $ng ;
$ob = $nb ;
$rgb = imagecolorat ( $srcimg , 0 , $y );
$or = ( $rgb >> 16 ) & 0xFF ;
$og = ( $rgb >> 8 ) & 0xFF ;
$ob = ( $rgb ) & 0xFF ;
$x = $srcw ;
while ( $x —)
//horizontal
$rgb = imagecolorat ( $srcimg , $x , $y );
$cr = ( $rgb >> 16 ) & 0xFF ;
$cg = ( $rgb >> 8 ) & 0xFF ;
$cb = ( $rgb ) & 0xFF ;
$nr = ( $cr * $f1a ) + ( $or * $f1b );
$ng = ( $cg * $f1a ) + ( $og * $f1b );
$nb = ( $cb * $f1a ) + ( $ob * $f1b );
$or = $nr ;
$og = $ng ;
$ob = $nb ;
//vertical
$rgb = imagecolorat ( $dstimg , $x , $y + 1 );
$vr = ( $rgb >> 16 ) & 0xFF ;
$vg = ( $rgb >> 8 ) & 0xFF ;
$vb = ( $rgb ) & 0xFF ;
$nr = ( $nr * $f1a ) + ( $vr * $f1b );
$ng = ( $ng * $f1a ) + ( $vg * $f1b );
$nb = ( $nb * $f1a ) + ( $vb * $f1b );
$vr = $nr ;
$vg = $ng ;
$vb = $nb ;
$srcimg = imagecreatefromjpeg ( «test.jpg» );
$dstimg = blurImage ( $srcimg , 0.2 );
header ( ‘Content-type: image/jpeg’ );
echo( imagejpeg ( $dstimg ) );
exit();
7 years ago
This is an example of get high resolution images.
/**
* Class name : resizeImage
* Created by : wang
* Description : This class is to resize the image from original size to new size
*/
class resizeImage
/**
* Function name : resize_img
* Description : This function is to resize image
* @param : $origimg variable is the original image
* @param : $newimg variable is the new image
* @param : $w variable is the width of image
* @param : $f variable is the height of image
*/
public function resize_img ( $origimg , $newimg , $w , $h ) $info = getimagesize ( $origimg );
$mime = $info [ ‘mime’ ];
// Make sure that the requested file is actually an image
if( substr ( $mime , 0 , 6 ) != ‘image/’ )
header ( ‘HTTP/1.1 400 Bad Request’ );
return ‘Error: requested file is not an accepted type: ‘ . $origimg ;
exit();
>
// Check they extention of image
$extension = image_type_to_extension ( $info [ 2 ]);
if( strtolower ( $extension ) == ‘.png’ ) $img = $this -> resize_imagepng ( $origimg , $w , $h );
imagepng ( $img , $newimg );
imagedestroy ( $img );
>elseif( strtolower ( $extension ) == ‘.jpeg’ ) $img = $this -> resize_imagejpeg ( $origimg , $w , $h );
imagejpeg ( $img , $newimg );
imagedestroy ( $img );
>elseif( strtolower ( $extension == ‘.gif’ )) $img = $this -> resize_imagegif ( $origimg , $w , $h );
imagegif ( $img , $newimg );
imagedestroy ( $img );
>
>
/**
* End function name : resize_img
*/
/**
* Function name : resize_imagepng
* Description : This function is to resize png image
* @param : $file variable is the original image
* @param : $w variable is the width of image
* @param : $f variable is the height of image
*/
private function resize_imagepng ( $file , $w , $h ) list( $width , $height ) = getimagesize ( $file );
$src = imagecreatefrompng ( $file );
$dst = imagecreatetruecolor ( $w , $h );
imagecopyresampled ( $dst , $src , 0 , 0 , 0 , 0 , $w , $h , $width , $height );
return $dst ;
>
/**
* End function name : resize_imagepng
*/
/**
* Function name : resize_imagejpeg
* Description : This function is to resize jpeg image
* @param : $file variable is the original image
* @param : $w variable is the width of image
* @param : $f variable is the height of image
*/
private function resize_imagejpeg ( $file , $w , $h ) list( $width , $height ) = getimagesize ( $file );
$src = imagecreatefromjpeg ( $file );
$dst = imagecreatetruecolor ( $w , $h );
imagecopyresampled ( $dst , $src , 0 , 0 , 0 , 0 , $w , $h , $width , $height );
return $dst ;
>
/**
* End function name : resize_imagejpeg
*/
/**
* Function name : resize_imagegif
* Description : This function is to resize gif image
* @param : $file variable is the original image
* @param : $w variable is the width of image
* @param : $f variable is the height of image
*/
private function resize_imagegif ( $file , $w , $h ) list( $width , $height ) = getimagesize ( $file );
$src = imagecreatefromgif ( $file );
$dst = imagecreatetruecolor ( $w , $h );
imagecopyresampled ( $dst , $src , 0 , 0 , 0 , 0 , $w , $h , $width , $height );
return $dst ;
>
/**
* End function name : resize_imagegif
*/
>
/**
* End class name : resizeImage
*/
?>