Clase PHP para generar documentos PDF a partir de HTML
1 COMENTARIO - Publicado hace 6 meses - Clasificado en: PHP, CLASESmPDF es una clase de PHP que genera archivos PDF a partir de HTML codificado en UTF-8. Se basa en FPDF, HTML2FPDF, y UFPDF, con una serie de mejoras. La gran mejora aportada respecto a las anteriormente mencionadas librerías, es que permite generar archivos PDF "al vuelo", a partir de HTML, con soporte a estilos CSS.
Algunas entradas relacionadas:
- PHP classes
- Easy Google Maps: clase PHP para facilitar el uso de la API de Google Maps
- PHP DocWriter
- Clase para acceder a Google Weather
- Clase para enviar correos con PHP
- Crear hojas de cálculo Excel con PHP
- Obtener un listado de todas las clases disponibles en PHP
Clase para acceder a Google Weather
1 COMENTARIO - Publicado hace 6 meses - Clasificado en: PHP, SNIPPETS, CLASES, TIPS, GOOGLEInteresante clase para acceder de un modo sencillo al servicio metereológico de Google.
Ejemplo:
<?php
class GoogleWeatherAPI {
private $city_code = '';
private $city = '';
private $domain = 'www.google.com';
private $prefix_images = '';
private $current_conditions = array();
private $forecast_conditions = array();
private $is_found = true;
/**
* Class constructor
* @param $city_code is the label of the city
* @param $lang the lang of the return weather labels
* @return ...
*/
function __construct ($city_code,$lang='fr') {
$this->city_code = $city_code;
$this->prefix_images = 'http://'.$this->domain;
$this->url = 'http://'.$this->domain.'/ig/api?weather='.urlencode($this->city_code).'&hl='.$lang;
$content = utf8_encode(file_get_contents($this->url));
$xml = simplexml_load_string($content);
if(!isset($xml->weather->problem_cause)) {
$xml = simplexml_load_string($content);
$this->city = (string)$xml->weather->forecast_information->city->attributes()->data;
$this->current_conditions['condition'] = (string)$xml->weather->current_conditions->condition->attributes()->data;
$this->current_conditions['temp_f'] = (string)$xml->weather->current_conditions->temp_f->attributes()->data;
$this->current_conditions['temp_c'] = (string)$xml->weather->current_conditions->temp_c->attributes()->data;
$this->current_conditions['humidity'] = (string)$xml->weather->current_conditions->humidity->attributes()->data;
$this->current_conditions['icon'] = $this->prefix_images.(string)$xml->weather->current_conditions->icon->attributes()->data;
$this->current_conditions['wind_condition'] = (string)$xml->weather->current_conditions->wind_condition->attributes()->data;
foreach($xml->weather->forecast_conditions as $this->forecast_conditions_value) {
$this->forecast_conditions_temp = array();
$this->forecast_conditions_temp['day_of_week'] = (string)$this->forecast_conditions_value->day_of_week->attributes()->data;
$this->forecast_conditions_temp['low'] = (string)$this->forecast_conditions_value->low->attributes()->data;
$this->forecast_conditions_temp['high'] = (string)$this->forecast_conditions_value->high->attributes()->data;
$this->forecast_conditions_temp['icon'] = $this->prefix_images.(string)$this->forecast_conditions_value->icon->attributes()->data;
$this->forecast_conditions_temp['condition'] = (string)$this->forecast_conditions_value->condition->attributes()->data;
$this->forecast_conditions []= $this->forecast_conditions_temp;
}
} else {
$this->is_found = false;
}
}
function getCity() {
return $this->city;
}
function getCurrent() {
return $this->current_conditions;
}
function getForecast() {
return $this->forecast_conditions;
}
function isFound() {
return $this->is_found;
}
}
$gweather = new GoogleWeatherAPI('valencia','es');
if($gweather->isFound()) {
echo '<pre>'; print_r($gweather->getCity()); echo '</pre>';
echo '<pre>'; print_r($gweather->getCurrent()); echo '</pre>';
echo '<pre>'; print_r($gweather->getForecast()); echo '</pre>';
}
?>
Ver ejemplo en funcionamiento » »
Algunas entradas relacionadas:
- 37 expresiones regulares testadas para PHP y Javascript
- Mostrar una imagen aleatoria con PHP
- Poner un límite de tiempo a los scripts en PHP
- Mostrar trackbacks con PHP
- Exportar tablas HTML a Excel con PHP y JQuery
- Función para generar passwords aleatorios
- Función PHP para forzar la descarga de archivos
Crear hojas de cálculo Excel con PHP
10 COMENTARIOS - Publicado hace 12 meses - Clasificado en: PHP, TUTORIALES, CLASES, EXCELExisten varias formas de exportar a Excel mediante PHP. En este post vamos a servirnos de la clase Excel Writer. La clase es muy sencilla de utilizar y nos puede permitir realizar el proceso de exportación de una tabla de nuestra base de datos sin grandes complicaciones. Primero veamos un ejemplo básico muy ilustrativo del funcionamiento de la clase.
<php
include("excelwriter.inc.php");
$excel=new ExcelWriter("FicheroExcel.xls");
if($excel==false) {
echo $excel->error;
}
// PRIMERA FORMA DE ESCRITURA DE FILAS
$myArr=array("CeldaA1","CeldaB1","CeldaC1","CeldaD1");
$excel->writeLine($myArr);
$myArr=array("CeldaA2","CeldaB2","CeldaC2","CeldaD2");
$excel->writeLine($myArr);
//SEGUNDA FORMA DE ESCRITURA DE FILAS
$excel->writeRow();
$excel->writeCol("CeldaA3");
$excel->writeCol("CeldaB3");
$excel->writeCol("CeldaC3");
$excel->writeCol("CeldaD3");
$excel->writeRow();
$excel->writeCol("CeldaA4");
$excel->writeCol("CeldaB4");
$excel->writeCol("CeldaC4");
$excel->writeCol("CeldaD4");
$excel->close();
echo "Los datos se han grabado con éxito.";
?>
Descargar ejemplo completo » »
Supongamos ahora que tenemos una tabla con una serie de comercios y deseamos poder exportarla, para uso propio o porque el cliente nos lo ha pedido, a una hoja de cálculo Excel. Un ejemplo de utilización de la clase Excel Writer para exportar datos de una tabla de una base de datos MySQL sería:
<?php
include("includes/excelwriter.inc.php");
$excel=new ExcelWriter("galeria_comercial.xls");
if($excel==false) {
echo $excel->error;
}
//Escribimos la primera fila con las cabeceras
$myArr=array("Nombre Comercial","Direccion","CP","Localidad","Telefono","Email");
$excel->writeLine($myArr);
//REALIZAMOS LA CONSULTA
$dbhost = "localhost";
$dbuser = "usuario";
$dbpassword = "password";
$dbname = "base_de_datos";
$db2 = mysql_connect($dbhost, $dbuser, $dbpassword) or die("Connection Error: " . mysql_error());
mysql_select_db($dbname) or die("Error al conectar a la base de datos.");
$sql2 = "SELECT * FROM ComerciosGaleria";
$sql2 .= " ORDER BY NombreComercial ASC ";
$result2 = mysql_query( $sql2) or die("No se puede ejecutar la consulta: ".mysql_error());
//Escribimos todos los registros de la base de datos
//en el fichero EXCEL
while($Rs2 = mysql_fetch_array($result2)) {
$myArr=array(
$Rs2['Nombre_Comercial'],
$Rs2['Direccion'],
$Rs2['CodigoPostal'],
$Rs2['Localidad'],
$Rs2['Telefono'],
$Rs2['Email']
);
$excel->writeLine($myArr);
//Otra forma es
//$excel->writeLine($Rs2);
//De este modo volcariamos todos los registros seleccionados
//Sin necesidad de colocarlos/filtrar previamente en $myArr
}
$excel->close();
//Abrimos el fichero excel que acabamos de crear
header("location:galeria_comercial.xls");
?>
Algunas entradas relacionadas:
- Mostrar tablas y campos de una base de datos MySQL con PHP
- Listar, filtrando por extensión, los ficheros de una carpeta con PHP
- Easy Google Maps: clase PHP para facilitar el uso de la API de Google Maps
- Todos los archivos de una carpeta junto con su extensión y tamaño en PHP
- Forzar la descarga de un fichero con PHP
- Conseguir la IP real con PHP
- Forzar la descarga de imágenes con PHP
Easy Google Maps: clase PHP para facilitar el uso de la API de Google Maps
12 COMENTARIOS - Publicado hace 12 meses - Clasificado en: PHP, TUTORIALES, CLASESEasy Google Maps es una clase para PHP que, como su nombre indica facilita la inclusión de mapas a través de Google Maps en un sitio web. Lo primero que deberemos hacer, para poder utilizar la API de Google Maps es obtener una key o clave para el dominio en el que pensemos utilizar la API.
Una vez tenemos una key podemos invocar un mapa de un modo tan sencillo como:
<?php
require'EasyGoogleMap.class.php';
$key ="XXXXXXXXXX";
$gm = & new EasyGoogleMap($key);
$gm->SetMapZoom(15);
$gm->SetAddress("Colon 22, Valencia");
$gm->SetInfoWindowText("Esta es la primera dirección");
$gm->SetAddress("Periodista Azzati 7, Valencia");
$gm->SetInfoWindowText("Esta es la segunda dirección");
?>
<html>
<head>
<title>EasyGoogleMap</title>
<?php echo $gm->GmapsKey(); ?>
</head>
<body>
<?php echo $gm->MapHolder(); ?>
<?php echo $gm->InitJs(); ?>
<?php echo $gm->UnloadMap(); ?>
</body>
</html>
Donde "XXXXXXXXXX" es la key que acabamos de obtener.
Ver ejemplo en funcionamiento » »
Algunas de las propiedades que podemos establecer son las siguientes:
//Para habilitar/deshabilitar el zoom progresivo.
// De modo predeterminado deshabilitado (FALSE)
$gm->mContinuousZoom = FALSE;//Para habilitar/deshabilitar La escala del mapa.
// De modo predeterminado habilitado (TRUE)
$gm->mScale = TRUE;//Para habilitar/deshabilitar el mapa interno.
// De modo predeterminado deshabilitado (FALSE)
$gm->mInset = FALSE;//Para habilitar/deshabilitar el tipo de mapa.
// De modo predeterminado deshabilitado (FALSE)
$gm->mMapType = FALSE; # default//Para establecer las dimensiones del mapa
//De modo predeterminado 300px x 300px
$gm->SetMapWidth(500);
$gm->SetMapHeight(500);//Para establecer el zoom
//De modo predeterminado 13
$gm->SetMapZoom(10);//Para establecer el tipo de puntero
// De modo predeterminado se utiliza GT_FLAT
$gm->SetMarkerIconStyle('FLAG');
$gm->SetMarkerIconStyle('GT_FLAT');
$gm->SetMarkerIconStyle('GT_PILLOW');
$gm->SetMarkerIconStyle('HOUSE');
$gm->SetMarkerIconStyle('PIN');
$gm->SetMarkerIconStyle('PUSH_PIN');
$gm->SetMarkerIconStyle('STAR');//Para establecer el color del puntero
// De modo predeterminado se utiliza PACIFICA
$gm->SetMarkerIconColor('PACIFICA');
$gm->SetMarkerIconColor('YOSEMITE');
$gm->SetMarkerIconColor('MOAB');
$gm->SetMarkerIconColor('GRANITE_PINE');
$gm->SetMarkerIconColor('DESERT_SPICE');
$gm->SetMarkerIconColor('CABO_SUNSET');
$gm->SetMarkerIconColor('TAHITI_SEA');
$gm->SetMarkerIconColor('POPPY');
$gm->SetMarkerIconColor('NAUTICA');
$gm->SetMarkerIconColor('DEEP_JUNGLE');
$gm->SetMarkerIconColor('SLATE');
//Establecer el texto del bocadillo informativo
$gm->SetInfoWindowText("Este es el punto uno")
El uso es realmente sencillo. Lo unico que no me acababa de gustar es que apareciese el bocadillo de la primera dirección. Prefiero que aparezcan los bocadillos cuando el usuario hace click. Simplemente cogiendo la clase y comentando estas dos líneas ya lo tendremos,
if ($i===0)
$ret .= "marker.openInfoWindowHtml(address_$i.infowindowtext);\n";
Ver un segundo ejemplo en funcionamiento » »
Descargar ejemplo completo » »
Algunas entradas relacionadas:
- highlight_file: resaltar código PHP
- Alternar colores en las filas de una tabla con PHP
- Forzar la descarga de un fichero con PHP
- Marcas de agua con PHP
- Mostrar el número de usuarios online con PHP
- PclZip: clase para trabajar con ficheros zip en php
- Mostrar los valores de un array con PHP
Obtener un listado de todas las clases disponibles en PHP
0 COMENTARIOS - Publicado hace 15 meses - Clasificado en: PHP, CLASESPHP dispone de una función denominada get_declared_clases() que permite obtener una lista de todas las clases disponibles tanto por la propia instalación de PHP como las definidas por nosotros mismos o incluidas en bibliotecas de terceros. Con el siguiente ejemplo obtendríamos un listado alfabético de todas las clases disponibles para tu aplicación:
<?php
$classes = get_declared_classes();
sort($classes);
echo "<pre>";
print_r($classes);
echo "</pre>";
?>
Lo que nos devolvería un listado similar al siguiente:
Array
(
[0] => AppendIterator
[1] => AppendIterator
[2] => ArrayIterator
[3] => ArrayIterator
[4] => ArrayObject
[5] => ArrayObject
[6] => BadFunctionCallException
........................
[223] => stdClass
[224] => tidy
[225] => tidy
[226] => tidyNode
[227] => tidyNode
)
Algunas entradas relacionadas:
- Crear hojas de cálculo Excel con PHP
- PHP classes
- Clase PHP para generar documentos PDF a partir de HTML
- Clase para enviar correos con PHP
- Easy Google Maps: clase PHP para facilitar el uso de la API de Google Maps
- Clase para acceder a Google Weather
- PHP DocWriter
PHP DocWriter
0 COMENTARIOS - Publicado hace 16 meses - Clasificado en: PHP, CLASES, DESARROLLOInteresante biblioteca de clases. Muy útil por ejemplo para dar salida a informes creados por aplicaciones web en entornos abiertos.
PHP DocWriter es conjunto de clases escritas en PHP capaz de generar documentos en formato OpenOffice.org XML (es decir, documentos StarOffice/OpenOffice.org). Tambíen es capaz de comunicarse con la aplicación OpenOffice.org con el objetivo de que esta pueda convertir los documentos OpenOffice.org XML generados a cualquier otro formato soportado por la aplicación OpenOffice.org de forma autómatica y transparente. Esta librería esta todavia bajo desarrollo pero es completamente usable en este momento. Hasta ahora, soporta las siguientes características: Cabecera y pie de página, Cuadros de texto, Imágenes, Tablas, Dibujos, Meta-información de los documentos, Conversión automática de los documentos creados a otros formatos, etc.
Algunas entradas relacionadas:
- Easy Google Maps: clase PHP para facilitar el uso de la API de Google Maps
- Clase para acceder a Google Weather
- Crear hojas de cálculo Excel con PHP
- Clase para enviar correos con PHP
- Obtener un listado de todas las clases disponibles en PHP
- PHP classes
- Clase PHP para generar documentos PDF a partir de HTML
Clase para enviar correos con PHP
1 COMENTARIO - Publicado hace 22 meses - Clasificado en: CLASES, PHP, CORREOEsta es la primera clase que hago en PHP. Ya había hecho alguna en Actionscript pero ésta es la primera que hago para PHP. Ocurre que PHP es un lenguaje con una comunidad tan grande que ya hay clases para todo lo que uno pueda imaginar. Clases para enviar correos deben haber bastantes y con bastantes más funcionalidades, pero ésta es sencilla y funciona correctamente. La clase es:
class correo{
var $destinatario;
var $remitente;
var $asunto;
var $mensaje;
function enviar() {
$headers = "From: ".$this->remitente."\r\nReply-To: ". $this->remitente;
ob_start();
$message = ob_get_clean();
$mail_sent = @mail( $this->destinatario, $this->asunto, $this->mensaje, $headers );
echo $destinatario;
echo $mail_sent ? "Correo Enviado" : "No se ha podido enviar el correo";
}
}
Para hacer uso de ella (Un servicio SMTP debe estar disponible para PHP en el servidor):
$g = new correo(); $g->destinatario = 'direccion@correo.com'; $g->remitente = 'remitente@correo.com'; $g->asunto = 'Este es el asunto del mensaje'; $g->mensaje = 'Este es el cuerpo del mensaje.'; $g->enviar();
Algunas entradas relacionadas:
- Clase para acceder a Google Weather
- Clase PHP para generar documentos PDF a partir de HTML
- Easy Google Maps: clase PHP para facilitar el uso de la API de Google Maps
- PHP classes
- Crear hojas de cálculo Excel con PHP
- Obtener un listado de todas las clases disponibles en PHP
- PHP DocWriter





















Mauricio Campos en 50 preguntas y respuestas de entrevistas de trabajo
