1 / 16

Mòduls amb PHP

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]] )

watson
Download Presentation

Mòduls amb PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mòduls amb PHP Carles Gonzàlez Sotorres

  2. Index • Enviament d’e-mails. • La biblioteca GD.

  3. 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.

  4. 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’); ?>

  5. 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);?>

  6. 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.

  7. 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

  8. 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.

  9. 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)

  10. 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.

  11. 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);?>

  12. La biblioteca GD (7). Amb l’exemple anterior se’ns mostraria per pantalla:

  13. 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);?>

  14. La biblioteca GD (9). ... I el resultat que ens mostraria:

  15. Bibliografía. • http://www.desarrolloweb.com • http://www.php.net

  16. Dubtes / Preguntes ¿ ?

More Related