Internet é muito bom! Acabei de postar o “Senha Randomica” e já recebi uma resposta no Twitter do @Edir.
Ele me mandou um código que gera uma senha com apenas uma linha.
<?
echo substr(md5(rand()), 0, 10);
?>
A linha é muito legal e funciona muito bem.
O unico problema é que você não pode dizer os caracteres que você quer. (Mas isso é detalhe.
Valeu @Edir.
Meu parceiro de alguns anos de internet! ;)
O soldado Ride!
Abs
Manzano
Quando precisamos trabalhar com as diversas web services ou API’s que tem na internet (Twitter, Facebook, Flickr… ou até mesmo sistemas privados) nós deparamos com programações diferentes, digo em relação a OO ou ARRAYS (eu particularmente prefiro arrays)… nos vamos usar uma API ou classe de terceiros ou ate mesmo do PHP que nós retornar um objeto (como trabalhar com XML no PHP), mas gostamos de array… ou a classe retorna um array mas o nosso sistema está todo arrumadinho com o famosa Programação Oriantada a Objetos… o que fazemos?? Usamos essas duas funções(zinhas) abaixo.
<?
function array2object($array) {
if (is_array($array)) {
$obj = new StdClass();
foreach ($array as $key => $val){
$obj->$key = $val;
}
}
else { $obj = $array; }
return $obj;
}
function object2array($object) {
if (is_object($object)) {
foreach ($object as $key => $value) {
$array[$key] = $value;
}
} else {
$array = $object;
}
return $array;
}
// usando a funcao
$array = array(‘nome1’ => ‘gabriel’, ‘nome2’ => ‘manzano’);
$obj = array2object($array);
echo $obj->nome2; // retorna “manzano”
echo “<br/>”;
$arr = object2array($obj);
echo $arr[‘nome1’]; // retrona “gabriel”
?>
Abs
Manzano
Está ai mais um função bem simples que implementei. ;)
Em alguns sistemas precisamos colocar “Esqueci minha senha” para os usuários mais esquecidos, mas para quem salva a senha do usuário criptografada com o MD5() e SHA1() que não podem ser quebradas tão facilmente fica dificil informar a senha para o usuário. Então temos que gerar uma nova senha e enviar para o e-mail dele. Por isso criei essa função…
Lógico que há outras formas de alterar a senha, sem precisar gerar uma nova… mas isso não vem ao caso ;p.
A função é bem simples… basicamente ela conta quantos caracteres contem em sua variavel de letras (que é opcional) e faz um loop com a quantidade de caracteres que voce pediu. Em cada loop ela pega um numero randomico entre 0 e a quantidade de caracteres e adiciona em sua senha.
Coloquei a variavel $caracteres como parametro na função porque, se por algum motivo, você precisar gerar senhas somente com números por exemplo, vai ficar muito mais simples!
La vem o códico:
<?
function senhaRandomica($tamanho, $caracteres = ‘abcdefgh1234567890ABCDEFGH’){
if($caracteres == ”){
return ”;
}
$carac_tamanho = strlen($caracteres)-1;
$senha = ”;
while(strlen($senha) < $tamanho){
$rand_carac = mt_rand(0, $carac_tamanho);
$senha .= $caracteres[$rand_carac];
}
return $senha;
}//Testando a nossa nova senha.
echo senhaRandomica(10);
echo “<br>”;
//Testando a nossa senha somente com números.
echo senhaRandomica(10,”1234567890”);
?>
Qualquer probleminha me manda um e-mail!
Abs
Manzano
Função muito interessante e até então desconhecida por mim.
Em alguns sistemas que trabalho preciso usar o CPF como Login, eu poderia usar o VARCHAR(11) no banco de dados para manter os zeros a esquerda e tratar o CPF como string ou usar o BIGINT(11) para fazer uma busca mais rapida e ignorar os zeros a esquerda.
O problema é imprimir para o usuario o CPF dele 223476567 sendo que o CPF dele é o 00223476567… então descobri essa função, que resolve o meu problema, ela adiciona valores a uma string.
No meu caso:
<?php echo str_pad($linha[“cpf”], 11, “0”, STR_PAD_LEFT ); ?>
Documentação PHP.NET: (editada ;p)
<?php
$input = ”Manzano”;
echo str_pad($input, 10);// Retorna “Manzano “
echo str_pad($input, 10, ”-=”, STR_PAD_LEFT);// Retrona “-=-Manzano”
echo str_pad($input, 10, ”_”, STR_PAD_BOTH);// Retorna “_Manzano__
echo str_pad($input, 8 , ”___”);// Retorna “Manzano_”
?>
Link da documentação:
http://www.php.net/manual/en/function.str-pad.php
É isso ai, só uma dica!
Manzano
Veja em alguns sites aquele texto “adicionado há 3 dias atrás” no lugar da data do cadastro. Isso é muito interessante e trás uma informação mais rápida e clara. Pensei em fazer uma função que fizesse esse calculo, deu certo e funcionou muito bem, vou compartilhar com vocês!
Para fazer o calculo vamos usar o UNIX TIMESTAMP, que são os segundos desde 1 de janeiro de 1970.
Vamos la, a função:
<?php
function temposAtras($tempo){
$timet = 3600*24;
$dias = floor($tempo/$timet);
$horas = floor($tempo/3600);
$minutos = floor($tempo/60);
$segundos = $tempo;
if ($dias>0)
$tempo =”$days dia”.(($dias>1)?”s”:”“).” atrás”;
else if ($horas>0)
$tempo =”$hours hora”.(($horas>1)?”s”:”“).” atrás”;
else if ($minutos>0)
$tempo =”$minutes minuto”.(($minutos>1)?”s”:”“).” atrás”;
else
$tempo =”$seconds segundo”.(($segundos>1)?”s”:”“).” atrás”;
return $tempo;
}
?>
Para executar o nosso script:
<?php
$dataBanco = strtotime($variavel[“campa_datetime”]);
$diferenca = time()-$dataBanco;
echo temposAtras($diferenca);
?>
Usei o strtotime() do PHP para poder transformar a minha data do banco (formato: Y-m-d H:i:s) para timestamp.
É bem simples de implementar, qualquer dúvida me manda um e-mail.
Abs
Manzano
Olha só o que acontece quando a seleção da Alfama entra em campo… RSRS, ainda bem que trabalhamos com Tecnologia e Educação.
PHP Sergipe
Muito legal ver gente trabalhando para dissipar o PHP aqui em Sergipe. Essa comunidade fou criada por Bruno Antônio, Edbraulio Vieira e Pedro José.
Eles estão procurando novos participantes para a comunidade, caso você tenha um perfil de pesquisador, estudante, trabalha com o php ou é apaixonado pela linguagem, envie um e-mail através da página de contato e ajude a comunidade a crescer e divulgar cada vez mais essa linguagem em Sergipe.


Faça anotações na Web e não esqueça mais nada!
Notafacil.com, ecologicamente correta.
Clique aqui para acessar! ;)