El formato de compresión ZIP es uno de los más usados y siempre puede sernos de ayuda saber cómo manejarlo, por ejemplo para permitir que nuestros usuarios nos envien ficheros en zip y no tenerles que enviar varios ficheros de uno en uno, cosa que suele sacar de quicio.
En PHP, para leer un fichero zip debemos usar la librerÃa php_zip que ha sido desarrollada por Guido Draheim y que se puede bajar en: http://pecl.php.net/package/zip.
El uso es sencillo y tan solo dispone de unas pocas funciones:
zip_close: cierra un fichero zip.
zip_entry_close: cierra una archivo contenido en el zip.
zip_entry_compressedsize: nos devuelve el tamaño comprimido de un archivo contenido en el zip.
zip_entry_filesize: nos devuelve el tamaño real del archivo contenido en el zip.
zip_entry_name: nos devuelve el nombre del archivo contenido en el zip.
zip_entry_open: abre para lectura un archivo contenido en el zip.
zip_entry_read: lee un archivo contenido en el zip.
zip_open: abre un fichero zip.
zip_read: lee el siguiente archivo contenido en el zip.
Un simple ejemplo de cómo leer información de un fichero zip serÃa el siguiente. Disponemos de una página HTML que tiene un formulario para enviar un fichero:
<form action="zip.php" method='POST' enctype='multipart/form-data'<br />
<p>Seleccione un fichero ZIP para enviar
<br />
<input type="file" name="fichero" /<br />
<br />
<input type="submit" value="Enviar" /></p<br />
Y disponemos de un script PHP (en este caso se llama zip.php) que nos devuelve los archivos contenidos en el zip.
Últimamente estoy trabajando bastante con Gutenberg, tiene sus cosas buenas y malas. Sea como sea, es el futuro de WordPress, así que toca aprender.
Lo más interesante de todo es poder usar lo que sabía de webpack, React, HMR, … Y para practicar he hecho un plugin que permite añadir snippets de código en los posts usando los bloques de Gutenberg
Para ello uso la librería highlight.js que permite destacar código de forma sencilla. Aquí un ejemplo
// Import CSS.import'./scss/style.scss';
import'./scss/editor.scss';
import icon from'./icon';
import edit from'./edit';
import save from'./save';
import attributes from'./attributes';
import { __ } from'@wordpress/i18n'; // Import __() from wp.i18nexportconst name = 'sentidoweb/snippet';
exportconst settings = {
// Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
title: __( 'Snippets editor', 'sw-snippet' ), // Block title.
icon: icon,
category: 'common', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
keywords: [
__( 'code', 'sw-snippet' ),
__( 'format', 'sw-snippet' ),
__( 'snippet', 'sw-snippet' ),
],
attributes,
edit,
save,
};
Jaxl (Jabber XMPP Library) es una librería que nos permite realizar comunicaciones mediante Jabber (el protocolo de IM que usa Gtalk, entre otros). Permite encriptación TLS, autenticación DIGEST-MD5 y PLAIN, administración de servidor y notificación de GMail, entre otras cosas.
Parece que la nueva versión de PHP (5.3) va a mejorar el rendimiento considerablemente en muchas de nuestras aplicaciones. En algunos casos hasta en un 30%:
Está claro que cada día aprendo algo nuevo en PHP, quizás esto lo conoce todo el mundo, pero en mi caso lo desconocía. Se trata de que los include, requiere devuelvan un valor (muy útil con ficheros de configuración).
phpWebSite es un CMS que nos facilita la creación de webs. Que con la ayuda de una administración web podremos mantener y gestionar nuestra web de forma sencilla.
Además el diseño puede ser cambiado gracias a un layout flexible. La contenido está organizado mediante categorÃas y puede ser ampliado mediante comentarios de otros usuarios.
Existe muchas caracterÃs y el desarrollo crece rápidamente mediante la creación de nuevos módulos.