LinuxParty
Vamos, es un framework (marco de trabajo) para C++, que trabaja sobre la simulación, y con especial énfasis en el modelado y el correcto diseño en el lenguaje. Incluye una aplicación 3D para su conducción, en tiempo real y primera persona.
Resumen:
PHP 5.2 incluye, finalmente, soporte nativo para archivos ZIP. Esta cuarta entrega de la serie "¿Qué hay de nuevo en PHP 5.2?" te muestra cómo usar esta nueva funcionalidad para crear, editar, leer, subir y descargar archivos ZIP. Al terminar, estarás preparado para manipular archivos comprimidos directamente desde PHP, ahorrando ancho de banda y espacio en disco.
Introducción a ZIP
El formato ZIP, introducido en 1989 por Phil Katz (PKZIP), permite comprimir y agrupar varios archivos en un solo contenedor. Su especificación abierta ha facilitado su inclusión en gestores de archivos de Windows®, macOS, Konqueror y Nautilus.
Ventajas de la compresión ZIP:
-
Reducción del tamaño de los archivos.
-
Agrupación de múltiples archivos en uno solo.
-
Ahorro de ancho de banda al transferir.
-
Mayor comodidad para el usuario final.
En sistemas como Windows XP, un archivo ZIP se abre como una "carpeta comprimida" con doble clic. Lo mismo ocurre en entornos KDE, GNOME o macOS.
¿A dónde va ese espacio?
Al crear un archivo ZIP, los archivos se "deflan", es decir, se comprimen eliminando redundancias (palabras repetidas, espacios vacíos, etc.).
Ejemplo:
Archivo de texto original:
“You make a living by what you get; you make a life by what you give.”
Análisis de duplicados:
Palabras únicas:
Archivo comprimido (ejemplo con índice):
1 2 3 living 4 5 1 get, 1 2 3 life 4 5 1 give
Aunque la compresión es modesta en este caso (de 64 a 56 caracteres), cuando se aplican textos largos los beneficios se amplifican. En promedio:
-
Archivos de texto → 70% de compresión.
-
Imágenes (ya comprimidas, como JPEG) → 10% o menos.
¿Qué hay dentro de un ZIP?
Un archivo ZIP contiene:
-
Una estructura jerárquica (como un sistema de archivos).
-
Múltiples archivos y carpetas.
-
Metadatos (nombre, tamaño, checksum).
PHP permite acceder a esta información mediante la clase ZipArchive. Puedes:
-
Ver contenido sin extraer.
-
Leer o verificar archivos.
-
Manipular directorios internos.
Crear archivos ZIP con PHP
Necesitamos:
-
Un archivo
.txtcomo base. -
Código PHP para crear el ZIP y agregar contenido.
📄 testtext.txt
Had I the heavens' embroidered cloths, Enwrought with golden and silver light, ... Tread softly because you tread on my dreams.
📁 Código PHP para crear el ZIP (zipcreate.php)
<?php $zip = new ZipArchive(); $filename = "newzip.zip"; if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) { exit("No se puede abrir <$filename>\n"); } $zip->addFromString("firstfile." . time() . ".txt", "Este es el primer archivo en el ZIP.\n"); $zip->addFromString("testdir/secondfile." . time() . ".txt", "Este es el segundo archivo, en el directorio testdir.\n"); echo "Archivos en el ZIP: " . $zip->numFiles . "\n"; $zip->close(); ?>
🖼️ Salida esperada (ASCII)
+-----------------------------+ | ZIP creado: newzip.zip | | Contenido: | | - firstfile.1729924832.txt| | - testdir/secondfile... | +-----------------------------+
Añadir archivos externos al ZIP
$zip->addFile("testtext.txt");
Este método incorpora archivos reales al archivo ZIP. Si están en el mismo directorio que el script PHP, se incluirán directamente.
Leer archivos ZIP con PHP
📁 Código (zipread.php)
<?php $zip = new ZipArchive(); $filename = "newzip.zip"; if ($zip->open($filename)!==TRUE) { exit("No se puede abrir <$filename>\n"); } echo "Contenido del ZIP:<br>"; for ($i=0; $i<$zip->numFiles; $i++) { $stat = $zip->statIndex($i); echo "Archivo $i: " . $stat['name'] . "<br>"; } $zip->extractTo('./testdestination/'); $zip->close(); ?>
El ZIP se abre, lista su contenido y se extrae automáticamente a la carpeta testdestination/.
⚠️ Si ya existen archivos con el mismo nombre, serán sobrescritos.
Aplicaciones prácticas
-
Subidas en lote: permite que el usuario suba múltiples archivos a través de un único ZIP.
-
Descargas organizadas: agrupar resultados o reportes en un solo archivo descargable.
-
Reducción de tráfico: menos peso = menos coste de transferencia.
La integración nativa del soporte ZIP en PHP 5.2 proporciona una solución robusta y versátil para manipular archivos comprimidos. Desde la creación de archivos con contenido dinámico hasta su lectura y extracción, las funciones de ZipArchive abren un nuevo abanico de posibilidades para desarrolladores PHP.
¿Quieres que prepare una versión en PDF, Markdown o como plantilla para publicación? Puedo hacerlo en un solo paso.
¿Qué hay que hacer para empezar a escribir programas para Linux? Pues la mayoría utilizará un editor de textos, conocimiento sobre algún lenguaje de programación, ideas sobre el compilador y las librerías que utiliza el lenguaje. Pregunte a un programador profesional en que se diferencian él de usted. Insistiendo sobre cuáles de esas cosas pueden ayudarle a comenzar, otra cosa es introducirle a escribir programas eficientes, los cuales como, un depurador, herramientas de depuración de la memoria, y sobretodo una buena comprensión del funcionamiento interno del núcleo de Linux y de sus procesos.
Sugerente propuesta la del profesor Viktor Mayer-Schönberger, que nos resume Nate Anderson en Escaping the data panopticon: Prof says computers must learn to "forget", que veo en Harvard Prof Says Computers Need to Forget.
En estos tiempos en lo que parece que nos va a sobrar es memoria, se pregunta el profesor si no sería conveniente que, por defecto, los sistemas informáticos estuvieran programados para 'olvidar': esto es, todos los datos que alguien pueda recolectar deberían tener una fecha de caducidad: las tiendas, sobre nuestras compras; los gobiernos, sobre los datos que recolectan de nosotros, etc.
Debes entender primero el concepto "endianness", familiarizarte con ello primero, te diremos que es en un nivel altamente abstracto, referente a la memoria. Todo lo que necesitas saber sobre memoria es que es un gran array. El array contiene bytes. En el mundo de los ordenadores, y que la gente utiliza las direcciones (de memoria) para referirse a las localizaciones(datos) dentro de un array.
Neural Network Framework es un marco C++ para desarrollar, simular, y analizar arbitrarías redes neuronales complejas. El programador puede utilizar las clases proporcionadas para crear redes neuronales con topología arbitraria y neuronas de tipo mixto. Es muy fácil agregar las neuronas modificadas para requisitos particulares y las capas necesarias.
¡¡ A programar !!
Hacía tiempo que no me divertía tanto con un juego informático. Teóricamente www.pythonchallenge.com es una web para aprender a programar en Python, pero puede usarse cualquier otro lenguaje. El objetivo es encontrar la solución a distintos problemas que plantea cada nivel de este reto.
[31-05-2007] Coincidiendo con el 'Google Developer Day 2007', se ha presentado 'Google Gears', una extensión que permite construir un pequeño servidor de aplicaciones dentro de tu propio navegador web. Este facilitará el desarrollo de aplicaciones offline de sitios web sin que éstas sean necesariamente 'de escritorio', y haciendo que sean vía web. 'Google Gears' cuenta con un pequeño servidor web (LocalServer), una pequeña Base de Datos (creada a partir de 'SQLite') y un motor que ejecuta...
-
Programación
- FrankenPHP en Ubuntu: el servidor PHP moderno que simplifica todo
- 📰 Las herramientas no hacen al desarrollador… pero en 2026 casi lo parecen
- Creando un Teclado Virtual con jQuery
- Tutorial de jQuery, rápido.
- Las 25 mejores herramientas y frameworks PHP para desarrolladores en 2025 / 2026
- Los siete mejores IDE para PHP.
- KBasic, el auténtico Visual Basic para Linux. Y compatible con él.
- libdvdcss2 y w32codecs para Ubuntu
- Crear y empaquetar software para Linux en RPM, parte 1, creando paquetes.
- Windsurf Editor: el IDE con inteligencia artificial que está revolucionando el desarrollo de software
- GitHub Copilot Chat ahora es de Código Abierto y personalizable
- GitHub Copilot: Tu nuevo copiloto de código con IA, compatible con VS Code, JetBrains, Vim y más



