PHP - Abrir archivos en Devian

 
Vista:

Abrir archivos en Devian

Publicado por Kenneth (5 intervenciones) el 06/06/2021 04:41:58
Hola,

Muchas gracias de antemano, mi consulta es la siguiente:

Tengo una máquina virtual y ahí tengo una carpeta con varios archivos, ocupo que al abrirlos solo ciertos formatos se visualicen en pantalla y otros los descargue, adjunto la forma en que los llamo y los abro, pero algunos los visualiza y otros no, y los pdf que visualizan no los puedo descargar ya que los abre como php, les agradecería la ayuda:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//Declara ruta carpeta del usuario
$ruta = getenv('HOME_PATH').'/'.$_SESSION["usuario"].'/'.$archivo;
// $ruta  = getenv('HOME_PATH').'/'.$_SESSION["usuario"];
$file = fopen($ruta,"r");
$contenido = fread($file, filesize($ruta));
$mime = mime_content_type($ruta);
 
//header("Content-type: application/pdf");
if($mime == 'application/pdf'){
    header("Content-type: ". $mime);
    echo $contenido;
} else if($mime == 'image/png'){
    header("Content-type: ". $mime);
    echo $contenido;
}else if($mime == 'image/jpeg'){
    header("Content-type: ". $mime);
    echo $contenido;
}else if($mime == 'image/pjpeg'){
    header("Content-type: ". $mime);
    echo $contenido;
}else{
    header("Content-Disposition: attachment; filename=".$archivo);
    header("Content-type: ". $mime);
    header("Content-length: ".filesize($ruta));
    readfile($ruta);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Abrir archivos en Devian

Publicado por joel (1269 intervenciones) el 06/06/2021 13:22:17
Hola kenneth, has revisado el content type del archivo que no te abre?? puede ser que no sea un tipo application/pdf?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir archivos en Devian

Publicado por Kenneth (5 intervenciones) el 06/06/2021 21:48:15
Muchas gracias joel,

La cuestión es que alguno pdf si los visualiza, pero si le doy descargar lo hace en formato php, y obviamente no me deja abrirlo después, lo mismo pasa cuando quiero abrir un png, te adjunto una imagen para que la veas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Abrir archivos en Devian

Publicado por joel (1269 intervenciones) el 07/06/2021 08:14:05
Hola Kenneth, la verdad es que no se muy bien que ver en la foto... parece que estas abriendo un archivo .cfm, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir archivos en Devian

Publicado por Kenneth (5 intervenciones) el 07/06/2021 18:29:20
Hola joel,

Es lo que te digo, se supone que el archivo que estoy abriendo es un pdf, pero lo que el visualizador lee es un archivo php.

Lo que no se es si las instrucciones que estoy poniendo están buenas o se puede hacer de otra forma, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Abrir archivos en Devian

Publicado por joel (1269 intervenciones) el 08/06/2021 08:19:48
Haz una prueba Kenneth, pos simplemente este código:
1
2
3
4
5
6
7
$ruta = getenv('HOME_PATH').'/'.$_SESSION["usuario"].'/'.$archivo;
// $ruta  = getenv('HOME_PATH').'/'.$_SESSION["usuario"];
$file = fopen($ruta,"r");
$contenido = fread($file, filesize($ruta));
$mime = mime_content_type($ruta);
 
echo $mime;

haber que tipo de archivo te indica que es.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir archivos en Devian

Publicado por Kenneth (5 intervenciones) el 08/06/2021 18:31:45
Hola joel,

Si lo pongo como dices me sale

directory

Si le agrego lo siguiente:

$archivo = $_GET['arch'];
//Inicio la sesión
session_start();

Me sale:

application/pdf
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir archivos en Devian

Publicado por katas (1 intervención) el 08/06/2021 19:26:31
Entonces esta funcionando correctamente, no? no entiendo donde puede estar el problema¿?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Abrir archivos en Devian

Publicado por Kenneth (5 intervenciones) el 08/06/2021 19:34:22
Como dices, al parecer funciona correctamente, le consulté a mi profesor y de igual forma quedó extrañado, quedé de buscar a ver qué puede ser y si averiguaba me decía, pero de momento nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar