160 likes | 263 Views
Mòduls amb PHP. Carles Gonzàlez Sotorres. Index. Enviament d’e-mails. La biblioteca GD. Enviament d’e-mails. S’utilitza la funció mail: bool mail ( string email, string assumpte, string missatge [, string capçaleres_addicionals [, string parametres_addicionals]] )
E N D
Mòduls amb PHP Carles Gonzàlez Sotorres
Index • Enviament d’e-mails. • La biblioteca GD.
Enviament d’e-mails. • S’utilitza la funció mail: bool mail( string email, string assumpte, string missatge [, string capçaleres_addicionals [, string parametres_addicionals]] ) • email: Formats: • usuari@exemple.com • usuari@exemple.com, altreusuari@exemple.com • Usuari <usuari@exemple.com> • Usuari <usuari@exemple.com>, Altre Usuari <altreusuari@exemple.com> • assumpte: Assumpte del correu enviat. No deu contenir caràcters de fi de línia. • missatge: Cada línia separada per un salt de línia. Recomanable no excedir els 70 caràcters per línia.
Enviament d’e-mails(2). • Capçaleres_addicionals: Son insertades al final de la capçalera del correu. Permet la inclusió de la capçalera “From”. • Exemple: <? // e-mail de destí $email = ‘correu@exemple.com’; // Assumpte $assumpte = ‘Assumpte del missatge’;// Missatge a enviar $missatge = “Hola:\nEs un exemple.\nAdeu.";// En cas que qualsevol línia tinga més de 70 caràcters, usaríem wordwrap() $missatge = wordwrap($missatge, 70);// Enviar mail(“$email”,”$assumpte”, “$missatge”, ‘From: exemple@proves.net’); ?>
Enviament d’e-mails(3). • Enviament de correu HTML. • S’ha de definir la capçalera Content-type. <? // Assumpte$assumpte = ‘Correu HTML';// Missatge$missatge = '<html><head><title>Títol</title></head><body> Aci escriuriem el cos del nostre missatge </body></html>';// Definim les capçaleres: $capçaleres = 'MIME-Version: 1.0' . "\n";$capçaleres .= 'Content-type: text/html; charset=iso-8859-1' . "\n";// Capçaleres addicionals$cabeceras .= 'From: Exemple <correu@exemple.com>' . "\r\n";// Enviem el correu mail (‘desti@exemple.com’, $asumpte, $missatge, $capçaleres);?>
La biblioteca GD. • La biblioteca GD es un conjunt de funcions destinades a operar amb imatges. • Permet: • Creació de botons dinàmics. • Tractament automatitzat d’imatges rebudes dels usuaris. • Actualització més flexible. • Estalvi de memòria. • Etc.
La biblioteca GD (2). • ¿Què he de fer per a utilitzar-la? (Windows) • Instalar el arxiu php_gd.dll, que es pot trobar en http://www.boutell.com/gd/ • Activar el mòdul de la biblioteca en el arxiu de configuració php.ini, insertant en aquest la línia de codi: extension=php_gd.dll
La biblioteca GD (3). • Funcions més comuns: • Funcions de creació d’imatges: imagecreate($x,$y) -> Crea una funció de les dimensions donades. imagecreatefromgif($arxiu) -> Crea una imatge que té de fons un arxiu .gif imagecreatefrompng($arxiu) -> Crea una imatge que té de fons un arxiu .png imagecreatefromjpeg($arxiu) -> Crea una imatge que té de fons un arxiu .jpeg imagegif($im[,$arxiu]) -> Mostra la imatge creada en el navegador i la guarda en un arxiu .gif imagepng(im[,$arxiu]) -> Mostra la imatge creada en el navegador i la guarda en un arxiu .png imagejpeg(im[,$arxiu]) -> Mostra la imatge creada en el navegador i la guarda en un arxiu .jpeg imagedestroy($im) -> Allibera la memòria opupada per la imatge.
La biblioteca GD (4). • Funcions informatives: getimagesize($im) -> Genera un array amb la informació de la imatge. imagesx($im) -> Torna la amplària de la imatge. imagesy($im) -> Torna l’altura de la imatge. imagecolorstotal($im) -> Torna el nº total de colors empleats. imagettfbbox($talla,$angle,$tf,$text) -> Torna un array amb les coordenades de les esquines d’un quadre imaginari que envolta text de font(tipus True Type)
La biblioteca GD (5). • Funcions gràfiques: imagecolorallocate($im,255,255,255) -> Defineix un color en escala RGB. imagecolorat($im,$x,$y) -> Defineix el color a partir del color en el punt x,y. imagecolortransparent($im,$col) -> Defineix un color de la paleta com a transparent. imagerectangle($im,$x1,$y1,$x2,$y2) -> Traça un rectangle definit per les coordenades de les esquines. imagesetpixel($im,$x,$y,$col) -> Dibuixa un píxel de color $col. imagefill($im,$x,$y,$col) -> Acoloreix una superfície amb color $col. imagestring($im,$talla,$x,$y,$text,$col) -> Escriu un text amb una font de tamany $talla.
La biblioteca GD (6). • Exemple: <?header(‘Content-type: image/jpeg’);$imatge = ‘imatge.jpg’;// Creem una imatge des d’un arxiu .jpeg$img2 = imagecreatefromjpeg($imatge);$percent= 0.5; // S’obtenen les noves dimensionslist($width, $height) = getimagesize($filename);$w1 = $width * $percent;$h2 = $height * $percent;// Creem una segona imatge de la meitat de grandària que l’arxiu .jpeg$img1 = imagecreatetruecolor($w1,$h1);// Escalem la imatge .jpeg sobre la imatge novaimagecopyresized($img1,$img2,0,0,0,0,$w1,$h1,300,225);// També es podria usar la funcio imagecopyresampled amb iguals parametres // Mostrem per pantalla la imatge original i la resultant imagejpeg($img2); imagejpeg($img1);// Destruïm les imatgesimagedestroy($img2);imagedestroy($img1);?>
La biblioteca GD (7). Amb l’exemple anterior se’ns mostraria per pantalla:
La biblioteca GD (8). • Altre exemple: <? header("Content-type: image/jpeg"); //Imatge que volem crear, de 140 x 140 pixels$img1 = imagecreatetruecolor(140,140); //Imatge original $img2 = imagecreatefromjpeg("imagen.jpg"); //Copiem sobre una imatge de 30 x 30 píxelsimagecopyresized($img1,$img2,0,0,123,40,140,140,30,30); // Mostrem les imatges imagejpeg($img2);imagejpeg($img1); // Destruïm les imatgesimagedestroy($img2);imagedestroy($img1);?>
La biblioteca GD (9). ... I el resultat que ens mostraria:
Bibliografía. • http://www.desarrolloweb.com • http://www.php.net