Retornar um ou mais elementos aleatórios de um array

O array_rand é um método nativo do PHP que traz a possibilidade de retonrar um ou mais elementos aleatórios de um array.

Exemplo obtido no php.net
<?php
$input = array(“Neo”, “Morpheus”, “Trinity”, “Cypher”, “Tank”);
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . “\n”;
echo $input[$rand_keys[1]] . “\n”;
?>

Outro exemplo:
<?php
$input = array(“Neo”, “Morpheus”, “Trinity”, “Cypher”, “Tank”);
$rand_keys = array_rand($input, 1);
echo $input[$rand_keys] . “\n”;
?>

Resultado: alguma palavra aleatória do array $input;

<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> PHP | <span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> | Leave a comment

Comparar Tabelas Banco de Dados SQL Server

Comparando as estruturas de todas as tabelas de dois bancos de dados diferentes no SQL Server

[sql] use Banco1 SELECT CONCAT(t.name, ‘.’, c.name, ‘ (‘, tp.name, ‘, ‘, c.length, ‘, ‘, c.isnullable, ‘)’) TabelaCampoTipoTamanhoNull, t.name Tabela, c.name Campo, tp.name Tipo, c.length Tamanho, c.isnullable PerniteNull
into #EstruturaA FROM SYSCOLUMNS c inner join SYSOBJECTS t on t.id = c.id inner join SYSTYPES tp on tp.xtype = c.xtype where t.xtype = ‘U’ go use Banco2 SELECT CONCAT(t.name, ‘.’, c.name, ‘ (‘, tp.name, ‘, ‘, c.length, ‘, ‘, c.isnullable, ‘)’) TabelaCampoTipoTamanhoNull, t.name Tabela, c.name Campo, tp.name Tipo, c.length Tamanho, c.isnullable PerniteNull into #EstruturaB FROM SYSCOLUMNS c inner join SYSOBJECTS t on t.id = c.id inner join SYSTYPES tp on tp.xtype = c.xtype where t.xtype = ‘U’ go — Lista as Tabelas e Campos que só existem no A, e logicamente não existem no B SELECT TabelaCampoTipoTamanhoNull ExisteSomenteNoBancoB, Tabela, Campo, Tipo, Tamanho, PerniteNull FROM #EstruturaB where TabelaCampoTipoTamanhoNull not in (SELECT TabelaCampoTipoTamanhoNull FROM #EstruturaA) — Lista as Tabelas e Campos que só existem no B, e logicamente não existem no A SELECT TabelaCampoTipoTamanhoNull ExisteSomenteNoBancoA, Tabela, Campo, Tipo, Tamanho, PerniteNull FROM #EstruturaA where TabelaCampoTipoTamanhoNull not in (SELECT TabelaCampoTipoTamanhoNull FROM #EstruturaB) drop table #EstruturaA; drop table #EstruturaB; [/sql]
<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> SQL | <span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> , , | Leave a comment

Curso PHP do Básico ao Avançado

Um post diferente do blog…

Comprei esse livro sobre PHP e gostaria de compartilhar com vocês devido a boa experiência que tive.

Acesse a URL clicando aqui e veja todo conteúdo do curso.

Observação: Se você não gostar do curso ou achar que não é para você basta cancelar a inscrição e você terá seu dinheiro 100% de volta.

<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> MySQL, PHP | <span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> , | Leave a comment

Limpar Cache NPM

Por vezes o NPM acumula cache e dá erros como “npm ERR! Unexpected end of JSON input while parsing near”. Ideal limpar o cache e executar novamente o mesmo comando.

Comando Clear Cache

npm cache clean –force

<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> IONIC | <span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> | Leave a comment

Encontrar CEP – Consulta CEP Gratuito

Um bom site para consulta de cep gratuitamente via JQuery.

