Foros del Web » Programando para Internet » PHP »

Sintaxis descargar POO

Estas en el tema de Sintaxis descargar POO en el foro de PHP en Foros del Web. Hola nuevamente miren ya tengo todo un listado de mi zona de descarga en la cual tengo 3 opciones Modifcar , eliminar , Descargas El ...

  #1 (permalink)  
Antiguo 10/03/2009, 14:27
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Sintaxis descargar POO

Hola nuevamente miren ya tengo todo un listado de mi zona de descarga en la cual tengo 3 opciones Modifcar , eliminar , Descargas

El problema es que me base en la Aporte: Aplicacion de centro de descargas. parte 1
. excelente el aporte pero volviendo al temas este es mi listado

Código php:
Ver original
  1. <center>
  2.  
  3.          <table  border="1">
  4.          <tr>
  5.          <th align="center" colspan="6"> Lista Descargas Disponibles  </th>
  6.          </tr>
  7.               <tr>
  8.                 <td>ID</td>
  9.                 <td>titulo</td>
  10.                 <td>descripcion</td>
  11.                
  12.                 <td align="center" colspan="3">Opciones</td>
  13.               </tr>
  14.               <?php
  15.                 foreach ($items_descarga as $item_descarga) {
  16.               ?>
  17.               <tr>
  18.                 <td><?php echo $item_descarga->id ?></td>
  19.                 <td><?php echo $item_descarga->name ?></td>
  20.                 <td><?php echo $item_descarga->description ?></td>
  21.                 <td> <a href="index.php?mod=descargas&pag=editar&id=<?php echo $item_descarga->id; ?> "> modificar </a>
  22.                 </td>
  23.                 <td>
  24.                     <a href="index.php?mod=descargas&pag=eliminar&id=<?php echo $item_descarga->id; ?> ">Eliminar</a>
  25.                 </td>
  26.                
  27.                 <td>
  28.                     <a href="index.php?mod=descargas&pag=descargar&ruta=<?php echo $item_descarga->'archivos/'.$row['ruta'];?>">Descargar</a></div>
  29.                 </td>
  30.                </tr>
  31.               <?php
  32.                 }
  33.               ?>
  34.               <tr>
  35.                 <td colspan="6" align="left">Nro de Resultados: <?php echo count($items_descarga); ?></td>
  36.               </tr>
  37.            
  38.            
  39.               <tr><td colspan="6"   align="center">
  40.             <a href="index.php?mod=descargas&pag=insertar" >Nuevo Descarga</a></td></tr>
  41.            
  42.            
  43.            
  44.             </table>
  45.             </center>
