Librería Tokyo Tyrant para PHP
Cada día suenan más las bases de datos clave-valor, y entre ellas Tokyo Tyrant, por lo que no nos vendrá mal hacer uso de la librería PECL para ella, lástima que sea PECL.
PHP Tokyo Tyrant
Cada día suenan más las bases de datos clave-valor, y entre ellas Tokyo Tyrant, por lo que no nos vendrá mal hacer uso de la librería PECL para ella, lástima que sea PECL.
PHP Tokyo Tyrant
Si el otro día hablaba sobre PHP Quick Profiler, una clase que nos permite realizar debug en nuestras aplicaciones, hoy os enlazo con mod para integrarlo con CodeIgniter.
Es necesario tener activados los hooks de CodeIgniter y activar el profiler de CodeIgniter. A mí personalmente no me gusta usar los hooks, pero aún así se trata de una buena solución.
PHP Quick Profiler para CodeIgniter
Interesante grupo de snippets para PHP:
header("Content-type: application/octet-stream");
// displays progress bar when downloading (credits to Felix ;-))
header("Content-Length: " . filesize('myImage.jpg'));
// file name of download file
header('Content-Disposition: attachment; filename="myImage.jpg"');
// reads the file on the server
readfile('myImage.jpg');
Algo que echo en falta de PHP es la posibilidad de saber en qué porcentaje se ha subido un fichero (por ejemplo para mostrar una barra de progreso), algo que si permiten otros lenguajes de programación.
Para poder realizarlo en PHP es necesario tener instalado APC, que mediante el parámetro APC_UPLOAD_PROGRESS permite monitorizar el progreso del upload.
El tutorial explica muy detalladamente cómo realizar un file uploader en PHP, explicando los siguientes aspectos: instalación de APC, cómo monitoriza APC, clases de PHP básicas, implementación del uploader y ampliación de las clases para mostrar el progreso.
Monitoring File Uploads using Ajax and PHP
Para poner WordPress en modo mantenimiento, cuando actualizamos el theme o plugins y nos va a llevar un tiempo, o en otra ocasión, tan solo tendremos que crear un fichero con nombre .maintenance en el raíz de WordPress.
Si además queremos mostrar un HTML específico, podemos crear el fichero /wp-content/maintenance.php que se cargará si existe.
El fichero .maintenance debe tener definida la variable $upgrading con un timestamp, según dice el código de WordPress, con el valor del momento en el que el fichero fue creado, pero luego viendo el código comprueba que hayan pasado 10 minutos. Yo en mi caso le he asignado el valor de time() y ya borraré yo el fichero cuando haya acabado.
Un tutorial paso a paso que nos explica cómo crear un feed RSS mediante CodeIgniter. Realmente se trata de crear una vista que tenga el formato de un feed RSS, algunos prefieren utilizar librerías que directamente devuelven el RSS, pero si nos paramos a detener, un feed o un HTML son en ambos casos vistas.
Build an RSS 2.0 Feed with CodeIgniter
Vía / PHPDeveloper.org
Avanzando en el framework de Zend, hoy vamos a ver cómo crear documentos PDF. Quizás a muchos no les vaya a ser útil, pero un documento PDF es un formato bastante extendido.
De forma sencilla, ya que la librerÃa del framework es algo extensa, vamos a explicar que métodos son necesarios para crear un PDF.
Para cargar la librerÃa:
require_once 'Zend/Pdf.php';
Para crear un nuevo documento PDF:
$pdf = new Zend_Pdf();
Para crear una nueva página:
$pdf->pages[] = ($page = $pdf->newPage('A4'));
$pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
$pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
Obtener ancho y alto de la página:
$ancho = $page->getWidth();
$alto = $page->getHeight();
Usar estilos:
$estilo = new Zend_Pdf_Style();
$estilo->setFillColor(new Zend_Pdf_Color_RGB(0, 0, 0));
$font = Zend_Pdf_Font::fontWithPath('/path/fuente.ttf');
$estilo->setFont($font, 10);
$estilo->setStyle($style);
Escribir texto:
$page->drawText("Hola Mundo", $x, $y);
Insertar imágenes:
$img = Zend_Pdf_ImageFactory::factory('sentidoweb.png');
$page->drawImage($img, $x, $y, $x+&ancho, $y+$alto);
Devolver la salida:
echo $pdf->render();
Eso sÃ, antes hay que tener en cuenta que tenemos que devolver al inicio del script el Content-Type:
header("Content-Type: application/pdf");
// Si queremos que se devuelva como un fichero adjunto
header("Content-Disposition: attachment; filename=\"prueba.pdf\"");
Si, se que parece muy resumido, pero otro dÃa habrá un ejemplo más completo, mejor ir paso a paso.
Comments are closed.
Hola, he dado un vistazo a la documentación de Tokyo Tyrant y no acabo de entender del todo para que sirve una base de datos clave-valor..
Me lo podÃas aclarar?
Saludos.
Hola
Normalmente las BD son relacionales, tal tabla se relaciona con tal otra, … Pero esto no siempre es necesario ya que muchas veces sólo se realizan accesos mediante el ID de la tabla. ¿Para qué usar una BD relacional si vas a tirar únicamente de ID?
Una de las caracterÃsticas más importantes de las BD clave-valor es su rapidez, son mucho más rápidas que las BD relacionales.
ImagÃnate que tienes una BD que controla el spam de una web y necesitas saber si una IP está aceptada o rechazada. En este caso no necesitarÃas una BD relacional, solo saber si span[‘ip’] es true o false.
Espero haberte despejado las dudas.
Saludos