Mostrando las entradas con la etiqueta archivo. Mostrar todas las entradas
Mostrando las entradas con la etiqueta archivo. Mostrar todas las entradas

miércoles, 8 de febrero de 2023

Ocultar enlace directo de un archivo con php

 


Puedes ocultar un enlace directo a un archivo almacenado en tu servidor de la siguiente manera:

Crea un archivo PHP con el siguiente código:


$file = 'ruta/al/archivo';


if (file_exists($file)) {

    header('Content-Description: File Transfer');

    header('Content-Type: application/octet-stream');

    header('Content-Disposition: attachment; filename="'.basename($file).'"');

    header('Expires: 0');

    header('Cache-Control: must-revalidate');

    header('Pragma: public');

    header('Content-Length: ' . filesize($file));

    readfile($file);

    exit;

}


Reemplaza la ruta 'ruta/al/archivo' por la ruta real al archivo que deseas descargar.


Guarda este archivo PHP con un nombre apropiado, por ejemplo, descarga.php.


Comparte el enlace al archivo PHP en lugar del enlace directo al archivo.


Al acceder a este archivo PHP, se descargará el archivo correspondiente sin que el usuario vea la ruta real al archivo en el servidor.


Si deseas crear un gestor de descargas puedes utilizar variables get para pasar un id o clave codificada que en el script sea interpretada como el nombre del archivo.


O simplemente pasar el nombre del archivo y dejar un path que solo tú conozcas.

viernes, 11 de enero de 2019

Guardar archivo y mini preview de una imagen en PHP


1. Leer variables del formulario:
$vars = get_defined_vars();

2. Obtener todos los campos FILE:
extract($vars['_FILES']);

3. Definir variables con el input a trabajar:
$file_name = $PREVIEW['name'];
$file_tmp_name = $PREVIEW['tmp_name'];
$file_error = $PREVIEW['error'];

4. Cargar archivo al servidor:
$path = '../game/image/' . $ID . 'b.jpg';
move_uploaded_file($file_tmp_name, $path);

5. Guardar mini preview:
list($width, $height) = getimagesize($path);
$new_width = 233;
$new_height = 146;
$prev = imagecreatetruecolor($new_width, $new_height);
$origen = imagecreatefromjpeg($path);
imagecopyresampled($prev, $origen, 0, 0, 0, 0, $new_width, $new_height, $new_width, $new_height);
imagejpeg($prev, '../game/thumbnail/' . $ID . 'm.jpg', 70);