-Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â php

 -Ïîäïèñêà ïî e-mail

 

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 20.09.2007
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 41

Âûáðàíà ðóáðèêà Ñêëàä ãîòîâûõ ðåøåíèé.


Äðóãèå ðóáðèêè â ýòîì äíåâíèêå: Ñòàòüè(1), Ïîëåçíîñòè(1), Íîâîñòè(0), Âîïðîñû(3)

PHP GD 2x ðåñàéç

Äíåâíèê

Ñóááîòà, 16 Ôåâðàëÿ 2008 ã. 23:33 + â öèòàòíèê
?????? (php) âñå çàïèñè àâòîðà

Çàäà÷à:
1. Âçÿòü èçîáðàæåíèå N-ðàçìåðà.
2. Cîçäàòü ê áîëüøîìó èçîáðàæåíèå ìàëåíüêóþ ïðîïîðöèîíàëüíóþ ïðåâüþøêó.
3. Íàëîæèòü íà áîëüøîå èçîáðàæåíèå(èçíà÷àëüíîãî ðàçìåðà), ëîãîòèï ôîðìàòà PNG 24bit
4. Ñîõðàíèòü 2 èçîáðàæåíèÿ â ôîðìàòå JPEG: 1. SMALL(100x100) 2. BIG(STANDART SIZE)+LOGO


Íà÷í¸ì:
 Ñðàçó îïðåäåëèìñÿ íàäî-ëè íàì ýòî... =) íàäî? îòëè÷íî! ïîåõàëè.

Íàì ïîòðåáóåòñÿ: áîëüøàÿ êàðòèíêà(íà âàø âêóñ è öâåò), ëîãîòèï èëè ÷òî-òî ïîäîáíîå â ôîðìàòå PNG 24bit, Ðåäàêòîð è ìèíèìàëüíî òåðïåíèÿ =).


Îòêðûâàåì ðåäàêòîð, åñëè âû ïîëüçóåòåñü áëîêíîòîì(NotePad) ìíå âàñ èñêðåííå æàëü =\
Íà÷í¸ì ðàçæ¸âûâàòü =):
$filename = "";
$filename_logo = "";

$filename - Ïóòü äî êàðòèíêè, êîòîðóþ ìû ñîáñòâåííî áóäåì êëîíèðîâàòü è óìåíüøàòü.
$filename_logo - Ïóòü äî ëîãîòèïà, êîòîðûé ìû ñîáåðàåìñÿ íàêëàäûâàòü íà áîëüøîå èçîáðàæåíèå.
// header('Content-type: image/jpeg');

Ýòà ñòðî÷êà íàì âðÿòëè ïîíàäîáèòñÿ, à â íåêîòîðûõ âåùàõ ìîæåò äàæå ïîìåøàòü, íî åñëè ìû õîòèì âûâåñòè èçîáðàæåíèå íà ýêðàí, òî áåç íå¸ íåîáîéòèñü. Îíà îïîâåùàåò áðàóç î âûâîäå èçîáðàæåíèÿ íà ýåêðàí è íå áîëåå ÷åãî ëèøíåãî...
$info_img = getimagesize($filename);

 ïåðåìåííóþ $info_img çàñîâûâàåì ôóíêöèþ GetImageSize() êîòîðàÿ îïðåäåëÿåò èíôîðìàöèþ êàñàòåëüíî íàøåãî èçîáðàæåíèÿ è çàñîâûâàåò âñþ èíôîðìàöèþ â ìàññèâ ïî ÿ÷åéêàì [0],[1],[2] è .....ò.ä..  äàííîì ñëó÷àå íàñ èíòåðåñóåò òîëüêî 2 ÿ÷åéêè [0] è [1], ÿ÷åéêà [0] - õðàíèò äàííûå î øèðèíå èçîáðàæåíèÿ à ÿ÷åéêà [1] - õðàíèò èíôîðìàöèþ î âûñîòå èçîáðàæåíèÿ.
