Você está aqui: PHP ::: Dicas & Truques ::: URLs, Documentos e Páginas |
PHP para iniciantes - Como retornar uma lista completa das variáveis de ambiente disponíveis no servidorQuantidade de visualizações: 10292 vezes |
Nesta dica mostrarei como é possível combinar o vetor de variáveis de ambiente $_SERVER e o laço foreach() da linguagem PHP para obter uma lista completa das variáveis de ambiente disponíveis no servidor web a partir do qual nossos códigos PHP estão sendo executados. Esta técnica é excelente para depuração (debugging) de código PHP. Veja o código PHP completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <html> <head> <title>Estudando PHP</title> </head> <body> <?php foreach($_SERVER as $env => $valor){ echo $env . " = " . $valor . "<br>"; } ?> </body> </html> Ao executar este código PHP nós teremos um resultado parecido com: SERVER_SOFTWARE = Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.0 SERVER_NAME = localhost SERVER_ADDR = ::1 SERVER_PORT = 80 REMOTE_ADDR = ::1 DOCUMENT_ROOT = C:/xampp/htdocs REQUEST_SCHEME = http CONTEXT_PREFIX = CONTEXT_DOCUMENT_ROOT = C:/xampp/htdocs SERVER_ADMIN = postmaster@localhost SCRIPT_FILENAME = C:/xampp/htdocs/estudos/index.php REMOTE_PORT = 61618 GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/1.1 REQUEST_METHOD = GET QUERY_STRING = REQUEST_URI = /estudos/index.php SCRIPT_NAME = /estudos/index.php PHP_SELF = /estudos/index.php REQUEST_TIME_FLOAT = 1618495343.0591 REQUEST_TIME = 1618495343 |
![]() |
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como obter o último dia útil para um determinado mês e anoQuantidade de visualizações: 1 vezes |
Nesta dica veremos como é possível combinar as funções cal_days_in_month(), mktime() e date() para obter o último dia útil de um determinado mês e ano. Se você tiver uma base de dados de feriados municipais, estaduais e federais, você poderá implementar esta funcionalidade facilmente. Veja o código PHP completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <html> <head> <title>Estudando PHP</title> </head> <body> <?php $mes = 1; // mês começa em 1 $ano = 2021; // vamos obter a quantidade de dias no mês $dias = cal_days_in_month(CAL_GREGORIAN, $mes, $ano); $ultimo = mktime(0, 0, 0, $mes, $dias, $ano); $dia = date("j", $ultimo); $dia_semana = date("w", $ultimo); // domingo = 0; // sábado = 6; // verifica sábado e domingo if($dia_semana == 0){ $dia = $dia - 2; // voltamos para sexta-feira } if($dia_semana == 6){ $dia--; // voltamos para sexta-feira } $ultimo = mktime(0, 0, 0, $mes, $dia, $ano); echo "O último dia útil para o mês informado é: " . date("d/m/Y", $ultimo); ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: O último dia útil para o mês informado é: 29/01/2021 |
PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila PHP para iniciantes - Como testar múltiplas condições usando a construção if...elseif...else da linguagem PHPQuantidade de visualizações: 9563 vezes |
A construção if...else (se...do contrário) pode ser extendida com o uso de elseif para testar múltiplas condições. Desta forma, você pode ter quantos blocos elseif (ou então se) você desejar. Veja o trecho de código a seguir:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php $valor = 20; if($valor == 15){ echo "O valor é igual à 15"; } elseif($valor > 15){ echo "O valor é maior que 15"; } else{ echo "O valor é menor que 15"; } ?> Ao executar este código nós teremos o seguinte resultado: O valor é maior que 15 |
PHP ::: Desafios e Lista de Exercícios Resolvidos ::: PHP Básico |
Exercícios Resolvidos de PHP - Como calcular salário líquido em PHP - Calculando o salário líquido de um professorQuantidade de visualizações: 1842 vezes |
Pergunta/Tarefa: Escreva um programa PHP que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como double), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como double). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real). Sua saída deverá ser parecida com: Informe o valor da hora aula: 28 Informe o número de horas trabalhadas no mês: 12 Informe o percentual de desconto do INSS: 8 Salário Bruto: R$ 336,00 Total de Descontos: R$ 26,88 Salário Líquido: R$ 309,12 Veja a resolução comentada deste exercício usando PHP console: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php // para executar abra uma janela de comando // cmd e dispare o comando abaixo: // C:\xampp\php>php c:\estudos_php\estudos.php // para ler a entrada do usuário $entrada = fopen("php://stdin","r"); // vamos ler o valor do hora aula echo "Informe o valor da hora aula: "; $valor_hora_aula = trim(fgets($entrada)); // vamos ler o número de horas trabalhadas no mês echo "Informe o número de horas trabalhadas no mês: "; $horas_trabalhadas = trim(fgets($entrada)); // vamos ler o percentual de desconto do INSS echo "Informe o percentual de desconto do INSS: "; $percentual_desconto_INSS = trim(fgets($entrada)); // vamos calcular o salário bruto $salario_bruto = $valor_hora_aula * $horas_trabalhadas; // agora calculamos o total do desconto $total_desconto = ($percentual_desconto_INSS / 100) * $salario_bruto; // finalmente calculamos o salário líquido $salario_liquido = $salario_bruto - $total_desconto; // mostramos o resultado echo "Salário Bruto: R$ " . number_format($salario_bruto, 2, ',', '.'); echo "\nTotal de Descontos: R$ " . number_format($total_desconto, 2, ',', '.'); echo "\nSalário Líquido: R$ " . number_format($salario_liquido, 2, ',', '.'); ?> |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
PHP para iniciantes - Como contar a quantidade de palavras em uma string usando as funções explode() e count() do PHPQuantidade de visualizações: 218 vezes |
Em algumas situações nós precisamos obter a quantidade de palavras em uma frase ou texto. Para isso nós podemos combinar as funções explode() e count() da linguagem PHP. É importante, antes de efetuarmos esta tarefa, nos certificarmos de que a string sendo analisada não possui espaços em excesso. Se esse for o caso, veja nossas dicas e truques a respeito da remoção de espaços em excesso de uma frase ou texto. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <html> <head> <title>Estudando PHP</title> </head> <body> <?php $frase = "Gosto de programar em PHP"; $palavras = explode(" ", $frase); echo "A frase \"" . $frase . "\" contém " . count($palavras) . " palavras"; ?> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: A frase "Gosto de programar em PHP" contém 5 palavras |
PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli) |
Listando todas as tabelas da base de dados selecionada - Como listar as tabelas de uma base de dados MySQL usando PHP - RevisadoQuantidade de visualizações: 12235 vezes |
O comando DML SHOW TABLES do MySQL permite listar todas as tabelas de um determinado banco de dados. Nesta dica eu mostro como escrever um código PHP que dispara este comando e mostra o resultado. Note que estou usando a extensão mysqli, recomendada a partir do PHP 5.6. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? // vamos efetuar a conexão com o banco $con = new mysqli("localhost", "root", "osmar1234", "estudos"); // conexão efetuada com sucesso? if($con->connect_errno){ echo "Não foi possível efetuar a conexão: " . $mysqli->connect_error; exit(); // vamos sair daqui } // lista todas as tabelas da base selecionada $query = mysqli_query($con, "SHOW TABLES"); while($result = mysqli_fetch_array($query)){ echo $result[0] . "<br>"; } ?> Esta dica foi revisada, atualizada e testada no PHP 8. |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como testar se um diretório existe em PHP usando a função file_exists()Quantidade de visualizações: 18951 vezes |
Em algumas situações nós precisamos verificar se um determinado diretório existe no sistema antes de efetuarmos alguma operação. Para isso nós podemos usar a função file_exists(). Esta função retorna um valor true se o diretório existir e false em caso contrário. Veja um código PHP completo demonstrando o seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php $diretorio = "arquivo/imagens"; if(file_exists($diretorio)){ echo "O diretório já existe."; } else{ echo "O diretório não existe ainda."; } ?> |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um arquivo ou imagem em PHP usando a função unlink()Quantidade de visualizações: 20630 vezes |
Esta dica mostra como podemos excluir um arquivo ou uma imagem usando PHP. Para isso vamos usar a função unlink(). Esta função recebe o caminho e nome do arquivo a ser excluído e retorna TRUE se a exclusão foi feita com sucesso e FALSE caso contrário. Veja o código: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php // caminho e nome do arquivo (o diretório no qual o arquivo // a ser excluído está deve ter permissão de escrita $arquivo = "/home/xxxx/arquivos/dados.txt"; // vamos excluir if(unlink($arquivo)){ echo "Arquivo excluído com sucesso."; } else{ echo "Não foi possível excluir o arquivo."; } ?> Se você pretende excluir um diretório e não um arquivo, use a função rmdir(). |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHPQuantidade de visualizações: 10648 vezes |
À medida que começamos a usar programação orientada a objetos em PHP algumas situações interessantes podem surgir, tais como o uso de métodos e classes abstratas. As classes e métodos abstratos podem ser usados por uma série de razões. Eis as que considero mais importantes: a) - Um classe abstrata não permite que criemos novas instâncias da mesma. Veja: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? // Uma classe Boleto abstrata abstract class Boleto{ } // vamos criar um novo objeto desta classe $b = new Boleto(); ?> Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Cannot instantiate abstract class Boleto in ... A vantagem de termos uma classe que não pode ser instanciada é que podemos usá-la como classe base em um código envolvendo poliformismo (no momento que escrevo este artigo não vejo como implementar polimorfismo em PHP. Me pergunto se isso é possível em linguagens de tipos dinâmicos). b) - Qualquer classe que contenha um ou mais métodos abstratos também precisa se declarar abstrata. Como um método abstrato não pode conter implementação, ao forçar a classe a ser abstrata também, as classes derivadas terão a obrigação de implementar tal método. Veja um trecho de código no qual criamos uma classe normal contendo um método abstrato: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? // Uma classe Boleto não-abstrata class Boleto{ // um método abstrato public abstract function imprimir($dados); } ?> Ao executarmos este código teremos a seguinte mensagem de erro: Fatal error: Class Boleto contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Boleto::imprimir) in ... Ao marcarmos a classe como abstract esta mensagem de erro desaparecerá. c) - Uma classe que herda de uma classe derivada deve, obrigatoriamente, fornecer implementação para todos os métodos abstratos herdados. Veja o trecho de código no qual temos uma classe Boleto e uma classe BoletoBradesco: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato public abstract function imprimir($dados); } // vamos herdar da classe Boleto class BoletoBradesco extends Boleto{ } ?> A mensagem de erro aqui é a mesma quando temos métodos abstratos em uma classe mas não a declaramos como abstrata. Basta fornecer a implementação para o método imprimir e a mensagem de erro desaparece: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato public abstract function imprimir($dados); } // vamos herdar da classe Boleto class BoletoBradesco extends Boleto{ public function imprimir($dados){ echo "Imprimindo o boleto: " . $dados; } } // vamos criar um objeto da classe BoletoBradesco $b = new BoletoBradesco(); // vamos imprimir o boleto $b->imprimir("Dados do boleto"); ?> d) - Um método marcado como abstract não pode conter implementação, ou seja, a implementação será feita pelas classes derivadas. Veja: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? // Uma classe Boleto abstrata abstract class Boleto{ // um método abstrato que não deveria conter implementação public abstract function imprimir($dados){ echo "Isso vai dar um erro daqueles!"; } } ?> Ao tentarmos executar este trecho de código teremos a seguinte mensagem de erro: Fatal error: Abstract function Boleto::imprimir() cannot contain body in ... Bastará remover a implementação do método que a mensagem de erro desaparecerá. |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Ações em estruturas: apresentação dos principais carregamentos na análise de estruturas convencionais Uma das formas de produzir energia elétrica é por meio da energia nuclear. A energia nuclear frequentemente é contestada por apresentar dois grandes problemas: a geração de lixo nuclear, de difícil descarte; e a fragilidade estrutural dos reatores nucleares. Quanto ao segundo ponto, é necessário construir uma estrutura no entorno dos reatores que seja capaz de absorver, inclusive, o impacto de uma bomba (em caso de guerra). Uma bomba é um caso de que tipo de ação? A) Permanente direta. B) Excepcional. C) Acidental indireta. D) Acidental direta. E) Permanente indireta. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Introdução à Ética Como e por que julgamos que uma ação é correta ou não? Quais os critérios que devem ser utilizados para tal? Várias respostas são, hoje, dadas a essas perguntas. Podemos afirmar que a ação correta é aquela que: A) Considera a felicidade dos grupos prevalecentes, como as elites. B) É praticada por um agente inerentemente bom e sem influência social C) Está de acordo com regras próprias de grupos minoritários com interesses duvidosos. D) É considerada a melhor ação pela subjetividade do sujeito em suas reflexões. E) É aquela que está adequada às leis, regras e normas legais do Estado. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ano: 2023 Banca: ACCESS Órgão: Prefeitura de Dores do Indaiá - MG Prova: ACCESS - 2023 - Prefeitura de Dores do Indaiá - MG - Agente Fiscal Com base no universo da ética, analise as afirmativas a seguir: I. A ética depende dos valores que a pessoa carrega, e pode, assim, ser adaptável às situações em que vive, dependendo dos seus interesses e carga cultural. II. O estudo da ética demonstra que a consciência moral nos inclina para o caminho da virtude, que seria uma qualidade própria da natureza humana. III. Um homem para ser ético precisa necessariamente ser virtuoso, ou seja, praticar o bem usando a liberdade com responsabilidade constantemente. Assinale A) se apenas as afirmativas I e II estiverem corretas. B) se apenas as afirmativas I e III estiverem corretas. C) se apenas as afirmativas II e III estiverem corretas. D) se todas as afirmativas estiverem corretas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?valor = 56.21 print("Valor: %.5d" % valor) A) Valor: 00056 B) Valor: 21 C) Valor: 00056.21 D) Valor: 56 E) Valor: 6.2100 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Comando Create Alignment from Objects Qual dos objetos abaixo não pode ser usado para criar um alinhamento quando acionamos o comando Create Alignment from Objects, disponível no item Alignment da aba Create Design? A) Line B) Arc C) Circle D) Polyline Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
Python - Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d") JavaScript - Como exibir apenas dois dígitos após o ponto decimal em JavaScript usando a função toFixed() do objeto Number |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |