Por ASP clásico / 23/07/2012 @ 16:16:17 / 1465 visitas
Este código en ASP clásico permite crear archivos ZIP a partir de un conjunto de archivos y directorios especificados. La función principal es CreateZipFile, que recibe como parámetros la ruta completa del archivo ZIP a crear (strZipPath) y un array de cadenas que contienen las rutas de los archivos y directorios a incluir en el archivo ZIP (arrFilesPath). Primero, el código verifica que la utilidad PKZIP25.EXE está presente en el mismo directorio que el archivo ASP. A continuación, se construye un comando de línea de comandos que utiliza PKZIP25.EXE para comprimir los archivos y directorios especificados en el archivo ZIP. Finalmente, el comando se ejecuta mediante la creación de un objeto de shell y se espera hasta que la operación se complete. Si ocurre algún error, se genera una excepción. Este código puede ser útil para reducir el tamaño de los archivos a transmitir en una aplicación web o para crear copias de seguridad de múltiples archivos.
Para crear un ZIP desde ASP clásico necesitamos cubrir los siguientes resquisitos:
1. Un servidor Windows que soporte WScript.Shell (La mayoría lo soporta).
2. Una utilería llamada PKZIP25 que puede ser descargada en la siguiente dirección:
https://winworldpc.com/product/pkzip/25-for-windows
3. El código fuente:
ZipFiles.asp
<%'---------------------------------------------------------'CreateZipFile: creating zip file in the given path.'strZipPath - full path for the zip file, including the zip file name.'arrFilesPath - array of the files to be zipped, e.g. Array("C:\*.exe", "C:\test\*.*")'NOTE: this code requires PKZIP25.EXE utility in the same location' as this file.'---------------------------------------------------------Sub CreateZipFile(strZipPath, arrFilesPath) Const PKZIP_FILE_NAME="pkzip25.exe" Dim strCommand, objShell, objFSO Dim x 'first verify pkzip exists: Set objFSO=Server.CreateObject("Scripting.FileSystemObject") If Not(objFSO.FileExists( Server.MapPath(PKZIP_FILE_NAME) )) Then Set objFSO=Nothing Err.Raise 20000, "Zip File Creator", "zip utility not found: "&Server.MapPath(PKZIP_FILE_NAME) End If 'delete current file, if exists: If objFSO.FileExists(strZipPath) Then objFSO.DeleteFile(strZipPath) End If Set objFSO=Nothing 'build batch command: strCommand=Server.MapPath(PKZIP_FILE_NAME)&" -add "&strZipPath&" " 'para incluir subfolder strCommand=Server.MapPath(PKZIP_FILE_NAME)&" -add -rec "&strZipPath&" " For x=0 To UBound(arrFilesPath) strCommand=strCommand&arrFilesPath(x) If x Next 'execute: Set objShell=Server.CreateObject("WScript.Shell") objShell.Run strCommand, 0, True 'wait! 'done. Set objShell=NothingEnd Sub%>
Ejemplo de su uso:
ZipTest.asp
<% Option Explicit %><%Call TestZipFile()Sub TestZipFile() 'create zip and give link: Call CreateZipFile(Server.MapPath("myzip.zip"), Array(Server.MapPath("images")&"\*.*")) Response.Write("download zip")End Sub%>
Descubre más sobre cómo simplificar y optimizar tu trabajo empresarial en el Blog de CoreASP.
zip gratis, asp clasico, winrar gratis, como hacer paginas web gratis, programa zip, compresor zip gratis, programa zip, unzip, paginas para hacer, crear un zip, crear un archivo zip
Descargo de Responsabilidad:
El contenido y los recursos que ofrecemos en CoreASP están destinados únicamente a proporcionar herramientas y ejemplos prácticos para el desarrollo en ASP Clásico. Esta información es de carácter general y no debe considerarse asesoramiento profesional o técnico específico para tu proyecto. Aunque hacemos todo lo posible por asegurar la calidad y precisión de los recursos compartidos, no garantizamos que sean completamente libres de errores o que se ajusten perfectamente a todas las situaciones. CoreASP no se responsabiliza por cualquier pérdida, daño o inconveniente derivado del uso directo o indirecto de los recursos o información proporcionada. Además, CoreASP no respalda ni asume responsabilidad por enlaces o contenido de terceros que puedan estar referenciados en nuestra plataforma. Todos los derechos de propiedad intelectual sobre el contenido y recursos publicados en CoreASP pertenecen a CoreASP o a sus respectivos propietarios, y su uso está sujeto a las condiciones de la licencia especificada para cada recurso. Nos reservamos el derecho de modificar este descargo de responsabilidad en cualquier momento sin previo aviso. Para más detalles, consulta el documento completo de términos y condiciones.
23/05/2025 @ 14:09:59
07/04/2025 @ 07:54:51
29/03/2025 @ 16:49:42
12/02/2025 @ 10:15:42
21/01/2025 @ 16:21:11
14/08/2024 @ 10:44:12