Simples assim
Upload com Base
Bom Pessoal, vou ensinar a fazer um upload simples usando o Base.
Helper
Controller
Model
As views e os forms vou deixar para vocês.
Primeiramente vamos criar um helper para imagem
Vamos chamar esse helper de h_images.php
Caminho: app/views/helpers/h_images.php.
class HImagesHelper extends Helper
{
var $helpers = array("Html");
function image($id)
{
return $this->Html->image("/files/images/{$id}/image/origin.png");
}
}
?>
Agora vamos criar uma controller para as imagens.
Vamos chamala de galleries_controller.php
Caminho: app/controller/admin/galleries_controller.php
var $name = "Galleries";
var $helpers = array("HImages", "Fck");
var $files = array(
"image" => array(
"origin" => array("type" => "move", "ext" => "png"),
"thumb" => array("type" => "crop", "ext" => "png", "width" => 124, "height" => 86)
)
);
function index() {
$this->set("gallery", $this->Gallery->find('all'));
}
}
?>
Na controller acima eu somente movi a imagem original (ORIGIN) e cropei a imagem para THUMB,
Você pode ter quantas imagens quiser, basta duplicar a linha trocando e colocar o tamanho que quer que a imagem fique.
Só não repita o mesmo nome para as linhas duplicadas.
Agora vamos ao model.
vamos chamalo de gallery.php como padrão
Caminho: app/model/gallery.php
var $name = "Gallery";
function beforeDelete()
{
$dir = WWW_ROOT."files/images/{$this->id}";
exec("rm -Rf {$dir}");
return true;
}
}
?>
Se por um acaso, você queira montar uma galeria de fotos
você deve relacionar a galeria com as imagens
usando hasMany para Gallery e belongsTo para Images.
IMPORTANTE: Não esqueçam de dar permissão 777 para o diretorio files dentro de webroot.
No Ubuntu é chmod -R 777 files/
No Windows, clicar com o botão direito no diretorio -> propriedades e tirar o “Somente leitura”
| Print article | This entry was posted by flaviomuniz on 18/06/2009 at 12:07, and is filed under CakePhp, Github, PHP. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |

about 1 year ago
Está é uma forma simples de fazer upload, porém utilizando o Model para efetuar esta tarefa é a melhor opção. A Thaissa já desenvolveu um behavior pra isso.
Abrços.