<html>
    <head>
    <title>Encontrar CEP</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <!-- Adicionando JQuery -->
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"
            integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
            crossorigin="anonymous"></script>

    <!-- Adicionando Javascript -->
    <script type="text/javascript" >

        $(document).ready(function() {

            function limpa_formulário_cep() {
                // Limpa valores do formulário de cep.
                $("#rua").val("");
                $("#bairro").val("");
                $("#cidade").val("");
                $("#uf").val("");
                $("#ibge").val("");
            }
            
            //Quando o campo cep perde o foco.
            $("#cep").blur(function() {

                //Nova variável "cep" somente com dígitos.
                var cep = $(this).val().replace(/\D/g, '');

                //Verifica se campo cep possui valor informado.
                if (cep != "") {

                    //Expressão regular para validar o CEP.
                    var validacep = /^[0-9]{8}$/;

                    //Valida o formato do CEP.
                    if(validacep.test(cep)) {

                        //Preenche os campos com "..." enquanto consulta webservice.
                        $("#rua").val("...");
                        $("#bairro").val("...");
                        $("#cidade").val("...");
                        $("#uf").val("...");
                        $("#ibge").val("...");

                        //Consulta o webservice encontrarcep.com.br/
                        $.getJSON("https://www.encontrarcep.com.br/api/"+ cep, function(dados) {

                            if (!("erro" in dados)) {
                                //Atualiza os campos com os valores da consulta.
                                $("#rua").val(dados.logradouro);
                                $("#bairro").val(dados.bairro);
                                $("#cidade").val(dados.localidade);
                                $("#uf").val(dados.uf);
                                $("#ibge").val(dados.ibge);
                            } //end if.
                            else {
                                //CEP pesquisado não foi encontrado.
                                limpa_formulário_cep();
                                alert("CEP não encontrado.");
                            }
                        });
                    } //end if.
                    else {
                        //cep é inválido.
                        limpa_formulário_cep();
                        alert("Formato de CEP inválido.");
                    }
                } //end if.
                else {
                    //cep sem valor, limpa formulário.
                    limpa_formulário_cep();
                }
            });
        });

    </script>
    </head>

    <body>
    <!-- Inicio do formulario -->
      <form method="get" action=".">
        <label>Cep:
        <input name="cep" type="text" id="cep" value="" size="10" maxlength="9" /></label><br />
        <label>Rua:
        <input name="rua" type="text" id="rua" size="60" /></label><br />
        <label>Bairro:
        <input name="bairro" type="text" id="bairro" size="40" /></label><br />
        <label>Cidade:
        <input name="cidade" type="text" id="cidade" size="40" /></label><br />
        <label>Estado:
        <input name="uf" type="text" id="uf" size="2" /></label><br />
        <label>IBGE:
        <input name="ibge" type="text" id="ibge" size="8" /></label><br />
      </form>
    </body>

    </html>
<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> JavaScript, JQuery, PHP | <span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> , | 2 Comments

Validar E-mail com FILTER no PHP

Existem inúmeras formas de validar e-mail no PHP e em diversas outras tecnologias.

Para os programadores PHP existe a constante FILTER_VALIDATE_EMAIL utilizada para validação de e-mails.

Como sempre vamos direto ao uso.

<?php
$email = "validacao-email@ctasoftware.com.br";

// Remove os caracteres ilegais, caso tenha
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Valida o e-mail
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo("$email é um e-mail válido.");
} else {
    echo("$email não é um e-mail válido.");
}
?>

Até a próxima.

<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> PHP | <span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> | Leave a comment

Path do storage_path Laravel no Windows

Sabemos que no Laravel utilizamos o storage_path para utilização de imagens e arquivos para download públicos.

Caso esteja utilizando o storage do Laravel para armazenar os arquivos se faz necessário a execução do comando php storage storage:link para que o Laravel passe a entender o uso da pasta storage/public.

Até mais.

<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> PHP | <span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> | Leave a comment

Converter Data em PHP com apenas uma linha

Converter o formato de data do banco (funciona para o MySQL e outros bancos) para o formato brasileiro em php.

Considerando que :
mostrará 09/12/2018 22:00:06.
mostrará 09/12/2018.

Simples assim. 🙂

Essa solução funciona para datas no formato yyyy-mm-dd hh:mm:ss e yyyy-mm-dd.
Dá para fazer também o inverso, alterando o formato das datas, basta brincar.

<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> MySQL, PHP | <span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> , , , | Leave a comment

Trecho de uma string em PHP (strpos)

Para locarlizar parte de um texto em uma string php utilize a função nativa strpos.

Exemplo:

$a = 'Como localizar parte de uma string em php?';

if (strpos($a, 'parte') !== false) {
    echo 'true';
}

Até a próxima!

<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> Sem categoria | Leave a comment

Erro comum no Laravel show ErrorException file_put_contents failed to open stream: No such file or directory

Ao acontecer esse erro ou para evitar que ocorra normalmente deve executar o comando php artisan config:cache como parte de sua rotina de implantação de produção.
  1. Remova o arquivo de cache de configuração
  2. Limpar o cache do aplicativo
  3. Crie um arquivo de cache para carregamento de configuração mais rápido

Para fazer isso, execute os seguintes comandos do Artisan em sua linha de comando

  1. php artisan config:clear
  2. php artisan cache:clear
  3. php artisan config:cache

Se você não tem acesso à linha de comando em seu servidor, você pode executar comandos programaticamente adicionando o seguinte às suas rotas:

Route::get('/clear-cache', function() {
    $exitCode = Artisan::call('config:clear');
    $exitCode = Artisan::call('cache:clear');
    $exitCode = Artisan::call('config:cache');
    return 'DONE'; //Return anything
});

E então chame a clear-cacherota do seu navegador.

Espero que isto seja útil.

<span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> Linux, PHP | <span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> , | Leave a comment