Do not speak Portuguese? Translate this site with Google or Bing Translator
5 funções curingas em PHP

Posted on: August 24, 2021 09:52 PM

Posted by: Renato

Categories: PHP webdev

Views: 412

5 funções curingas em PHP que todo iniciante em programação deve saber

Autor:

Mesmo quem está dando os primeiros passos na área de desenvolvimento web sabe que é necessário ter sempre à mão pequenos truques da programação para otimizar o tempo de trabalho.

PHP - com certeza a linguagem de programação mais utilizada atualmente para desenvolvimento web.

O Hypertext Preprocessor (PHP) é muito versátil e com linhas de códigos podemos fazer muitas coisas quando o assunto é o meio digital. Ele, inclusive, pode ser usado na maioria dos sistemas operacionais e, aqui, elencamos algumas funções básicas e mostramos de forma prática situações nas quais você pode usar os scripts. Na internet, você encontra muitos outros, porém, sem os exemplos mostrados a seguir:

1. Como mostrar dados de uma string XML?

O Twitter, Facebook e alguns serviços do Google passam informações por meio de suas APIs. Utilizando XML e JSON, podemos mostrar as informações de um XML através da seguinte função:

<!DOCTYPE html>
<?php

$string_xml="<?xml version='1.0'?>
<users>
   <user id='398'>
      <name>Joao</name>
      <email>[email protected]</email>
   </user>
   <user id='867'>
      <name>Fulano</name>
      <email>[email protected]</email>
   </user>
</users>";

//carrega a string xml usando a função
$xml =simplexml_load_string($string_xml);

//faz um look para cada ocorrência de "user"
foreach ($xml->user as $user)
{
   //acessa atributo
   echo $user['id'], '  ';
   //ocorrencias internas acessadas através do operador ->
   echo $user->name, '  ';
   echo $user->email, '<br />';
}

?>
<html>
<head>
</head>
<body>

<?php
    // imprime o resultado
    echo $xml;

?>

</body>
</html>

O resultado desse código PHP você pode ver aqui:

Resultado a função mostra xml.

2. Como imprimir resultados de uma string JSON sem loop?

APIs como Flickr, Twitter e outros serviços populares utilizam esse formato. Você pode utilizar, por exemplo, para mostrar os tweets que contém uma determinada hashtag, pois você pode desenvolver uma aplicação que guarda as ocorrências de determinada hashtag durante um ano, e depois monta um gráfico para saber quando elas ocorrem mais. Ou comparar a semelhança dos trending topics cada vez que eles mudam, ou um gráfico pra ver quais países digitam a hashtag #justinbieber nos dias de semana, após as 20h.

<?php

    $json_string='{"id":1,"nome":"joao","email":"[email protected]","interesses":["wordpress","php"]} ';
    $obj = json_decode($json_string);
    echo $obj->nome; //imprime o nome
    echo "<br />";
    echo $obj->interesses[1]; //improme o segundo interesse = php

?>

O resultado desse código PHP você pode ver aqui:

Resultado da função Mostra Json.

3. Como listar o conteúdo de uma pasta?

Você pode utilizar essa função em uma aplicação onde você gostaria de listar o conteúdo de uma pasta onde estão seus relatórios e imagens de uma determinada pasta. Listar os arquivos sempre é o primeiro passo para você começar a mensurar seus gastos com servidor (CPU, memória, banda e disco);

<?php

    //declara a função
    function list_files($dir)
    {
        // verifica se a é um diretório
        if(is_dir($dir))
        {

            //abre o diretorio
            if($handle = opendir($dir))
            {

                // percorre os registros do diretorio
                while(($file = readdir($handle)) !== false)
                {

                    if($file != "." && $file != ".." && $file != "Thumbs.db")
                    {
                        //monta um link com o nome do arquivo
                        echo '<a target="_blank" href="'.$dir.$file.'">'.$file.'</a><br>'."n";
                    }
                }
                closedir($handle);
            }
        }
    }

?>

<?

    $root = '.';

    list_files($root);

?>

4. Como mostrar o IP real do visitante?

Você pode utilizar essa informação para mostrar dados personalizados baseados no IP do visitante. Vale ressaltar que tal script não funcionará em casos nos quais o usuário usa navegadores anônimos, como o TOR.

<?php

    //declara função
    function pegaip()
    {
        //verifica se não é vazio
        if (!empty($_SERVER['HTTP_CLIENT_IP']))
        {
            $ip=$_SERVER['HTTP_CLIENT_IP'];
        }
        //verifica se vem de um proxy
        elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
        {
            $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
            $ip=$_SERVER['REMOTE_ADDR'];
        }
        //retorna ip
        return $ip;
    }

?>

<?php

    echo pegaip();

?>

O resultado desse código PHP você pode ver aqui:

Exemplo que mostra como obter o IP real de um visitante do site.

5. Como comparar duas strings?

Este PHP é usado para muitas finalidades, como, por exemplo, verificar se as tags ‘title’ do seu site são iguais, ou efetuar qualquer tipo de comparativo entre páginas do seu site.

<?php

    //atribui valor a string 1
    $string1 = "Programar usando php é muito legal";
    //atribui valor a string 2
    $string2 = "Programar usando php é muito chato";
    //compara 2 strings
    similar_text($string1, $string2, $quanto);
    //$quanto mostrará quantos % as 2 strings são iguais

    //imprime os resultados
    echo "As Strings:";
    echo "<br />";
    echo $string1;
    echo "<br />";
    echo "e<br />";
    echo $string2;
    echo "<br />";
    echo "são ".$quanto." % parecidas";

?>

O resultado desse código PHP você pode ver 

Exemplo que mostra como comparar duas strings.

Estas funções são básicas e servem como base para seus projetos em desenvolvimento e criação de sites. Em caso de dúvidas, entre em contato com a gente!

Fonte: https://dicasdeprogramacao.com.br/5-funcoes-curingas-em-php-que-todo-iniciante-em-programacao-deve-saber/


2

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (16) Variados (109) PHP (133) Laravel (171) Black Hat (3) front-end (29) linux (114) postgresql (39) Docker (28) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (56) devops (25) nodejs (5) npm (3) nvm (1) git (8) firefox (1) react (7) reactnative (5) collections (1) javascript (7) reactjs (8) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (2) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (12) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (5) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (3) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (43) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (2) jwt (5) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (3) Architecture (4) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (2) autorizacao (2) authentication (4) authorization (3) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1) Axios (1) Fetch (1) Deepin (1) vue (4) nuxt (1) PKCE (1) Oauth2 (2) webhook (1) TypeScript (1) tailwind (1) gource (2)

New Articles



Get Latest Updates by Email