Artículos para la categoría <<PHP>>

Hace unos días portamos los feed de éste blog a feedburner para aprovecharnos de todas las ventajas que ofrece éste servicio, como seguimiento de suscriptores o la suscripciones por email.

En la antigua administración interna de los RSS la imágenes que componían los artículos tenían rutas relativas. En parte decidimos prescindir de rutas absolutas por, si en algún momento cambiabamos de dominio, evitar tener que editar cada uno de los artículos con las nuevas rutas. Pero con feedburner las rutas relativas no son válidas y hemos tenido que improvisar una función que dinámicamente cambie las rutas relativas por absolutas, y así que las imagenes se sigan mostrando en los feed vinculados a feedburner.

La función PHP para reemplazar las rutas relativas por rutas absolutas en imágenes y enlaces internos de determinado contenido y, por consiguiente, la manera de que feedburner muestre nuestras imágenes es la siguiente:

	/*
* Convierte cualquier url de las etiquetas <img> o <a> de relativas en absolutas
*/

public function urlAbsoluta($contenido, $url){
// reemplaza <img src=""/> y <a href=""/> con rutas absolutas
return preg_replace( "/<(a|img)(.*?)(href|src)=('|\")\/(.*?)('|\")/s", "<\\1\\2\\3=\"".$url."/\\5\"", $contenido);
}

Cuando desarrollamos cualquier tipo de software debemos contar con un buen sistema de control de versiones. Subversion (SVN) es el sistema de facto para ésta tarea. En Promineo Studios usamos SVN desde nuestro inicio, sería una locura prescindir de un sistema de control de versiones si se requiere continuidad en el desarrollo.

Hasta hace un mes el control de versiones lo hacíamos con el plugin para SVN que incorpora el IDE Aptana. No nos ha dado problemas, pero requeríamos un cliente gráfico que se integrase directamente en el Sistema Operativo Ubuntu 10.04. RabbitVCS cumplía éste requisito.

Para los que conocen algo sobre clientes gráficos para SVN, RabbitVCS es para ubuntu lo que TortoiseSVN es para Windows. Se integra de maravilla con Gnome y su gestor de archivos Nautilus.

Para instalar RabbitVCS es tan sencillo como introducir los siguientes comandos en la terminal:

sudo add-apt-repository ppa:rabbitvcs/ppa

sudo apt-get update

sudo apt-get install rabbitvcs-core

sudo apt-get install rabbitvcs-nautilus rabbitvcs-thunar rabbitvcs-gedit rabbitvcs-cli

Fuente de la noticia: ubuntugeek.com |fetishcode

Si deseas acortar las direcciones de tu página web puedes usar ésta simple función que utiliza la API del servicio TinyUrl.

 

function tinyUrl($url){  
    return file_get_contents("http://tinyurl.com/api-create.php?url=".$url);  
}
 
//Imprime la url corta  
echo tinyUrl("http://www.promineostudios.com");  

Visto en Webintenta

Habitualmente, para el envío de correo con PHP se utiliza la función mail(), integrada en el propio lenguaje. Sí bien la función cumple con su cometido, son notorias sus limitaciones.

PHPMailer es una clase que cubre las carencias de mail() y facilita el uso de propiedades avanzadas en el envío de correos. Por ejemplo, permite ficheros adjuntos o utilizar un servidor SMTP con autenticación. Gracias a esta última característica podremos enviar correos desde nuestra cuenta Gmail y evitar la instalación de un servidor de correo.

El primer paso para usar PHPMailer es descargar la clase de sourceforge. Nos encontraremos con dos archivos que debemos instanciar en nuestro código, class.phpmailer.php con la clase y class.smtp.php, opcional para utilizar servidores SMTP.

Empezamos con un ejemplo simple usando Sendmail:

require 'class.phpmailer.php';
 
$mail = new PHPMailer();
 
$mail->IsSendmail();//usamos Sendmail, también podemos usar mail() con isMail()
 
$mail->FromName = 'Juan Palomo';
$mail->From = 'remitente@dominio.com';//email de remitente desde donde se envía el correo.
 
$mail->AddAddress('destinatario@dominio.com', 'Destinatario');//destinatario que va a recibir el correo
 
$mail->AddCC('copia@dominio.com', 'copia');//envía una copia del correo a la dirección especificada
 
$mail->Subject = 'Asunto de email';
 
$mail->AltBody = 'cuerpo del mensaje en texto plano';//cuerpo con texto plano
 
$mail->MsgHTML('Mensaje con HTML');//cuerpo con html
 
$mail->AddAttachment("archivo.zip");//adjuntos un archivo al mensaje
 
if(!$mail->Send()) {//finalmente enviamos el email
   echo $mail->ErrorInfo;//si no se envía correctamente se muestra el error que ocurrió
} else {
   echo 'Correo enviado correctamente';
}
 

Enviar un correo usando Gmail y PHPMailer:

require 'class.phpmailer.php';
require 'class.smtp.php'; //incluimos la clase para envíos por SMTP
$mail = new PHPMailer();
 
 
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com"; //servidor smtp
$mail->Port = 465; //puerto smtp de gmail
$mail->Username = 'email@gmail.com';
$mail->Password = 'tucontraseña';
 
$mail->FromName = 'Juan Palomo';
$mail->From = 'remitente@dominio.com';//email de remitente desde donde se envía el correo.
 
$mail->AddAddress('destinatario@dominio.com', 'Destinatario');//destinatario que va a recibir el correo
 
$mail->AddCC('copia@dominio.com', 'copia');//envía una copia del correo a la dirección especificada
 
$mail->Subject = 'Asunto de email';
 
$mail->AltBody = 'cuerpo del mensaje en texto plano';//cuerpo con texto plano
 
$mail->MsgHTML('Mensaje con HTML');//cuerpo con html
 
$mail->AddAttachment("archivo.zip");//adjuntos un archivo al mensaje
 
if(!$mail->Send()) {//finalmente enviamos el email
   echo $mail->ErrorInfo;//si no se envía correctamente se muestra el error que ocurrió
} else {
   echo 'Correo enviado correctamente';
}
 

 

 
Recibe los últimos artículos en tu email
  • bloglines
  • Google
  • Netvibes
  • MyYahoo
  • MyMsn
Artículos Destacados
Autores
Categorías
Archivo

2009 - PromineoStudios - Todos los derechos Reservados

Diseño con estándares web - XHTML CSS - Versión anterior del sitio