list($width, $height) = $info_img;

Äàáû íàì áûëî óäîáíåé îïðåäåëÿòüñÿ â ÿ÷åéêàõ øèðèíû è âûñîòû, ñ ïîìîùüþ ôóíêöèè list() ìû ðàñïðåäèëèì $info_img[0] íà $width, à info_img[1] íà $height.
$small_size = 100;

Ñîçäà¸ì ïåðåìåííóþ â êîòîðîé áóäåì õðàíèòü äàííûå î ðàçìåðàõ áóäóùåé ïðåâüþøêè â ïèêñèëÿõ.
if($width > $height) {
$s_width = $small_size;
$s_height = $small_size*($height/$width);
}
if($width < $height) {
$s_width = $small_size*($width/$height);
$s_height = $small_size;
}
if($width == $height) {
$s_width = $small_size;
$s_height = $small_size;
}

Ïîäîøëè ê áîëåå èíòåðåñíîìó ñîäåðæàíèþ êîäà... Âîïåðâûõ íàì íàäî îïðåäåëèòü ÷òî ó íàøåãî èçîáðàæåíèÿ áîëüøå âûñîòà èëè øèðèíà è ñëåäîâàòåëüíî âûäàòü ðàçíûå çíà÷åíèÿ äëÿ ïðåäñòàâëåííûé ïåðåìåííûõ(×òî-áû ïîëó÷èâøèåñÿ ïðåâüþøêà áûëà ïðîïîðöèîíàëüíà), à èìåííî äëÿ:
$s_width - ïåðåìåííàÿ ñ äàííûìè øèðèíû ìàëåíüêîãî èçîáðàæåíèÿ(SMALL);
$s_height - ïåðåìåííàÿ ñ äàííûìè âûñîòû ìàëåíüêîãî èçîáðàæåíèÿ(SMALL);
$small_image = imagecreatetruecolor($s_width, $s_height);
$big_image = imagecreatetruecolor($width, $height);

Ýòèìè ñòðî÷êàìè ìû ñîçäà¸ì 2 íîâûõ èçîáðàæåíèÿ:
$small_image - ìàëåíüêîå èçîáðàæåíèå(ïðåâüþøêà) ðàçìåðû êîòîðîãî íå ïðåâûøàþò 100x100;
$big_image - áîëüøîå èçîáðàæåíèå, èçíà÷àëüíîãî ðàçìåðà;
if($info_img['mime'] == 'image/gif') {
$image = imagecreatefromgif($filename);
}
if($info_img['mime'] == 'image/jpeg') {
$image = imagecreatefromjpeg($filename);
}
if($info_img['mime'] == 'image/png') {
$image = imagecreatefrompng($filename);
}

 ýòèõ ñòðî÷êàõ êîäà, íàì íàäî îïðåäèëèòü òèï çàãðóæåííîãî íàìè ôàéëà, â äàííîì ñëó÷àå ýòî ìîæåò áûòü JPG/JPEG,GIF,PNG;
imagecopyresampled($small_image, $image, 0, 0, 0, 0, $s_width, $s_height, $width, $height);
imagecopyresampled($big_image, $image, 0, 0, 0, 0, $width, $height, $width, $height);

 ýòîé ÷àñòè êîäà ìû óìåíüøàåì îäíó êîïèþ èçîáðàæåíèÿ äî ïðåäåëîâ 100x100(px)
2þ îñòàâëÿåì íåèçìåííîé
imagealphablending($image, true);
$logo_image = imagecreatefrompng($filename_logo);
$logo_width = ImageSX($logo_image);
$logo_height = ImageSY($logo_image);
imagecopy($big_image, $logo_image, $width-($logo_width+10), $height-($logo_height+10), 0, 0, $logo_width, $logo_height);

