Foros del Web » Programando para Internet » PHP »

Zip y código fuente PHP

Estas en el tema de Zip y código fuente PHP en el foro de PHP en Foros del Web. Buenas tardes.- Tengo una aplicación web que deseo subirlo al Hosting de una empresa, pero como son muchos archivos y carpetas, entonces decidí comprimirlos en ...
  #1 (permalink)  
Antiguo 25/02/2010, 11:27
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta Zip y código fuente PHP

Buenas tardes.-

Tengo una aplicación web que deseo subirlo al Hosting de una empresa, pero como son muchos archivos y carpetas, entonces decidí comprimirlos en un archivo zip y utilizando una librería de nombre pclzip.lib.php para descomprimirlo en el hosting, pero ocurre que al descargar un archivo del hosting, digamos para editarlo o reemplazarlo, al ver su código fuente le agrega por línea de código ocupada un salto y una línea en blanco.

Esta es una porción de mi código fuente PHP de uno de los archivos antes de la compresion ZIP:

Código PHP:
Ver original
  1. $campo_obligatorio = "";
  2.         $temporal = array();
  3.         $id = $_POST["hd_cliente"];
  4.         $temporal["Nombres"] = trim($_POST["txt_nombres"]);
  5.         $temporal["Paterno"] = trim($_POST["txt_paterno"]);
  6.         $temporal["Materno"] = trim($_POST["txt_materno"]);
  7.         $temporal["IDDocumento"] = trim($_POST["txt_iddocumento"]);
  8.         $temporal["Telefono"] = trim($_POST["txt_telefono"]);
  9.         $temporal["FechaNacimiento"] = $_POST["txt_fechanac"];
  10.         $temporal["Direccion"] = trim($_POST["area_direccion"]);
  11.         $temporal["EstadoRegion"] = trim($_POST["txt_estadoregion"]);
  12.         $temporal["Pais"] = $_POST["sel_pais"];
  13.         $temporal["Idioma"] = $_POST["rd_idioma"];
  14.         $temporal["Detalles"] = trim($_POST["area_detalles"]);
  15.         if ($temporal["Nombres"] == "") {
  16.             $campo_obligatorio .= " Nombres";
  17.         } else {
  18.             $temporal["Nombres"] = $general->STR_Quitar_Acentos($temporal["Nombres"]);
  19.             $temporal["Nombres"] = ucwords(strtolower($temporal["Nombres"]));
  20.         }
  21.         if ($temporal["Paterno"] == "") {
  22.             if ($campo_obligatorio) {
  23.                 $campo_obligatorio .= ", Apellido Paterno";
  24.             } else {
  25.                 $campo_obligatorio .= " Apellido Paterno";
  26.             }
  27.         } else {
  28.             $temporal["Paterno"] = $general->STR_Quitar_Acentos($temporal["Paterno"]);
  29.             $temporal["Paterno"] = strtoupper($temporal["Paterno"]);
  30.         }
  31.         if ($temporal["Materno"]) {
  32.             $temporal["Materno"] = $general->STR_Quitar_Acentos($temporal["Materno"]);
  33.             $temporal["Materno"] = strtoupper($temporal["Materno"]);
  34.         }
  35.         $temporal["TipoPersona"] = $_POST["rd_tipopersona"];
  36.         if (!$temporal["TipoPersona"]) {
  37.             $temporal["TipoPersona"] = 0;
  38.         }
  39.         if (!$temporal["Idioma"]) {
  40.             $temporal["Idioma"] = 1;
  41.         }
  42.         if ($campo_obligatorio) {
  43.             $_SESSION["SIST_Mensaje"] = "Debe completar los campos OBLIGATORIOS : $campo_obligatorio";
  44.         } else {
  45.             if (($temporal["FechaNacimiento"]) && ($temporal["FechaNacimiento"] <> "0000-00-00")) {
  46.                 $temporal["FechaNacimiento"] = $general->DATE_Normal_MySQL($temporal["FechaNacimiento"]);
  47.             }
  48.             CLIENTES_Ejecutar_Operacion($cn, 2, $temporal, $id);
  49.         }

Al comprimir y enviar el paquete al host, si quiero modificar una instrucción o mejorarlo, al descargar ese mismo archivo, me muestra de esta forma:

