João Batista Filho
-
Total de itens
2 -
Registro em
-
Última visita
Posts postados por João Batista Filho
-
-
Título: PHP Tools
Versão: 1.0
Nome: PHPtools
Versão: 1.0
Funcionalidade: Permitir um rápido acesso a ferramentas sem ter que reescrever tudo
Por que não colocar o que precisaremos sempre em um só lugar e com isso não precisar reescrever tudo sempre
Quem falou que programador não tem sua caixa de ferramentas.
Agente reuniu em um só lugar alguns métodos ( já que estamos usando class ) importantes para nosso dia a dia
Se você tinha dúvida em quando usar métodos estáticos ( funções estáticas ) aqui está uma aplicação
CONTEÚDO:
Um class tools{} foi criada com alguns métodos importantes
- Manipulação de RGB pelo nome da cor
- Mostrando para seus visitantes a hora de uma postagem por extenso. EX: " segundos atrás " etc.
- Tratamento de texto contra SQL Injection
- Convertendo caracteres
- Checar se arquivos existe em servidores da web
- Validar Email
- Validar CEP
Na prática:
Nome da classe é "tools"
Validando um email:
$email = tools::is_email('meuemail@domain.com'); if( $email ) echo 'É um email'; else echo 'Não é um email';
Cores: Um bom uso seria na hora de criar imagens não precisar escrever em RGB e sim apenas o nome da corecho tools::rgb('green'); // 0, 128, 0 echo tools::rgb('green', 1); // array(); $cor[0] - $cor[1] - $cor[2] 0, 128, 0
Tratando texto contra Sql Injection$meu_text_a_ser_inserido_no_bd = 'meu 'texto' `etc`; '; mysql_query("INSERT INTO `table` VALUES ('". tools::Nj($meu_text_a_ser_inserido_no_bd) ."')"); // OBS:. Nj = No Inject
Vamos entender melhor observando a interface PHPtools__interface.php ( Não inclusa, mostrada aqui apenas para entendimento dos métodos )<? interface phptools{ /** * Tratando cores RGB pelo nome * * Se o parâmetro 2 for omitido então será retornado uma string ex: 0,0,0 * * Se o parâmetro 2 não for omitido será retornado um array(0,0,0); * * @param string $color_name * @return array() ? * @return string ? * * Ex: tools::rgb('green'); // 0, 128, 0 * * Ex: $cor = tools::rgb('green', 1); // array(); $cor[0] - $cor[1] - $cor[2] * 0, 128, 0 */ static public function rgb($color_name); /** * E se você mostrar para seus visitantes uma mensagem agradável referente a data de uma determinada postagem. * * Exemplo: 1 minuto atrás, segundos atrás etc. * * A data cadastrada deve sempre ser nesse formato: date('d-M-Y|H-i-s'); com os traços e a barra exatamente como está ali * * Para usar basta chamar a função no local onde a data é mostrada ex: * * <code> * * $minha_data = '05-Apr-2012|18-40-50'; * * echo tools::timeEvents($minha_data); * * </code> * * @param string $eventDate * @return string; */ static public function timeEvents($eventDate); /** * Aqui estão algumas funções que podem salvar seu banco de ataques de SQL INJEÇÃO * USO: * $meu_text_a_ser_inserido_no_bd = 'meu 'texto' `etc`; '; * * mysql_query("INSERT INTO `table` VALUES ('". tools::Nj($meu_text_a_ser_inserido_no_bd) ."')"); * * OBS:. Nj = No Inject * * @param string $str * @return string tratada */ static public function Nj($str); /** * E quando você recebe um texto cheio de caracteres latinos entre outros, mas você que apenas letras sem acentos especiais * USO: * * $Texto = 'Eu gosto de café'; * echo tools::Az($Texto, '.'); * 'eu.gosto.de.cafe' * * echo tools::Az($Texto); * 'eu-gosto-de-cafe' * * OBS. O segundo parâmetro é opcional, quer dizer que você pode colocar o que quiser no lugar de espaços @#$& entre outros, por padrão será - * * @param string $string * @return string */ static public function Az($string); /** * Vamos ver se um arquivo existe em qualquer servidor da web * para isso vamos ver se retorna o codigo 200 * * USO: $File = 'http://site.com/arquivo.zip'; * * if(tools::is_200($File)) echo 'Existe'; * * @param string $url * @return bool */ static public function is_200($url); /** * Verificando se $Email é um email válido * * @param string $Email * * @return bool */ static public function is_email( $Email ); /** * Verificando se $Cep é um cep válido * * @param string $Cep * * @return bool */ static public function is_cep( $Cep ); } ?>
DOWNLOAD:
http://koretu.com/@joao_batista-reunindo-f...m-so-lugar_5400
Será que você não poderia contribuir e nos ajudar a melhorar nossa caixa de ferramentas, post ai uma função (método) útil e nos adicionaremos e mudaremos a versão para 1.1.
Abraço a todos.
Verificando se dois arquivos são iguais com porcentagem de precisão
em Repositório de Scripts - PHP
Postado
Agente está trazendo aqui uma solução para arquivos duplicados
Problema:
Um membro do seu site envia imagens ou outros arquivos, mas e se alguém começar a enviar o mesmo arquivo várias vezes o que você faria, alguém poderia usar CURL para enviar centenas de arquivos iguais e prejudicar seu servidor
Solução:
Assim como o youtube não deixa você enviar o mesmo vídeo duas vezes você também pode proibir essa ação para qualquer arquivo enviado para seu site.
Primeiro nos vamos verificar linha por linha se o arquivo enviado não é igual a outro e tudo isso com taxa de igualdade;
Obs.: Muitas funções prontas do php como similar_text não foram feitas para o que estamos mostrando aqui por não suportar grande quantidade de dados e não é segura para binários
Arquivos suportados:
Todos os tipos
NA PRÁTICA:
Vamos ver na interface um pouco dos métodos usados
EXEMPLO DE USO REAL:ARQUIVOS INCLUSOS:
- 3 imagens para teste
- equal_class.php
- equal_interface.php
- Exemplo.php
DOWNLOAD:
http://koretu.com/@joao_batista-verificand...e-precisao_5401