+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| nombre | varchar(50) | NO | | | |
| descripcion | varchar(80) | NO | | | |
| image | blob | YES | | NULL | |
| type | varchar(30) | NO | | | |
| size | int(11) | NO | | | |
+-------------+-------------+------+-----+---------+----------------+
/*
*VISTA VER FOTOS
*/
/*
*VISTA INDEX
*/
Id | Nombre Foto | Descripcion | Borrar | Descargar |
---|---|---|---|---|
link($dbbanner['Bdbanner']['nombre'],'/bdbanners/verfotos/'.$dbbanner['Bdbanner']['id']); ?> | link("Borrar",'/bdbanners/borrar/'.$dbbanner['Bdbanner']['id']); ?> | link("Descargar",'/bdbanners/dowload/'.$dbbanner['Bdbanner']['id']); ?> |
/*
*VISTA INGRESAR
*/
Ingresar nueva Foto a la Base de datos
/*
*MODELO
*/
class Bdbanner extends AppModel{
var $name = 'Bdbanner';
var $validate = array('nombre'=>array('rule'=>'alphaNumeric','message'=>'Solo se aceptan Letras y Números'));
}
?>
/*
*CONTROLADOR
*/
class BdbannersController extends AppController{
var $name = 'Bdbanners';
/*
*Funcion: permite visualizar la informacion principal
*/
function index(){
$this->set('dbbanners',$this->Bdbanner->findAll());
}
/*
*Funcion: permite ingresar un nuevo archivo del tipo banner
*/
function ingresar(){
if(!empty($this->data)){
/*Permite cargar la imagen y determinar si no fue pasado un archivo no permitido*/
if(!is_uploaded_file($this->data['Bdbanner']['image']['tmp_name'])){
$this->flash('El archivo se encuentra con error','/bdbanners/');
return;
}
$fileData = fread(fopen($this->data['Bdbanner']['image']['tmp_name'], "r"),
$this->data['Bdbanner']['image']['size']);
$this->data['Bdbanner']['type']=$this->data['Bdbanner']['image']['type'];
$this->data['Bdbanner']['size']=$this->data['Bdbanner']['image']['size'];
$this->data['Bdbanner']['image'] =$fileData;
if($this->Bdbanner->save($this->data)){
$this->flash('Los datos Fueron Guardados Satisfactoriamente','/bdbanners/');
}else{
$this->flash('No se Pudieron Guardar los datos Intente Nuevamente','/bdbanners/');
}
}
}
/*
*Funcion: permite ver la foto
*/
function verfotos($id = null){
$this->Bdbanners->id = $id;
$this->set('bdbanners_info',$this->Bdbanner->read());
}
/*
*Funcion: Permite borrar una entrada
*/
function borrar($id = null){
$this->Bdbanner->del($id);
$this->flash('La imagen fue borrada satisfactoriamente','/bdbanners');
}
/*
*Funcion: permite recuperar o descargar los datos
*/
function dowload($id){
$file = $this->Bdbanner->findById($id);
header('Content-type: ' . $file['Bdbanner']['type']);
echo $file['Bdbanner']['image'];
/*header('Content-length: ' . $file['Bdbanner']['size']);
header('Content-Disposition: attachment; filename="'.$file['Bdbanner']['nombre'].'"');*/
exit();
}
}
?>
No hay comentarios:
Publicar un comentario