Îñòàëàñü ñàìàÿ ìàëîñòü, íàì íàäî íàëîæèòü íà áîëüøóþ êàðòèíêó($big_image) íàø ïðîçðà÷íûõ ëîãîòèï PNG.
ôóíêöèÿ ImageAlphaBlending() äà¸ò âîçìîæíîñòü äåëàòü íàëîæåíèå ïðîçðà÷íûõ èçîáðàæåíèé...
$logo_image - ñ ïîìîùüþ ôóíêöèè ImageCreateFromPNG ñîçäà¸ì èçîáðàæåíèå ñ ëîãîòèïîì.
 ïåðåìåííûå $logo_width è $logo_height ñ ïîìîùüþ ôóíêöèé ImageSX(ðàçìåð ïî X - øèðèíà) è ImageSY(ðàçìåð ïî Y - âûñîòà), ïèõàåì äàííûå îòíîñèòåëüíî ðàçìåðîâ ëîãîòèïà...
Ñ ïîìîùüþ ôóíêöèè ImageCopy() ìû íàêëàäûâàåì èçîáðàæåíèå ëîãîòèïà íà áîëüøîå èçîáðàæåíèå, â ïðàâûé íèæíèé óãîë.
imagejpeg($small_image, "picture/small_picture.jpg";, 80);
imagejpeg($big_image, "picture/big_picture.jpg", 80);


Âîò óæå è êîíåö áëèçîê... Ñîõðàíåíèå äâóõ êàðòèíîê: 1. Ìàëåíüêàÿ ïðåâüþøêà 100x100 2. Êàðòèíêà èçíà÷àëüíîãî ðàçìåðà íî ñ ëîãîòèïîì â ïðàâîì íèæíåì óãëó.
Íåìíîãî áëèæå ðàñìîòðèì ñòðî÷êó  "imagejpeg($image, "picture.jpg", 80)":
Ñàìà ôóíêöèÿ ImageJpeg() - âûäà¸ò îêîí÷àòåëüíîå èçîáðàæåíèå â ôîðìàòå JPEG/JPG
$image - Ýòî èçîáðàæåíèå êîòîðîå âûâîäèòñÿ íà ýêðàí èëè ñîõðîíÿåòñÿ.
"picture.jpg" - ïóòü è èìÿ êàðòèíêè êóäà ìû õîòèì îñóùåñòâèòü ñîõðàíåíèå èçîáðàæåíèÿ.
80 - ýòî êà÷åñòâî âûõîäÿùåãî èçîáðàæåíèå JPEG áàçèðóåòüñÿ îò 1 äî 100.
Âîò ñîáñòâåííî è âñ¸.... =) Íà âñÿêèé ïîæàðíûé, åñëè âàì èñêðåííå âïàäëó ÷èòàòü ìîè óòîìèòåëüíûå îïèñàíèÿ, âîò âàì ãîòîâûé ëèñòèíã êîäà:








 <?php
$filename 
= ""; // ïóòü äî êàðòèíêè
$filename_logo = ""; // ïóòü äî ëîãîòèïà PNG
$small_size = 100; // ìàêñèìàëüíûé ðàçìåð ïðåâüþøêè

$info_img = getimagesize($filename); // ñîáåðàåì èíôîðìàöèþ èçîáðàæåíèÿ
list($width, $height) = $info_img;

// îïðåäåëÿåì ïðîïîðöèè
if($width > $height) {
$s_width = $small_size;
$s_height = $small_size*($height/$width);
}
if(
$width < $height) {
$s_width = $small_size*($width/$height);
$s_height = $small_size;
}
if(
$width == $height) {
$s_width = $small_size;
$s_height = $small_size;
}

$small_image = imagecreatetruecolor($s_width, $s_height);
$big_image = imagecreatetruecolor($width, $height);


// îïðåäåëÿåì òèï èçîáðàæåíèÿ 
if($info_img['mime'] == 'image/gif') {
$image = imagecreatefromgif($filename);
}
if(
$info_img['mime'] == 'image/jpeg') {
$image = imagecreatefromjpeg($filename);
}
if(
$info_img['mime'] == 'image/png') {
$image = imagecreatefrompng($filename);
}