Código PHP:
Ver original
  1. $campo_obligatorio = "";
  2.  
  3.         $temporal = array();
  4.  
  5.         $id = $_POST["hd_cliente"];
  6.  
  7.         $temporal["Nombres"] = trim($_POST["txt_nombres"]);
  8.  
  9.         $temporal["Paterno"] = trim($_POST["txt_paterno"]);
  10.  
  11.         $temporal["Materno"] = trim($_POST["txt_materno"]);
  12.  
  13.         $temporal["IDDocumento"] = trim($_POST["txt_iddocumento"]);
  14.  
  15.         $temporal["Telefono"] = trim($_POST["txt_telefono"]);
  16.  
  17.         $temporal["FechaNacimiento"] = $_POST["txt_fechanac"];
  18.  
  19.         $temporal["Direccion"] = trim($_POST["area_direccion"]);
  20.  
  21.         $temporal["EstadoRegion"] = trim($_POST["txt_estadoregion"]);
  22.  
  23.         $temporal["Pais"] = $_POST["sel_pais"];
  24.  
  25.         $temporal["Idioma"] = $_POST["rd_idioma"];
  26.  
  27.         $temporal["Detalles"] = trim($_POST["area_detalles"]);
  28.  
  29.         if ($temporal["Nombres"] == "") {
  30.  
  31.             $campo_obligatorio .= " Nombres";
  32.  
  33.         } else {
  34.  
  35.             $temporal["Nombres"] = $general->STR_Quitar_Acentos($temporal["Nombres"]);
  36.  
  37.             $temporal["Nombres"] = ucwords(strtolower($temporal["Nombres"]));
  38.  
  39.         }
  40.  
  41.         if ($temporal["Paterno"] == "") {
  42.  
  43.             if ($campo_obligatorio) {
  44.  
  45.                 $campo_obligatorio .= ", Apellido Paterno";
  46.  
  47.             } else {
  48.  
  49.                 $campo_obligatorio .= " Apellido Paterno";
  50.  
  51.             }
  52.  
  53.         } else {
  54.  
  55.             $temporal["Paterno"] = $general->STR_Quitar_Acentos($temporal["Paterno"]);
  56.  
  57.             $temporal["Paterno"] = strtoupper($temporal["Paterno"]);
  58.  
  59.         }
  60.  
  61.         if ($temporal["Materno"]) {
  62.  
  63.             $temporal["Materno"] = $general->STR_Quitar_Acentos($temporal["Materno"]);
  64.  
  65.             $temporal["Materno"] = strtoupper($temporal["Materno"]);
  66.  
  67.         }
  68.  
  69.         $temporal["TipoPersona"] = $_POST["rd_tipopersona"];
  70.  
  71.         if (!$temporal["TipoPersona"]) {
  72.  
  73.             $temporal["TipoPersona"] = 0;
  74.  
  75.         }
  76.  
  77.         if (!$temporal["Idioma"]) {
  78.  
  79.             $temporal["Idioma"] = 1;
  80.  
  81.         }
  82.  
  83.         if ($campo_obligatorio) {
  84.  
  85.             $_SESSION["SIST_Mensaje"] = "Debe completar los campos OBLIGATORIOS : $campo_obligatorio";
  86.  
  87.         } else {
  88.  
  89.             if (($temporal["FechaNacimiento"]) && ($temporal["FechaNacimiento"] <> "0000-00-00")) {
  90.  
  91.                 $temporal["FechaNacimiento"] = $general->DATE_Normal_MySQL($temporal["FechaNacimiento"]);
  92.  
  93.             }
  94.  
  95.             CLIENTES_Ejecutar_Operacion($cn, 2, $temporal, $id);
  96.  
  97.         }


La página se ejecuta sin problemas, por lo que no es un problema tan crítico, pero es molesto que le añada esas líneas en blanco por que me altera en cierto grado mi orden y estructura de programación. Existe una forma de poder eliminar esas incómodas líneas en blanco? O forzosamente tengo que subirlos sin comprimirlos? (Uno po uno, o por grupos de archivos a la vez)

Si alguien le ha pasado esto, me puede orientar o brindar alguna solución para este caso. Gracias de antemano a todas las respuestas o sugerencias posibles.

Saludos...
__________________
"Viajando en el espacio profundo, de nova en nova, y sorteando a veces uno que otro agujero negro..." Peru@D
  #2 (permalink)  
Antiguo 25/02/2010, 11:34
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Zip y código fuente PHP

Buenas,

Muestra el código que usas para descomprimir...

Más cosas, porqué no usas un FTP o algún protocolo así? Como tienes que hacerlo para subir los archivos sino?

Saludos
__________________
Carlos

Recoger datos es solo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad. - IBM
  #3 (permalink)  
Antiguo 25/02/2010, 11:37
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Zip y código fuente PHP

Hola
Puedes utilizar el disco de red si es que el servicio de hosting te ofrece ese servicio
  #4 (permalink)  
Antiguo 25/02/2010, 11:46
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta Respuesta: Zip y código fuente PHP

Hola genuine_carlosV2.-

Yo transfiero el paquete comprimido a través de Filezilla, así como 2 archivos más: la librería pclzip.lib.php y un archivo creado por mi y que se llama unzip.php, con el último archivo hago la llamada a esta librería.

Tengo este codigo PHP para la descompresion: (unzip.php)

Código PHP:
Ver original
  1. <?php
  2.     require_once("pclzip.lib.php");
  3.     $archive = new PclZip("ejemplo.zip");
  4.     if ($archive->extract() == 0) {
  5.         die("Error : " . $archive->errorInfo(true));
  6.     }
  7. ?>

La librería pclzip.lib.php la puedes encontrar en http://www.phpconcept.net/pclzip/, no pude pegar el codigo fuente de esta librería ya que es muy extenso y no me permite en el foro colocar texto de más de 10000 caracteres.

Saludos...
__________________
"Viajando en el espacio profundo, de nova en nova, y sorteando a veces uno que otro agujero negro..." Peru@D
  #5 (permalink)  
Antiguo 25/02/2010, 11:48
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Zip y código fuente PHP

Hola yoyoyo82.-

Lo que pasa es que yo no tengo acceso al Panel de Administración del Hosting, a mi me crearon una cuenta FTP y para tal fin uso el Filezilla, el resto es simplemente por programación, para la subida y descarga de archivos uso el cliente FTP ya mencionado.

Saludos...
__________________
"Viajando en el espacio profundo, de nova en nova, y sorteando a veces uno que otro agujero negro..." Peru@D
  #6 (permalink)  
Antiguo 25/02/2010, 11:59
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Zip y código fuente PHP

Pues eso es lo que te decia

Si usas FileZilla, mejor me lo pones, selecciona todos los archivos y súbelos. Tardará lo que tarde pero te evitas tantos problemas tontos! No tienes que subirlos tu uno a uno, tu seleccionalos y dale a subir! Es más, si me apuras, puedes ir un directorio arriba y subir toda la carpeta entera donde tienes esos archivos!

Saludos
__________________
Carlos

Recoger datos es solo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad. - IBM
  #7 (permalink)  
Antiguo 25/02/2010, 12:07
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta Respuesta: Zip y código fuente PHP

Hola genuine_carlosV2.-

A mi me parecía más práctico ponerlo comprimido en un archivo, ya que a veces el FileZilla te pide reemplazar un archivo, puede ser que no se haya copiado bien o por que se cortó la conexión en un determinado momento. Aparte que más adelante, esta aplicación se automatizará aún más, y en estas opciones debe contar con la carga y descarga de archivos desde la misma aplicación, así como la facilidad de comprimir y descomprimir un buen lote de archivos (ahora por ejemplo estaba subiendo como 500 archivos, y hay que supervisarlo por ratos ya que el FileZilla no es del todo infalible, tampoco le bajo el dedo al programa, por que tiene sus bondades; es por eso que pasarlo como un paquete comprimido me parece más ideal que un bloque de "N" cantidad de archivos a transferir), en resumen, ya no depender de un programa tercero para ciertos procesos.

Saludos...
__________________
"Viajando en el espacio profundo, de nova en nova, y sorteando a veces uno que otro agujero negro..." Peru@D
  #8 (permalink)  
Antiguo 25/02/2010, 12:17
Avatar de genuine_carlosV2  
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Zip y código fuente PHP

Ya entiendo...

La verdad es que lo que te hace es bastante raro... Así a priori se me ocurre que busques otra librería ZIP y pruebes con esa a ver que tal. También se me ocurre que intentes debugar un poco la librería que tienes ahora a ver si es que está programada así aposta o que.

Porque, para comprimir, usas un programa estándar, imagino. Es decir, no comprimes con otra librería web. Has probado a descargar el paquete ZIP y descomprimirlo con un programa estándar? Imagino que funcionará, pero descartemos posibilidades...

Saludos
__________________
Carlos

Recoger datos es solo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad. - IBM
  #9 (permalink)  
Antiguo 25/02/2010, 13:26
Avatar de rfadgrmm  
Fecha de Ingreso: junio-2009
Mensajes: 74
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta Respuesta: Zip y código fuente PHP

Hola genuine_carlosV2.-

Si pues, voy a tener que descartarlo con el uso de otra librería. Tienes algunas sugerencias de clases o librerías que hagan la compresión y descompresión de archivos, y lo haría más en formato ZIP por ser el más común a comparación del RAR, pero si hay otra alternativa, otros ejemplos y/o códigos -y buena sobretodo-, mejor.

Es cierto que inicialmente uso un paquete estándar (WinZip, WinRAR, etc), y luego al subirlo por el hosting ya lo descomprimo por programación ya que no tengo acceso a la consola de administración del hosting, sólo tengo el acceso por FTP (y eso es temporal, ya que en el sistema o aplicación web debe incluirse esta funcionalidad), eso más adelante lo tengo que ampliar y mejorar para ya no depender de otros programas.

Saludos...
__________________
"Viajando en el espacio profundo, de nova en nova, y sorteando a veces uno que otro agujero negro..." Peru@D

Etiquetas: zip, fuentes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:03.