Pages

Subscribe:

Ads 468x60px

Labels

20/12/2012

Fazendo Upload em PHP, Metodos "move_uploaded_file()" e suas variáveis.

Olá a todos!

Um recurso ou método muito interessante na linguagem PHP é o método move_uploaded_file().  Ao trabalharmos com esse método, temos várias formas de analizar o arquivo que iremos resgatar via navagador(browser).





Um dos parametros que varre o conteudo do arquivo e armazena o seu tipo é o "$_FILES['userfile']['type']".

Se debugarmos esta variável teremos como saber como o PHP interpreta os nomes dos diferentes tipos de arquivo como por exemplo:


Tipos de arquivos para upload a serem declarados e comparados por tipo:
Arquivos do tipo comprimidos:
application/x-rar-compressed .rar
application/force-download .zip
Arquivos do tipo texto:
text/comma-separated-values .csv
application/vnd.openxmlformats-officedocument.wordprocessingml.document .docx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsx
application/msword .doc
text/plain .txt
application/pdf .pdf
Arquivos do tipo Imagem:
image/jpeg .jpg
image/png .png

Sabendo-se deste recurso podemos tratar de uma forma mais elaborada os tipos de arquivos que poderemos fazer Upload.

Continua no próximo artigo...

19/12/2012

Resolvendo erro “TCPDF ERROR: Could not include font definition file: helvetica”

Recentemente tive um problema com a execução da biblioteca (conjunto de classes) de geração de arquivos no formato PDF de nome TCPDF.  Esta biblioteca já vem no pacote de instalação do Joomla! Da versão 1.5 até as últimas.  Sua estrutura de pastas pode ser encontrada acessando a raiz de seu site / CMS em:
  • /libraries/tcpdf/
img_02


 - Temos a pasta /cache/, onde fica armazenado como o próprio nome sugere o “cache” de execução das classes;
 - Também temos o /config/, que armazena as classes de configuração dos recursos e arquivos de linguagem;
 - A pasta /fonts/ é de vital importância para o carregamento dos tipos de fonte usados no sistema.  Verifique se o seu sistema Joomla! Está configurado corretamente para o tipo de fonte que se encontra nesta pasta. 
Nesta pasta só deve conter o tipo de fonte que você configurou no arquivo XML do Joomla.  No exemplo que me causou dor de cabeça com essa classe, tive de baixar a última versão do TCPDF através do link:
  •          http://sourceforge.net/projects/tcpdf/files/
img_03


Para saber qual fonte está configurada em seu arquivo de linguagem, acesse em seu Joomla! (somente nas versões 1.5) a pasta:
  •       /language/pt-BR/
img_01


Este parâmetro no arquivo de linguagem do Joomla! 1.5 (versões atuais como a 2.5 não o possui) é o que define a fonte da biblioteca de TCPDF.

Caso isso não resolva (também aconteceu comigo), teremos de recorrer a uma mudança diretamente na classe que controla a exibição do PDF (não desconfigure o que você já fez até aqui). Para isso abriremos o arquivo de classe PHP de nome “/libraries/tcpdf/tcpdf.php”.  Fazendo uma busca no arquivo pela função que controla o caminho (path) dos arquivos de fonte usados pela classe através do método:
   ->  _getfontpath()
   ->  Ou através da lógica de retorno do método: “ defined('K_PATH_FONTS') ? K_PATH_FONTS : ''; ”
img_05

Pelo incrível que pareça a solução é apenas colocar o caminho do completo onde se encontra a pasta de fontes em seu servidor de hospedagem, como por exemplo:
img_04

Um abraço a todos(as) e até logo.

Referência bibliográfica:
< http://www.tcpdf.org/index.php >

18/12/2012

Criação de Um Módulo simples no Joomla! 1.5



Para criarmos um Joomla! 1.5 Módulo está em sua forma mais básica dois arquivos: um arquivo de configuração XML e um arquivo de controlador de PHP. O arquivo de configuração XML contém informações gerais sobre o módulo (como será exibida no Gerenciador de Módulo na interface de administração do Joomla!), Bem como parâmetros de módulo, que pode ser fornecido para afinar a Aparência / funcionalidade do módulo. O arquivo PHP fornece a lógica de controle para o módulo. Um muito simples "Olá mundo" módulo pode mostrar algo como isto.

/ modules / mod_hello_world / mod_hello_world.xml:

! Nota: é muito importante, o nome do arquivo XML corresponde ao nome do módulo. Caso contrário, o instalador irá instalar o módulo, mas o Joomla não mostrará os parâmetros e informações adicionais armazenados em XML.


Basicamente, este arquivo XML apenas possui linhas com informações básicas sobre o módulo, como o proprietário, versão, etc, para identificação pelo Joomla! instalador e, em seguida, fornece parâmetros opcionais que podem ser estabelecidas no Gerenciador de Módulo e acessados ​​de dentro da lógica do módulo para afinar o seu comportamento. Além disso, este arquivo informa o instalador quais arquivos devem ser copiados e instalados. Observe que não incluímos uma referência na seção de arquivos para o arquivo XML.

/ modules / mod_hello_world / mod_hello_world.php:



O que acontece quando este módulo é carregado é que Joomla! inclui (através da diretiva include PHP) o arquivo mod_hello_world.php e armazena a saída em um buffer de saída, que é então processado para a saída da página. Este arquivo simplesmente produz a seguinte mensagem no conteúdo do site:
----------------------------------------------------------------------------------
 Olá Tudo bem, como vai?
Desenvolvido o primeiro modulo simples para Joomla 1.5.
----------------------------------------------------------------------------------

ao final da página.

/modules/mod_hello_world/index.html:
----------------------------------------------------------------------------------
<html><body bgcolor="#FFFFFF"></body></html>
----------------------------------------------------------------------------------
Isso realmente ajuda a garantir que uma página padrão é exibido se o acesso direto ao diretório é tentado sem listar todos os outros arquivos no diretório. Não é necessário, mas é uma boa prática.
Para empacotar esse módulo para distribuição e instalação, basta fechar os ficheiros em conjunto, por exemplo, no prompt de comando do Linux:

% cd mod_hello_world
% zip mod_hello_world.zip mod_hello_world.php mod_hello_world.xml index.html

Uma vez compactado com o format .zip bastará entrarmos na administação do Joomla” 1.5 e instalarmos o nosso novo módulo!

Caso queiram baixar uma versão de exemplo para instalarem em seu Joomla! 1.5.26 ou 2.5.X, disponibilizo par download atraves deste link do SourceForge: link.