Foros del Web » Programando para Internet » PHP »

Error en archivo

Estas en el tema de Error en archivo en el foro de PHP en Foros del Web. Hola, he buscado en internet, en libros, etc y no he encontrado la forma de poder abrir un archivo que se encuentra en una carpeta ...
  #1 (permalink)  
Antiguo 09/05/2006, 09:44
Avatar de Enigmatico  
Fecha de Ingreso: mayo-2006
Mensajes: 8
Antigüedad: 11 años, 7 meses
Puntos: 0
Error en archivo

Hola, he buscado en internet, en libros, etc y no he encontrado la forma de poder abrir un archivo que se encuentra en una carpeta diferente a la de mi sitio. La carpeta tiene los atributos necesarios y contiene el archivo buscado.
Alguien podría explicarme por favor como se hace??
Mi código es el siguiente:

<?
$localizado=0;
$f = opendir("c:/iconos/");

$buscado="Wv4.jpg";
// Leemos todos los archivos mediante un ciclo y comparamos si existe el buscado.
while(false !==($archivo=readdir($f)))
{
printf("<br>%s",$archivo);
if (!strcmp($archivo,$buscado))
$localizado=1;
}

if ($localizado==1)
{
printf("<br><a href='c:/iconos/$buscado'\" target=nueva> Ver </a>");
}
else
{
printf("<br>Archivo no encontrado %s",$buscado);
}

closedir($f);
?>
  #2 (permalink)  
Antiguo 09/05/2006, 10:15
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
1) Este código:

printf("<br><a href='c:/iconos/$buscado'\" target=nueva> Ver </a>");

no sirve, estaría indicando que se muestre un archivo desde el disco C del cliente.

2) El código se puede simplicar a esto:

Código PHP:
<?php
   $buscado
="Wv4.jpg";

   if(
file_exists("c:/iconos/$buscado"))
      echo 
"<br><a href='mostrar.php?file=$buscado' target='nueva'> Ver </a>";
   else
      echo 
"<br>Archivo no encontrado $buscado";
?>
mostrar.php sería un script que haga la descarga o muestre el archivo en el navegador, algo asi:

mostrar.php
Código PHP:
<?php
   header
("Content-type: image/jpeg");
   echo 
readfile($_GET['file']);
?>
Tambien podría agregarse dicho código al mismo script.
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 13:11.