imagecopyresampled($small_image, $image, 0, 0, 0, 0, $s_width, $s_height, $width, $height);
imagecopyresampled($big_image, $image, 0, 0, 0, 0, $width, $height, $width, $height);

// íàêëàäûâàåì ëîãî íà áîëüøîå èçîáðàæåíèå
imagealphablending($image, true); 
$logo_image = imagecreatefrompng($filename_logo); 
$logo_width = ImageSX($logo_image); 
$logo_height = ImageSY($logo_image); 
imagecopy($big_image, $logo_image, $width-($logo_width+10), $height-($logo_height+10), 0, 0, $logo_width, $logo_height); 

// ñîõðàíÿåì 2 èçîáðàæåíèÿ
imagejpeg($small_image, "picture/small_picture.jpg", 80);
imagejpeg($big_image, "picture/big_picture.jpg", 80); 
?>

 (500x120, 26Kb)
Ðóáðèêè:  Ñêëàä ãîòîâûõ ðåøåíèé

Îòïðàâêà ïèñåì íà PHP ñ àòòà÷åì

Äíåâíèê

Âòîðíèê, 13 Íîÿáðÿ 2007 ã. 14:17 + â öèòàòíèê
MniD (php) âñå çàïèñè àâòîðà Áóäåì îòïðàâëÿòü ïèñüìà íà PHP ñ àòòà÷åì:

Èñõîäíûé êîä íàøåãî ñêðèïòà:
PHP:

$from 
= "admin"; // Îò êîãî
$to = "tiger1989@mail.ru"; // Êîìó
$filename = "certificates/image.jpg"; // Ïîëíîå èìÿ ôàéëà
$subj = 'TIGER IMAGE'; // Òåìà ñîîáùåíèÿ
$text = 'Hello from tigercms.com'; // Òåëî ñîîáùåíèÿ
$f = fopen($filename,"rb"); // Îòêðûâàåì è ÷èòàåì áèíàðíî ôàéë $filename
$un = strtoupper(uniqid(time()));
$head = "From: $fromn"; // Ñîçäàåì çàãîëîâêè íàøåãî ïèñüìà
$head .= "To: $to ";
$head .= "Subject: $subj ";
$head .= "X-Mailer: PHPMail Tool ";
$head .= "Reply-To: $from ";
$head .= "Mime-Version: 1.0 ";
$head .= "Content-Type:multipart/mixed;";
$head .= "boundary="----------".$un."" ";
$zag = "------------".$un." Content-Type:text/html; ";
$zag .= "Content-Transfer-Encoding: 8bit $text ";
$zag .= "------------".$un." ";
$zag .= "Content-Type: application/octet-stream;";
$zag .= "name="".basename($filename)."" ";
$zag .= "Content-Transfer-Encoding:base64 ";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename="".basename($filename)."" ";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))." "; // Êîäèðóåì ñòðîêó
// â base64, äåëÿ ôàéë íà íåáîëüøèå «êóñêè» ôóíêöèåé "chunk_split"

mail("$to", "$subj", $zag, $head); // Ïîñûëàåì ïèñüìî ôóíêöèåé mail()
font>



Íó âîò ñîáñòâåííî è âñå.

Äàííûé êóñîê êîäà âû ñ ëåãêîñòüþ ìîæåòå «ïðèêðóòèòü» ê ñâîåìó äâèæêó.

Âñå íåîáõîäèìûå ïàðàìåòðû âûíåñåíû â ïåðåìåííûå, çàïîëíèâ çíà÷åíèÿ êîòîðûõ, ìîæíî èñïîëüçîâàòü ñêðèïò.
Ðóáðèêè:  Ñêëàä ãîòîâûõ ðåøåíèé
Ïîëåçíîñòè
Ñòàòüè


 Ñòðàíèöû: [1]