Realiza perfectamente los 2 primeras opciones es de modificar y eliminar ahora el problema es el descargar se necesita un archivo llamado descargas.php bueno ese archivo lo lleve a mi controlador asi.
Código php:
Ver original
  1. <?php
  2.     $pagina = $_GET['pag'];
  3.    
  4.     include('modulos/descargas/descargas.mod.php');
  5.     $MOD['descargas'] = new Descargas();
  6.    
  7.     switch($pagina) {
  8.         case 'descargar':
  9.           $ruta = $_GET['ruta'];
  10.           $archivo_arr = explode ($_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/',$ruta);
  11.            //$archivo_arr = explode( "C:/xampp/htdocs/repasos/descargas9/archivos/", $ruta );
  12.           $archivo = $archivo_arr[count($archivo_arr) - 1];
  13.  
  14.           if( !file_exists( $ruta ) ) {
  15.             die( "No existe $ruta" );
  16.           }
  17.             header( "Content-Disposition: attachment; filename=".$archivo."");
  18.             header( "Content-type: application/octet-stream" );
  19.             header("Content-Length: ".filesize($ruta)); //header que envia al navegador el tamaño del archivo.
  20.             @readfile( $ruta );    
  21.         break;
Ahora cuando click en Descargar me sale este error No existe archivos/ es por esto
Código php:
Ver original
  1. <td>
  2.                     <a href="index.php?mod=descargas&pag=descargar&ruta=<?php echo 'archivos/'.$row['ruta'];?>">Descargar</a></div>
  3.                 </td>
Esa es mi duda no puedo hacer concadenar
estuve haciendo asi

<a href="index.php?mod=descargas&pag=descargar&ruta=< ?php echo $item_descarga->'archivos/'.$row['ruta'];?>">Descargar</a></div>
Pero tengo este error
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_STRING or T_VARIABLE or '{' or '$' in C

Alguien podria ayudarme
  #2 (permalink)  
Antiguo 10/03/2009, 14:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

¬¬
Código php:
Ver original
  1. < ?php echo 'archivos/' . $item_descarga->row['ruta'];?>

O algo similar, el problema no es sintaxis POO si no tu sintaxis de PHP.
  #3 (permalink)  
Antiguo 10/03/2009, 14:34
Avatar de flaconovato  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogota, Colombia
Mensajes: 137
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Sintaxis descargar POO

Podrias indicarnos que indices tiene
Código PHP:
$items_descarga 
__________________
El pueblo que se resigna a tecnologías pasadas, sucumbe en el campo de la ignorancia y se entierra en sus ideales.:arriba: :arriba:
  #4 (permalink)  
Antiguo 10/03/2009, 15:15
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Hice asi
Código php:
Ver original
  1. <td>
  2.                     <a href="index.php?mod=descargas&pag=zona_descarga&ruta=<?php echo 'archivos/'.$item_descarga->ruta;?>">Descargar</a></div>
  3.            
  4.      
  5.                 </td>
No me genera ningun error pero cuando hago click en descargar
y en mi controlador hice esto:

Código php:
Ver original
  1. switch($pagina) {
  2.         case 'zona_descarga':
  3.             $ruta = $_GET['pag'];
  4.                 $archivo_arr = explode ($_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/',$ruta);
  5.                 //$archivo_arr = explode( "C:/xampp/htdocs/repasos/descargas9/archivos/", $ruta );
  6.                 $archivo = $archivo_arr[count($archivo_arr) - 1];
  7.  
  8.                 if( !file_exists( $ruta ) ) {
  9.                  die( "No existe $ruta" );
  10.                 }
  11.  
  12.                 header( "Content-Disposition: attachment; filename=".$archivo."");
  13.                 header( "Content-type: application/octet-stream" );
  14.                 header("Content-Length: ".filesize($ruta)); //header que envia al navegador el tamaño del archivo.
  15.                 @readfile( $ruta );    
  16.         break;
  17.         case 'insertar':

Cuando hago click en descargar me sale el mensaje de No existe zona_descarga
  #5 (permalink)  
Antiguo 10/03/2009, 15:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

¿En que parte de tu código tienes ese mensaje?

De entrada no entiendo para que ese explode() es mejor en dado caso hacer el split de / y ya contar a usar toda la cadena.

Saludos
  #6 (permalink)  
Antiguo 10/03/2009, 15:27
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sintaxis descargar POO

Es aqui donde me dice el mensaje
Código php:
Ver original
  1. if( !file_exists( $ruta ) ) {
  2.                  die( "No existe $ruta" );
  3.                 }

Y la verdad el explode() lo utilizo tal como esta en el aporte del foro Aporte: Aplicacion de centro de descargas. parte 1
  #7 (permalink)  
Antiguo 10/03/2009, 15:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

Pues, si te fijas estas rescatando $ruta = $_GET['pag'] cuando debes de usar $_GET['ruta'].

Saludos.
  #8 (permalink)  
Antiguo 10/03/2009, 15:50
Avatar de flaconovato  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogota, Colombia
Mensajes: 137
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Sintaxis descargar POO

Aca en esta parte a ruta ya le esta pasando parte de la ruta archivos
Código php:
Ver original
  1. <td>
  2.                     <a href="index.php?mod=descargas&pag=zona_descarga&ruta=<?php echo 'archivos/'.$item_descarga->ruta;?>">Descargar</a></div>
  3.            
  4.      
  5.                 </td>

y luego en el script que genera la descarga repites nuevamente archivos
__________________
El pueblo que se resigna a tecnologías pasadas, sucumbe en el campo de la ignorancia y se entierra en sus ideales.:arriba: :arriba:
  #9 (permalink)  
Antiguo 11/03/2009, 08:16
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sintaxis descargar POO

No entiendo muy bien que es lo que debo moficar
  #10 (permalink)  
Antiguo 11/03/2009, 08:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

Debes de modificar el parámetro con el que rescatas la ruta ya que estas rescatando la sección.

Saludos.
  #11 (permalink)  
Antiguo 11/03/2009, 08:48
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sintaxis descargar POO

Hice esto:

Código php:
Ver original
  1. <td
  2. <a href="index.php?mod=descargas&pag=zona_descarga=<?php echo 'archivos/'.$item_descarga->ruta;?>">Descargar</a></div>

Y en mi controlador esto:
Código php:
Ver original
  1. $pagina = $_GET['pag'];
  2.    
  3.     include('modulos/descargas/descargas.mod.php');
  4.     $MOD['descargas'] = new Descargas();
  5.    
  6.     switch($pagina) {
  7.         case 'zona_descarga':
  8.                 //$ruta = $_GET['ruta'];
  9.                 $archivo_arr = explode ($_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/',$pagina);
  10.                 //$archivo_arr = explode( "C:/xampp/htdocs/repasos/descargas9/archivos/", $ruta );
  11.                 $archivo = $archivo_arr[count($archivo_arr) - 1];
  12.  
  13.                 if( !file_exists( $pagina ) ) {
  14.                  die( "No existe $pagina" );
  15.                 }
  16.  
  17.                 header( "Content-Disposition: attachment; filename=".$archivo."");
  18.                 header( "Content-type: application/octet-stream" );
  19.                 header("Content-Length: ".filesize($pagina)); //header que envia al navegador el tamaño del archivo.
  20.                 @readfile( $pagina );  
  21.         break;
  22.         case 'insertar':

No me genera ninguna accion pero me fijo en la url que es lo que me vota y es esto
http://localhost/proyecto_cisco/inde...s-1024x768.jpg
  #12 (permalink)  
Antiguo 11/03/2009, 09:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

El problema es como pasas la variable, un Query string valido es variable=valor&otravariable=valor.

Tu estas haciendo variable=valor=valor, eso es incorrecto.

Saludos
  #13 (permalink)  
Antiguo 11/03/2009, 09:26
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sintaxis descargar POO

Hola gator y gracias por tu paciencia mira hice esto una vez leido el paso de variables por la URL como me dices
Código php:
Ver original
  1. <td><a href="index.php?mod=descargas&pag=zona_descarga&ruta=<?php echo 'archivos/'.$item_descarga->ruta; ?>">Descargar</a></div>

Y en el contrlador hice esta pequeña variante:
Código php:
Ver original
  1. case 'zona_descarga':
  2.                 $ruta = ($_GET['ruta']);
  3.                
  4.                 $archivo_arr = explode ($_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/',$ruta);
  5.                
  6.                 $archivo = $archivo_arr[count($archivo_arr) - 1];
  7.  
  8.                 if( !file_exists( $ruta)) {
  9.                  die( "No existe $ruta" );
  10.                 }
  11.  
  12.                 header( "Content-Disposition: attachment; filename=".$archivo."");
  13.                 header( "Content-type: application/octet-stream" );
  14.                 header("Content-Length: ".filesize($ruta)); //header que envia al navegador el tamaño del archivo.
  15.                 @readfile( $ruta );    
  16.         break;

Pienso que el problema no es en mi ctrl la zona de descarga sino en la parte del link donde llamo aqui
<a href="index.php?mod=descargas&pag=zona_descarga&ru ta=<?php echo 'archivos/'.$item_descarga->ruta; ?>">Descargar</a></div>

Muestro mi listado asi
http://localhost/proyecto_cisco/inde...as&pag=listado

Y cuando hago click en Descargar me vota a esta url:
http://localhost/proyecto_cisco/inde...archivos/H-.-1

Creo que esta todo correcto pero me vota este mensaje:

"No existe archivos/H-.-1 " y ademas esta correcta esta ruta es ahi donde se encuentra este archivo pero no lo descarga

Que deberia hacer ?
  #14 (permalink)  
Antiguo 11/03/2009, 09:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

Ahora ya pasa el valor correcto, el problema es que desde donde esta el archivo no lo encuentra, verifica la ruta, si te fijas te dice "archivos/H-.-1" no existe, es el mismo problema que te decia anteriormente que tu path esta mal, tienes que usar el path completo o en dado caso cambiar el directorio activo usando chdir().

Saludos
  #15 (permalink)  
Antiguo 11/03/2009, 10:08
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
La verdad gator no soy muy buena haciendo o modificando directorios
pero hice esto y espero por favor me corrijas que esta mal.

Código php:
Ver original
  1. case 'zona_descarga':
  2.                  $ruta = ($_GET['ruta']);
  3.                 //$archivo_arr = explode ($_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/',$ruta);
  4.                 $archivo_arr = explode ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/archivos/",$ruta);
  5.                 chdir('modulos/descargas/archivos/');
  6.                 echo getcwd();
  7.                
  8.                 $archivo = $archivo_arr[count($archivo_arr) - 1];
  9.  
  10.                 if( !file_exists( $ruta)) {
  11.                  die( "No existe $ruta" );
  12.                 }
  13.  
  14.                 header( "Content-Disposition: attachment; filename=".$archivo."");
  15.                 header( "Content-type: application/octet-stream" );
  16.                 header("Content-Length: ".filesize($ruta)); //header que envia al navegador el tamaño del archivo.
  17.                 @readfile( $ruta );    
  18.         break;
  19.         case 'insertar':
  20.             include('modulos/descargas/vistas/insertar.html.php');
  21.         break;

Para hacer la prueba puse el directori completo:$archivo_arr = explode ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/archivos/",$ruta);
Hice la prueba con el

echo getcwd();

Y me salio esto :
C:\xampp\htdocs\proyecto_ciscoNo existe archivos/DISEÑO DE UNA RED.doc
Entonces añadi el chdir asi
chdir('modulos/descargas/archivos/');
y hice la prueba y me vota esto
C:\xampp\htdocs\proyecto_cisco\modulos\descargas\a rchivos\No existe archivos/DISEÑO DE UNA RED.doc
Esta en ladireccion pero se que algo estoy haciendo mal y no se que es ?

Tambien una cosa interesante gator me fije en el aporte de descargas esto:


<div align=center><a href=\"descargar.php?ruta=archivos/$row[ruta]\">Descargar</a></div>";
echo "</tr>";
echo"<tr bgcolor= #cccccc>&nbsp;</tr>";

Y me llamo la atencion esto:
\">Descargar</a></div>"; mas propiamente dicho (\">Descargas)
Bueno ahora en mi codigo puse asi
Código php:
Ver original
  1. <a href="index.php?mod=descargas&pag=zona_descarga&ruta=<?php echo 'archivos/'.$item_descarga->ruta\; ?>">Descargar</a></div>

Me sale el siguiente error
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\v istas\listar.html.php on line 27

Pero igual pese a eso me me descarga y me vota esto
C:\xampp\htdocs\proyecto_cisco\modulos\descargas\a rchivos\No existe archivos/DISEÑO DE UNA RED.doc

Última edición por GatorV; 11/03/2009 a las 11:04
  #16 (permalink)  
Antiguo 11/03/2009, 11:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

Te sale error porque estas poniendo un \ en el código que no tiene nada que ver. Tu problema es la ruta, es mejor si ocupas la ruta completa para poder ver tu código, por ejemplo:
Código php:
Ver original
  1. case 'zona_descarga':
  2.                  $ruta = ($_GET['ruta']);
  3.                 //$archivo_arr = explode ($_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/',$ruta);
  4.                 $archivo_arr = explode ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/archivos/",$ruta);
  5.                                
  6.                 $archivo = $archivo_arr[count($archivo_arr) - 1];
  7.                 $ruta_completa = "C:/xampp/htdocs/proyecto_cisco/modulos/descargas/" . $ruta;
  8.  
  9.                 if( !file_exists( $ruta_completa)) {
  10.                  die( "No existe $ruta_completa" );
  11.                 }
  12.  
  13.                 header( "Content-Disposition: attachment; filename=".$archivo."");
  14.                 header( "Content-type: application/octet-stream" );
  15.                 header("Content-Length: ".filesize($ruta_completa)); //header que envia al navegador el tamaño del archivo.
  16.                 @readfile( $ruta_completa );    
  17.         break;
  18.         case 'insertar':
  19.             include('modulos/descargas/vistas/insertar.html.php');
  20.         break;

Si te fijas es mejor usando la ruta completa para leer el archivo.
  #17 (permalink)  
Antiguo 11/03/2009, 14:23
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Uta Gracias Gator pero ningun faltan los peros no entiendo esto te hice caso hice esto:
Código php:
Ver original
  1. $MOD['descargas'] = new Descargas();
  2.     switch($pagina) {
  3.         case 'zona_descarga':
  4.                 $ruta = ($_GET['ruta']);
  5.                 //$archivo_arr = explode ($_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/',$ruta);
  6.                 $archivo_arr = explode ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/archivos/",$ruta);
  7.                 $archivo = $archivo_arr[count($archivo_arr) - 1];
  8.                 $ruta_completa = ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/".$ruta);
  9.                 if( !file_exists( $ruta_completa)) {
  10.                  die( "No existe $ruta_completa" );
  11.                 }
  12.                 header( "Content-Disposition: attachment; filename=".$archivo."");
  13.                 header( "Content-type: application/octet-stream" );
  14.                 header("Content-Length: ".filesize($ruta_completa)); //header que envia al navegador el tamaño del archivo.
  15.                 @readfile( $ruta_completa );    
  16.         break;
  17.         case 'insertar':

Bien ahora cuando pongo descargar piensa un rato y primero me vota esto :

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\proyecto_cisco\index.php:26) in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\d escargas.ctrl.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\proyecto_cisco\index.php:26) in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\d escargas.ctrl.php on line 16

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\proyecto_cisco\index.php:26) in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\d escargas.ctrl.php on line 17

Seguido de estas lineas me muestra todo una cosa mas o menos asi:

ÿØÿà�JFIF������ÿþ�;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90 ÿÛ�C�     ÿÛ�C    ÿÀ���"�ÿÄ���
Estas lineas son estas los headers
header( "Content-Disposition: attachment; filename=".$archivo."");
header( "Content-type: application/octet-stream" );
header("Content-Length: ".filesize($ruta_completa));

No se porque sigue asi ya arregle los espacios no esxiste

Hice esto como me decia esto C:\xampp\htdocs\proyecto_cisco\index.php:26 y es de mi index madre me fije estuve viendo en google y aumente esta funcion ob_start(); ahora mi pregunta es no afecta esta funcion cuando inicie mis sesiones ?
La cosa quedo asi: en mi index principal
Código php:
Ver original
  1. <?php
  2. include('config.php');
  3.     session_name($cfg_session);
  4.     session_start();
  5.     if (empty($_SESSION['usuario_id'])) {
  6.         $_SESSION['usuario_id'] = 0;
  7.         $_SESSION['usuario_nick'] = 'invitado';
  8.         $_SESSION['usuario_nivel'] = 0;
  9.     }
  10.     include('includes/lib_mysql.php');
  11.     $MOD['mysql'] = new MySQL($cfg_bdname, $cfg_host, $cfg_user, $cfg_passwd);
  12. ?>
  13. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  14. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  15. <head>
  16. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  17. <meta n
Buecon con esto Gator soluciono una cosa que se puede descargar pero aqui esta mi otra gran duda y espero por favor me puedas responder subi un archivo llamado aver.jpg me fije en la carpeta archivos y esta ahi lo sube perfectamente ahora cuando hago click en descargar sucede algo extraña bajo el archivo pero cambia de nombre asi archivos_aver.jpeg y por lo tanto cuando hago click en la imageme dice no disponible y es pq se cambio de nombre al momento de descargar y asi sucede en todo los archivos que sea desde .doc rar etc
Espero me hayas entendido

Última edición por GatorV; 11/03/2009 a las 15:01
  #18 (permalink)  
Antiguo 11/03/2009, 15:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

El problema es que no debes de usar ob_start() porque estas "omitiendo" el error, tienes que solucionarlo, ve esta FAQ:

http://www.forosdelweb.com/2037876-post179.html

La razón por la que baja como archivos_nombre.ext es porque tu mismo le pones esa nomenclatura en esta parte del código:
Código php:
Ver original
  1. header( "Content-Disposition: attachment; filename=".$archivo."");

Saludos.
  #19 (permalink)  
Antiguo 11/03/2009, 15:12
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sintaxis descargar POO

Revise adecuadamente cada uno de los puntos en lo cuales me mandaste para leer no y cometo ningun error
Código php:
Ver original
  1. <?php
  2.     $pagina = $_GET['pag'];
  3.     include('modulos/descargas/descargas.mod.php');
  4.     $MOD['descargas'] = new Descargas();
  5.     switch($pagina) {
  6.         case 'zona_descarga':
  7.                 $ruta = ($_GET['ruta']);
  8.                 $archivo_arr = explode ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/archivos/",$ruta);
  9.                 $archivo = $archivo_arr[count($archivo_arr) - 1];
  10.                 $ruta_completa = ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/".$ruta);
  11.                 if( !file_exists( $ruta_completa)) {
  12.                  die( "No existe $ruta_completa" );
  13.                 }
  14.                 header("Content-Disposition: attachment; filename=".$archivo."");
  15.                 header("Content-type: application/octet-stream");
  16.                 header("Content-Length: ".filesize($ruta_completa));
  17.                 @readfile( $ruta_completa );    
  18.         break;
  19.         case 'insertar':
  20.             include('modulos/descargas/vistas/insertar.html.php'
Ahora me fije bien estaparte de mi index madre
Código php:
Ver original
  1. <?php
  2. include('config.php');
  3.     session_name($cfg_session);
  4.     session_start();
  5.     if (empty($_SESSION['usuario_id'])) {
  6.         $_SESSION['usuario_id'] = 0;
  7.         $_SESSION['usuario_nick'] = 'invitado';
  8.         $_SESSION['usuario_nivel'] = 0;
  9.     }
  10.     include('includes/lib_mysql.php');
  11.     $MOD['mysql'] = new MySQL($cfg_bdname, $cfg_host, $cfg_user, $cfg_passwd);
  12. ?>
  13. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  14. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  15. <head>
  16. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  17. <meta name="description" content="Your description goes here" />
  18. <meta name="keywords" content="your,keywords,goes,here"/>
  19. <link rel="stylesheet" type="text/css" href="css/1024px.css" title="1024px style" media="screen,projection" />
  20. <link rel="stylesheet" type="text/css" href="css/Style.css" title="1024px style" media="screen,projection" />
Y tampoco veo nada de espacions ni ninguna salida
  #20 (permalink)  
Antiguo 11/03/2009, 15:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

Pues la salida es esto:
Código html:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  4. <meta name="description" content="Your description goes here" />
  5. <meta name="keywords" content="your,keywords,goes,here"/>
  6. <link rel="stylesheet" type="text/css" href="css/1024px.css" title="1024px style" media="screen,projection" />
  7. <link rel="stylesheet" type="text/css" href="css/Style.css" title="1024px style" media="screen,projection" />

A la hora de descargar un archivo eso se incluye como parte de la salida por ende la imagen que habres no se ve correctamente.

Saludos.
  #21 (permalink)  
Antiguo 11/03/2009, 15:51
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sintaxis descargar POO

Pero Gator lo primero que mando es el codigo php y despues los html
Código php:
Ver original
  1. <?php
  2. include('config.php');
  3.     session_name($cfg_session);
  4.     session_start();
  5.     if (empty($_SESSION['usuario_id'])) {
  6.         $_SESSION['usuario_id'] = 0;
  7.         $_SESSION['usuario_nick'] = 'invitado';
  8.         $_SESSION['usuario_nivel'] = 0;
  9.     }
  10.     include('includes/lib_mysql.php');
  11.     $MOD['mysql'] = new MySQL($cfg_bdname, $cfg_host, $cfg_user, $cfg_passwd);
  12. ?>
  13. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  14. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  15. <head>
  16. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  17. <meta name="description" content="Your description goes here" />
  18. <meta name="keywords" content="your,keywords,goes,here"/>
  19. <link rel="stylesheet" type="text/css" href="css/1024px.css" title="1024px style" media="screen,projection" />
  #22 (permalink)  
Antiguo 11/03/2009, 16:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

Aun así, cuando tu descargas una imagen o algún contenido binario, si tu envias texto, o algo que no sea parte del contenido del archivo binario, corrompes el archivo es por eso que no puedes enviar nada de texto antes de usar header().

Saludos.
  #23 (permalink)  
Antiguo 11/03/2009, 16:12
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Uta entonces ahora ya que podria hacer para dar un solucion a esto

Me empiezo a preocupar

Última edición por GatorV; 11/03/2009 a las 16:30
  #24 (permalink)  
Antiguo 11/03/2009, 16:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

Pues no envies nada de contenido, si ves la FAQ que te indique te dice exactamente donde estas empezando a enviar el contenido de texto, ve a esa linea y elimina la salida de texto, por eso es importante que cuando programes un sistema / script trates de seguir una misma linea, de poner primero toda la parte de proceso de PHP y al final la parte de despliegue.

Saludos.
  #25 (permalink)  
Antiguo 11/03/2009, 16:45
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sintaxis descargar POO

mmm no entiendo muy bien lo que me dices pero en mi index madre la linea que me indica me dice asi :
(output started at C:\xampp\htdocs\proyecto_cisco\index.php:19)
y est linea del index madre es esta
Código php:
Ver original
  1. <link rel="stylesheet" type="text/css" href="css/1024px.css" title="1024px style" media="screen,projection" />

La borre como dices pero me sigue mostrando que es la linea 19 entonces por hacer la prueba borre todo lo que estaba en el head y igual no mas linea 19
Y el error que me nuestra es este de forma general

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\proyecto_cisco\index.php:19) in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\d escargas.ctrl.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\proyecto_cisco\index.php:19) in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\d escargas.ctrl.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\proyecto_cisco\index.php:19) in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\d escargas.ctrl.php on line 16
ÿØÿà�JFIF������ÿþ�;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90 ÿÛ�C�     ÿÛ�C   
Pero las lineas 14,15,16 son estas de mi controaldor:

Código php:
Ver original
  1. header("Content-Disposition: attachment; filename=".$archivo."");
  2.                 header("Content-type: application/octet-stream");
  3.                 header("Content-Length: ".filesize($ruta_completa));

La verdad ahora si no entiendo ?
  #26 (permalink)  
Antiguo 11/03/2009, 17:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

output started at C:\xampp\htdocs\proyecto_cisco\index.php:19

Ve que tienes en la linea 19 de index.php ahí es donde esta la salida de texto.

Saludos.
  #27 (permalink)  
Antiguo 11/03/2009, 20:41
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sintaxis descargar POO

Umm en esa linea solo llamo a mi estilo de mi pagina principal
<link rel="stylesheet" type="text/css" href="css/1024px.css" title="1024px style" media="screen,projection" />
Nada mas es un estilo pero ya digamos lo borre he igual me sigue diciendo la linea 19 pero es la siguiente linea
  #28 (permalink)  
Antiguo 11/03/2009, 23:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

Pues como te comento, si imprimes algo de texto te va a seguir dando el error porque no puedes enviar NADA de texto o de lo contrario corrompes el archivo binario.

Saludos.
  #29 (permalink)  
Antiguo 12/03/2009, 14:01
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Mensajes: 421
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Sintaxis descargar POO

Bueno ya no se que mas puedo hacer espero algun consejo intente todo desde cambiar el path y jugar con el chdir()
Pero para una mejor claridad miren lo que estoy haciendo
Código php:
Ver original
  1. <center>
  2.  
  3.          <table  border="1">
  4.          <tr>
  5.          <th align="center" colspan="6"> Lista Descargas Disponibles  </th>
  6.          </tr>
  7.               <tr>
  8.                 <td>ID</td>
  9.                 <td>titulo</td>
  10.                 <td>descripcion</td>
  11.                
  12.                 <td align="center" colspan="3">Opciones</td>
  13.               </tr>
  14.               <?php
  15.                 foreach ($items_descarga as $item_descarga) {
  16.               ?>
  17.               <tr>
  18.                 <td><?php echo $item_descarga->id ?></td>
  19.                 <td><?php echo $item_descarga->name ?></td>
  20.                 <td><?php echo $item_descarga->description ?></td>
  21.                 <td> <a href="index.php?mod=descargas&pag=editar&id=<?php echo $item_descarga->id; ?> "> modificar </a>
  22.                 </td>
  23.                 <td>
  24.                     <a href="index.php?mod=descargas&pag=eliminar&id=<?php echo $item_descarga->id; ?> ">Eliminar</a>
  25.                 </td>
  26.                 <td>
  27.                     <a href="index.php?mod=descargas&pag=zona_descarga&ruta=<?php echo 'archivos/'.$item_descarga->ruta; ?>">Descargar</a></div>
  28.            
  29.                 </td>
  30.                </tr>
  31.               <?php
  32.                 }
  33.               ?>
  34.               <tr>
  35.                 <td colspan="6" align="left">Nro de Resultados: <?php echo count($items_descarga); ?></td>
  36.               </tr>
  37.            
  38.            
  39.               <tr><td colspan="6"   align="center">
  40.             <a href="index.php?mod=descargas&pag=insertar" >Nuevo Descarga</a></td></tr>
  41.            
  42.            
  43.            
  44.             </table>
  45.             </center>
Este es mi listodo donde aparacen mis opciones update, delete y descargar solo como una prueba para el panel administrador luego cambiare o mejor dicho eliminare update y delete para usuarios
Bueno en el foro existe el aporte de centro de descargas existe el script descargas.php que es este
Código php:
Ver original
  1. <?php
  2. $ruta = $_GET['ruta'];
  3. $archivo_arr = explode ($_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/',$ruta);
  4. //$archivo_arr = explode( "C:/xampp/htdocs/repasos/descargas9/archivos/", $ruta );
  5. $archivo = $archivo_arr[count($archivo_arr) - 1];
  6.  
  7. if( !file_exists( $ruta ) ) {
  8.          die( "No existe $ruta" );
  9. }
  10.  
  11. header( "Content-Disposition: attachment; filename=".$archivo."");
  12. header( "Content-type: application/octet-stream" );
  13. header("Content-Length: ".filesize($ruta)); //header que envia al navegador el tamaño del archivo.
  14. @readfile( $ruta );  
  15. ?>
Este mismo archivo y modificado la ruta con el ayuda de Gator lo tengo en mi controlador (mi sistema es modular ) que es este.
Código php:
Ver original
  1. <?php
  2.     $pagina = $_GET['pag'];
  3.     include('modulos/descargas/descargas.mod.php');
  4.     $MOD['descargas'] = new Descargas();
  5.     switch($pagina) {
  6.         case 'zona_descarga':
  7.                 $ruta = ($_GET['ruta']);
  8.                 $archivo_arr = explode ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/archivos/",$ruta);
  9.                 $archivo = $archivo_arr[count($archivo_arr) - 1];
  10.                 $ruta_completa = ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/".$ruta);
  11.                 if( !file_exists( $ruta_completa)) {
  12.                  die( "No existe $ruta_completa" );
  13.                 }
  14.                 header("Content-Disposition: attachment; filename=".$archivo."");
  15.                 header("Content-type: application/octet-stream");
  16.                 header("Content-Length: ".filesize($ruta_completa));
  17.                 @readfile($ruta_completa);    
  18.         break;
  19.         case 'insertar':
  20.             include('modulos/descargas/vistas/insertar.html.php');
  21.         break;
  22.         case 'editar':
  23.             //if(!empty($_SESSION['usuario_id'])){
  24.                 $id = intval($_GET['id']);
  25.                 $items_descarga = $MOD['descargas']->getDescarga($id);
  26.                 if ($items_descarga){
  27.                     $item_descarga = $items_descarga[0];
  28.                     include('modulos/descargas/vistas/editar.html.php');
  29.                 } else {
  30.                     echo "No existe el delegado con el ID indicado";
  31.                 }
  32.             //} else {
  33.                 //echo "Usted no tiene permisos";
  34.             //}
  35.         break;
  36.         case 'guardar_descarga':
  37.             if(is_uploaded_file($_FILES['fichero']['tmp_name'])) {
  38.                         // me verifica haya sido cargado el archivo
  39.                     //$ruta_destino = "C:/xampp/htdocs/repasos/descargas9/archivos/";
  40.                     //$ruta_destino = "C:/xampp/htdocs/proyecto_cisco/modulos/descargas/archivos/";
  41.                     $ruta_destino = $_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/';
  42.                     $namefinal= trim ($_FILES['fichero']['name']);
  43.                     $namefinal= ereg_replace (" ", "", $namefinal);
  44.                     $uploadfile= $ruta_destino . $namefinal;
  45.                     if(move_uploaded_file($_FILES['fichero']['tmp_name'], $uploadfile)) {
  46.                             echo "<b>Upload exitoso!. Datos:</b><br>";
  47.                             echo "Nombre: <i><a href=\"".$ruta_destino . $_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
  48.                             echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
  49.                             echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
  50.                             echo "<br><hr><br>";
  51.                             $id = intval($_POST['hdn_id']);
  52.                             $nombre_archivo  = $_POST["nombre_archivo"];
  53.                             $description  = $_POST["description"];
  54.                             if (empty($id)) {
  55.                                 if ($MOD['descargas']->setDescarga($nombre_archivo, $description, $ruta ,$tipo,$size)){
  56.                                     echo "<center>Registro exitoso!. Espere unos instantes</center>";
  57.                                     echo "<meta http-equiv=\"refresh\" content=\"3;URL=index.php?mod=descargas&pag=listado\">\n";
  58.                                 } else {
  59.                                     echo "El registro no fue exitoso";
  60.                                 }
  61.                             } else {
  62.                                 if ($MOD['descargas']->setDescarga($nombre_archivo, $description, $ruta, $tipo, $size, $id)){
  63.                                     echo "<center>Actualización exitosa!. Espere unos instantes</center>";
  64.                                     echo "<meta http-equiv=\"refresh\" content=\"3;URL=index.php?mod=descargas&pag=listado\">\n";
  65.                                 } else {
  66.                                     echo "La actualización no fue exitosa";
  67.                                 }
  68.                             }
  69.                                                    
  70.                     }
  71.              }
  72.         break;
  73.         case 'eliminar':
  74.             $id = $_GET['id'];
  75.             if (!empty($id)) {
  76.                 if ($MOD['descargas']->delDescargas($id)){
  77.                     echo "El registro se elimino!. Espere unos instantes";
  78.                     echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=descargas&pag=listado\">\n";
  79.                 } else {
  80.                     echo "El registro no pudo ser eliminado. Puede que este ya no exista";
  81.                 }
  82.             } else {
  83.                 echo "Error 403: Acceso incorrecto";
  84.             }
  85.         break;
  86.         case 'listado':
  87.         default:
  88.             $items_descarga = $MOD['descargas']->getDescargas();
  89.             //if(!empty($_SESSION['usuario_id'])){
  90.                 include('modulos/descargas/vistas/listar.html.php');
  91.             //} else {
  92.                 //include('modulos/cursos/vistas/listado_visitante.html.php');
  93.             //}
  94.     }
  95. ?>
Bueno la cosa es q ya intente de todo como les decia ahora cuando hago descargar me vota lo siguiente

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\proyecto_cisco\index.php:19) in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\d escargas.ctrl.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\proyecto_cisco\index.php:19) in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\d escargas.ctrl.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\proyecto_cisco\index.php:19) in C:\xampp\htdocs\proyecto_cisco\modulos\descargas\d escargas.ctrl.php on line 16
ÿØÿà�JFIF������ÿþ�;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90 ÿÛ�C�     ÿÛ�C    ÿÀ���"�ÿÄ�����������  ÿÄ�µ���}�!1AQa"q2‘¡#B±Á RÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦

Estuve arreglado todo esto pero no puedo y no se que mas hacer las lineas 14,15,16 son estan
Código php:
Ver original
  1. header("Content-Disposition: attachment; filename=".$archivo."");
  2.                 header("Content-type: application/octet-stream");
  3.                 header("Content-Length: ".filesize($ruta_completa));
Que esta en mi controlador ahora index.php 19 es de mi index madre la principal no se que mas hacer
  #30 (permalink)  
Antiguo 12/03/2009, 14:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Sintaxis descargar POO

Ya te comente que tienes que hacer, si no arreglas ese punto no va a servir tu sistema de descargas, tienes que evitar la salida de texto (lease HTML, texto plano, hojas de estilo, etc.) en la linea 19 de tu index.php.

Si no puedes quitar el texto ahí entonces vas a tener que mover el proceso de tus scripts a antes de la salida, por eso te decia que la forma "normal" de programar en PHP es así:
Código php:
Ver original
  1. <?php
  2. // - Iniciar sesión o algo por el estilo si es necesario
  3.  
  4. // - Lees datos de alguna sesión, comprobar un user, etc.
  5.  
  6. if( procesar() ) { // Si hay que procesar algo (un formulario, o una variable get o algo asi)
  7.        // Realizar proceso
  8.  
  9.        // En tu caso aqui envias los headers para descargar el archivo, y lees el file
  10.        // y terminas con un exit();
  11. }
  12.  
  13. // - Realizas mas procesos del script que sean necesarios y levantas variables para la "vista"
  14. //   por ejemplo
  15. $title = "Pagina 1";
  16. $mensaje = "Hola";
  17. ?>
  18. <!-- es a partir de aqui que empiezas con todo tu html ya que acabo el proceso PHP -->
  19. <html>
  20.     <head>
  21.           <title><?php echo $title; ?></title>
  22.     </head>
  23.     <body>
  24.           <h1><?php echo $title; ?></h1>
  25.           <p><?php echo $mensaje; ?></p>
  26.     </body>
  27. </html>

Si sigues ese proceso de diseño vas a evitar problemas como el que pones, ya que si no quitas esa salida de texto NO, repito NO vas a poder descargar el archivo correctamente, porque el contenido de texto se va a inyectar como contenido binario.

Aunque ahorita pensando una solución puede ser usar ob_start() y ANTES de enviar las cabeceras poner ob_end_clean() para borrar lo que habia antes del buffer, aunque repito es un "parche" es mejor si diseñas los scripts como te indico

Saludos
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 16:04.