Páginas

sexta-feira, 5 de julho de 2013

Usando a classe JFILE:: do Joomla 1.5 para upload de arquivos

Como preparar um componente ou um módulo para FrontEnd no Jooma 1.5 para enviar arquivos para o servidor "UPLOAD", segue o seguinte exemplo.

OBS: Partindo do principio que você já saiba fazer um módulo ou componente para FrontEnd do Joomla 1.5

Exemplo:

Eu coloquei um pequeno trecho de código de um script de upload. Algumas das funções são utilizadas. O script é disparado a partir de um formulário de upload. Essa forma tem um elemento de arquivo, chamado file_upload (veja abaixo).
<form name="upload" method="post" enctype="multipart/form-data">
<input type="file_upload" name="file_upload" />
<input type="submit" />
</form>
OBS: Se você não adicionar a parte: enctype = "multipart / form-data" dentro da tag <form>, então você não consegue carregar um arquivo!

Código do UPLOAD dos arquivos:
<?php
/**/
// File Upload
/**/
//Recuperar os detalhes do arquivo a partir de arquivo enviado do formulário de upload
$file = JRequest::getVar('file_upload', null, 'files', 'array');
 
//Importar bibliotecas de arquivos.
jimport('joomla.filesystem.file');
    
//Limpe o nome do arquivo para se livrar de nomes estranhos, como espaços etc.
$filename = JFile::makeSafe($file['name']);
    
//Configure a origem eo destino do arquivo
$src = $file['tmp_name'];
$dest = JPATH_SITE . DS . "images/lixo" . DS . $filename;
    
//Primeiro, verifique se o arquivo tem a extensão que está sendo exigido nos IF´s abaixo
if ( strtolower(JFile::getExt($filename) ) == 'png' ||  strtolower(JFile::getExt($filename) ) == 'jpg' || strtolower(JFile::getExt($filename) ) == 'gif') {
//Faz a validação do Upload e retorna os avisos necessários.
if ( JFile::upload($src, $dest) ) {
   //Redirecionar para uma página de sua escolha
      
   } else {
   //Redirecionar e lançar uma mensagem de erro
   
   } else {
          //Redirecionar e notificar arquivo caso a extensão não seja a correta
   }
   /**/
   // FIM - File Upload
   /**/
?>

Fonte : http://docs.joomla.org/How_to_use_the_filesystem_package#Clean_filename

Nenhum comentário:

Postar um comentário