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<center>
<table border="1">
<tr>
<th align="center" colspan="6"> Lista Descargas Disponibles </th>
</tr>
<tr>
<td>ID</td>
<td>titulo</td>
<td>descripcion</td>
<td align="center" colspan="3">Opciones</td>
</tr>
<?php
foreach ($items_descarga as $item_descarga) {
?>
<tr>
<td><?php echo $item_descarga->id ?></td>
<td><?php echo $item_descarga->name ?></td>
<td><?php echo $item_descarga->description ?></td>
<td> <a href="index.php?mod=descargas&pag=editar&id=<?php echo $item_descarga->id; ?> "> modificar </a>
</td>
<td>
<a href="index.php?mod=descargas&pag=eliminar&id=<?php echo $item_descarga->id; ?> ">Eliminar</a>
</td>
<td>
<a href="index.php?mod=descargas&pag=zona_descarga&ruta=<?php echo 'archivos/'.$item_descarga->ruta; ?>">Descargar</a></div>
</td>
</tr>
<?php
}
?>
<tr>
<td colspan="6" align="left">Nro de Resultados:
<?php echo count($items_descarga); ?></td>
</tr>
<tr><td colspan="6" align="center">
<a href="index.php?mod=descargas&pag=insertar" >Nuevo Descarga</a></td></tr>
</table>
</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<?php
$ruta = $_GET['ruta'];
$archivo_arr = explode ($_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/',$ruta); //$archivo_arr = explode( "C:/xampp/htdocs/repasos/descargas9/archivos/", $ruta );
$archivo = $archivo_arr[count($archivo_arr) - 1];
die( "No existe $ruta" ); }
header( "Content-Disposition: attachment; filename=".$archivo.""); header( "Content-type: application/octet-stream" ); header("Content-Length: ".filesize($ruta)); //header que envia al navegador el tamaño del archivo. ?>
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<?php
$pagina = $_GET['pag'];
include('modulos/descargas/descargas.mod.php');
$MOD['descargas'] = new Descargas();
switch($pagina) {
case 'zona_descarga':
$ruta = ($_GET['ruta']);
$archivo_arr = explode ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/archivos/",$ruta); $archivo = $archivo_arr[count($archivo_arr) - 1]; $ruta_completa = ("C:/xampp/htdocs/proyecto_cisco/modulos/descargas/".$ruta);
die( "No existe $ruta_completa" ); }
header("Content-Disposition: attachment; filename=".$archivo.""); header("Content-type: application/octet-stream"); break;
case 'insertar':
include('modulos/descargas/vistas/insertar.html.php');
break;
case 'editar':
//if(!empty($_SESSION['usuario_id'])){
$items_descarga = $MOD['descargas']->getDescarga($id);
if ($items_descarga){
$item_descarga = $items_descarga[0];
include('modulos/descargas/vistas/editar.html.php');
} else {
echo "No existe el delegado con el ID indicado";
}
//} else {
//echo "Usted no tiene permisos";
//}
break;
case 'guardar_descarga':
// me verifica haya sido cargado el archivo
//$ruta_destino = "C:/xampp/htdocs/repasos/descargas9/archivos/";
//$ruta_destino = "C:/xampp/htdocs/proyecto_cisco/modulos/descargas/archivos/";
$ruta_destino = $_SERVER['DOCUMENT_ROOT'].'/proyecto_cisco/modulos/descargas/archivos/';
$namefinal= trim ($_FILES['fichero']['name']); $uploadfile= $ruta_destino . $namefinal;
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"".$ruta_destino . $_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
echo "<br><hr><br>";
$id = intval($_POST['hdn_id']); $nombre_archivo = $_POST["nombre_archivo"];
$description = $_POST["description"];
if ($MOD['descargas']->setDescarga($nombre_archivo, $description, $ruta ,$tipo,$size)){
echo "<center>Registro exitoso!. Espere unos instantes</center>";
echo "<meta http-equiv=\"refresh\" content=\"3;URL=index.php?mod=descargas&pag=listado\">\n";
} else {
echo "El registro no fue exitoso";
}
} else {
if ($MOD['descargas']->setDescarga($nombre_archivo, $description, $ruta, $tipo, $size, $id)){
echo "<center>Actualización exitosa!. Espere unos instantes</center>";
echo "<meta http-equiv=\"refresh\" content=\"3;URL=index.php?mod=descargas&pag=listado\">\n";
} else {
echo "La actualización no fue exitosa";
}
}
}
}
break;
case 'eliminar':
$id = $_GET['id'];
if ($MOD['descargas']->delDescargas($id)){
echo "El registro se elimino!. Espere unos instantes";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=descargas&pag=listado\">\n";
} else {
echo "El registro no pudo ser eliminado. Puede que este ya no exista";
}
} else {
echo "Error 403: Acceso incorrecto";
}
break;
case 'listado':
default:
$items_descarga = $MOD['descargas']->getDescargas();
//if(!empty($_SESSION['usuario_id'])){
include('modulos/descargas/vistas/listar.html.php');
//} else {
//include('modulos/cursos/vistas/listado_visitante.html.php');
//}
}
?>
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 originalheader("Content-Disposition: attachment; filename=".$archivo.""); header("Content-type: application/octet-stream");
Que esta en mi controlador ahora index.php 19 es de mi index madre la principal no se que mas hacer