Ver Mensaje Individual
  #29 (permalink)  
Antiguo 12/03/2009, 14:01
majony
(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