Você está aqui: PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como inserir barras invertidas antes de determinados caracteres em uma stringQuantidade de visualizações: 117 vezes |
<? /* A função addcslashes serve para inserir barras invertidas antes de caracteres especificados. */ $frase = "Gosto de ficar por aqui"; // vai inserir uma barra antes das letras "d", "a" e "i" echo addcslashes($frase, "dai"); ?> |
![]() |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Arquivos e diretórios em PHP - Como ler o conteúdo de um arquivo uma linha de cada vez usando a função fgets() do PHPQuantidade de visualizações: 13664 vezes |
Este exemplo mostra como ler o conteúdo de um arquivo uma linha de cada vez usando a função fgets() da linguagem PHP. Observe como usamos a função rtrim() para retirar a quebra de linha do final da linha lida. Eis o código PHP completo para a dica: ---------------------------------------------------------------------- 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 $arquivo = fopen('dados.txt', 'r'); if(!$arquivo){ echo 'Não foi possível abrir o arquivo'; } else{ while(!feof($arquivo)){ $linha = fgets($arquivo); echo rtrim($linha) . "<br>"; } fclose($arquivo); } ?> </body> </html> Ao executar este código PHP nós teremos o seguinte resultado: Esta é a primeira linha do arquivo Esta é a segunda linha do arquivo Esta é a terceira linha do arquivo Esta é a quarta linha do arquivo |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um diretório em PHP usando a função rename()Quantidade de visualizações: 11632 vezes |
Diretórios podem ser renomeados usando a função rename() da linguagem PHP. Esta função recebe o nome atual do diretório e o novo nome e retorna um valor boolean (true ou false) informando o sucesso ou não da operação. Antes de usar esta função verifique se você possui as permissões adequadas para renomear o diretório. Veja um trecho de código no qual renomeamos um diretório no diretório public_html: ---------------------------------------------------------------------- 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 // renomeia o diretório "recentes" para "atuais" $diretorio_antigo = "/site/public_html/recentes"; $diretorio_novo = "/site/public_html/atuais"; if(rename($diretorio_antigo, $diretorio_novo)){ echo "Diretório renomeado com sucesso."; } else{ echo "Não foi possível renomear o diretório."; } ?> Ao executar este código nós teremos o seguinte resultado: Diretório renomeado com sucesso. Seja cuidadoso. Se você não tiver as permissões adequadas para renomear um diretório, a seguinte mensagem de erro será exibida: Warning: rename(imagens,imagens_novas) [function.rename]: Permission denied in /site/public_html/testes.php on line 9 Não foi possível renomear o diretório. |
PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como converter graus em radianos em PHP usando a função deg2rad() - Trigonometria para iniciantesQuantidade de visualizações: 14248 vezes |
As unidades grau e radiano são muito usadas em cálculos de trigonometria. O grau é de uso mais no cotidiano pela sua praticidade, pois envolve, na maioria dos casos, números inteiros. O radiano é de uso em cálculos envolvendo geralmente números racionais (e também na programação gráfica, uma vez que praticamente todas as linguagens de programação possuem funções de trigonometria que requerem e retornam valores em radianos, e não em graus). Graus podem ser convertidos para radianos usando-se a seguinte fórmula: ![]() Note que o valor de PI é 3,14 (aproximadamente). Veja agora um trecho de código PHP que converte um ângulo em graus para radianos: ---------------------------------------------------------------------- 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 $graus = 45; $radianos = ($graus / 180) * pi(); echo "Ângulo em graus: " . $graus . "<br>"; echo "Ângulo em radianos: " . $radianos; ?> </body> </html> Ao executarmos este código nós teremos o seguinte resultado: Ângulo em graus: 45 Ângulo em radianos: 0.78539816339745 O PHP, na contramão de várias outras linguagens de programação, nos fornece uma função já embutida que nos permite converter de graus para radianos. Esta função se chama deg2rad(), recebe um valor em graus e devolve o resultado em radianos. Veja como usá-la no código PHP abaixo: ---------------------------------------------------------------------- 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 $graus = 45; $radianos = deg2rad($graus); echo "Ângulo em graus: " . $graus . "<br>"; echo "Ângulo em radianos: " . $radianos; ?> </body> </html> Ao executarmos o código novamente, teremos o seguinte resultado: Ângulo em graus: 45 Ângulo em radianos: 0.78539816339745 Veja que o resultado obtido com o uso da função deg2rad() foi o mesmo que obtivemos com o cálculo no início da dica. Para finalizar, saiba que 45o, assim como 30o e 60o são conhecidos como ângulos notáveis, e seus valores em radianos, assim como seus seno, cosseno e tangentes, devem ser memorizados se você quiser se tornar um guru (ou guroa) em geometria e trigonometria (e em computação gráfica, é claro). |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como usar a função array_unique() do PHP para remover elementos duplicados de um vetor - Removendo elementos repetidos de um array PHPQuantidade de visualizações: 18379 vezes |
Em algumas situações nossos códigos precisam remover os elementos duplicados em um array (vetor) PHP. Isso pode ser feito por meio do uso da função array_unique(). Esta função recebe um array e retorna um outro array com os elementos duplicados removidos. Veja um 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 ---------------------------------------------------------------------- <?php // vamos declarar e inicializar um vetor de inteiros $valores = array(43, 2, 6, 11, 98, 6, 3, 6); // vamos exibir os valores do vetor echo "Com elementos duplicados:<br>"; foreach($valores as $valor){ echo $valor . " - "; } // vamos remover os elementos duplicados $valores = array_unique($valores); // vamos exibir os valores do vetor novamente echo "<br><br>Sem elementos duplicados:<br>"; foreach($valores as $valor){ echo $valor . " - "; } ?> Ao executarmos este código teremos o seguinte resultado: Com elementos duplicados: 43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - Sem elementos duplicados: 43 - 2 - 6 - 11 - 98 - 3 - Note que a função array_unique() remove APENAS os valores dos elementos duplicados, ou seja, as chaves ou índices são mantidos. Isso pode ser visto no 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 // vamos declarar e inicializar um vetor de inteiros $valores = array(43, 2, 6, 11, 98, 6, 3, 6); // vamos listar os valores dos elementos no vetor for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " - "; } // vamos remover os elementos duplicados $valores = array_unique($valores); // vamos listar os valores no vetor novamente echo "<br><br>"; for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " - "; } ?> Este código resultará em: 43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 43 - 2 - 6 - 11 - 98 - - Note que a última iteração do laço deveria alcançar o valor 3. Em vez disso o laço imprimiu um valor não definido no índice 5. Esta dica foi escrita no PHP 5.2.10. Vamos torcer para que as versões mais recentes não apresentem este comportamento. Enquanto isso EVITE usar o laço for com vetores resultantes de uma chamada à função array_unique(). Use o laço foreach(). |
PHP ::: Dicas & Truques ::: Data e Hora |
Como gerar um calendário mensal completo para um determinado mês e ano usando PHPQuantidade de visualizações: 283 vezes |
Nesta dica eu mostro como podemos usar as principais funções de data e hora da linguagem PHP para montar um calendário PHP completo (com comentários e fácil de modificar). Basta passar um mês e ano e a função se encarrega do restante. Este código é muito útil em aplicações PHP para escolas, faculdades, sistemas financeiros, etc. Veja o resultado na imagem abaixo: ![]() E agora 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 ---------------------------------------------------------------------- <html> <head> <title>Estudando PHP</title> </head> <body> <?php // função que permite montar o calendário function montar_calendario($mes, $ano){ // um vetor para guardar os meses $meses = array(1 => 'Janeiro', 2 => 'Fevereiro', 3 => 'Março', 4 => 'Abril', 5 => 'Maio', 6 => 'Junho', 7 => 'Julho', 8 => 'Agosto', 9 => 'Setembro', 10 => 'Outubro', 11 => 'Novembro', 12 => 'Dezembro'); // um vetor com os dias da semana $dias_semana = array('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'); // vamos obter o primeiro dia do calendário $primeiro_dia = mktime(0, 0, 0, $mes, 1, $ano); // obtém a quantidade de dias no mês $dias_mes = date('t', $primeiro_dia); // dia da semana que o calendário inicia (começa em 0) $dia_inicio = date('w', $primeiro_dia); // cria a tabela HTML para o calendário echo '<table border="1" cellspacing="0" cellpadding="4"> <tr><th colspan="7">'. $meses[$mes] . ' - ' . $ano . '</th> </tr> <tr><td align="center">'; echo implode('</td><td align="center">', $dias_semana); echo '</td></tr>'; // precisamos de células vazias até encontrarmos // o dia inicial da semana if($dia_inicio > 0){ for($i = 0; $i < $dia_inicio; $i++){ echo '<td> </td>'; } } // agora já podemos começar a preencher o // calendário for($dia = 1; $dia <= $dias_mes; $dia++ ){ if($dia_inicio == 0){ // vamos colorir o domingo de vermelho $estilo = ' style="color: red"'; } else{ $estilo = ''; } // vamos colocar a data de hoje sublinhada if(($dia == date("j")) && ($mes == date("n")) && ($ano == date("Y"))){ echo '<td ' . $estilo . ' align="center"><u>' . $dia . '</u></td>'; } else{ echo '<td ' . $estilo . ' align="center">' . $dia . '</td>'; } // vamos incrementar o dia de referência $dia_inicio++; // já precisamos adicionar uma nova linha na tabela? if($dia_inicio == 7){ $dia_inicio = 0; echo "</tr>"; if($dia < $dias_mes){ echo '<tr>'; } } } // fim do laço for // agora preenchemos as células restantes if($dia_inicio > 0){ for($i = $dia_inicio; $i < 7; $i++){ echo '<td> </td>'; } echo '</tr>'; } echo '</table>'; } // vamos montar o mês de março de 2021 montar_calendario(3, 2021); ?> </body> </html> |
PHP ::: Dicas & Truques ::: Variáveis e Constantes |
Como testar se uma variável é do tipo float (número de ponto-flutuante) usando as funções is_float() e is_real() do PHPQuantidade de visualizações: 12667 vezes |
Em algumas situações podemos querer saber se o tipo de uma variável é float, ou seja, contém um valor com casas decimais. Este teste pode ser feito com o auxílio da função is_float() ou is_real(). Esta função retorna um valor true ou false dependendendo do tipo de variável sendo testada. ---------------------------------------------------------------------- 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 = 0.6; if(is_float($valor)){ echo 'A variável $valor é do tipo float'; } ?> Ao executar este código PHP nós teremos o seguinte resultado: A variável $valor é do tipo float |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de um arquivo um caractere de cada vez em PHP usando a função fgetc()Quantidade de visualizações: 7736 vezes |
A função fgetc() da linguagem PHP é usada quando queremos ler um caractere de cada vez a partir de um arquivo. Note que esta função é um pouco lenta, e deve ser usada somente com arquivos pequenos. A leitura é interrompida quando a função fgetc() retorna um valor false. 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 $arquivo = fopen("testes.txt", "r"); if(!$arquivo){ echo "Não foi possível abrir o arquivo"; } else{ while(false !== ($char = fgetc($arquivo))){ echo $char; } } ?> |
PHP ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em PHP dados dois pontos no plano cartesianoQuantidade de visualizações: 1250 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem PHP que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: ---------------------------------------------------------------------- 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 // x e y do primeiro ponto $x1 = 3; $y1 = 6; // x e y do segundo ponto $x2 = 9; $y2 = 10; $m = ($y2 - $y1) / ($x2 - $x1); // mostramos o resultado echo "O coeficiente angular é: " . $m; ?> Ao executar este código PHP nós teremos o seguinte resultado: O coeficiente angular é: 0.66666666666667 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): ---------------------------------------------------------------------- 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 // x e y do primeiro ponto $x1 = 3; $y1 = 6; // x e y do segundo ponto $x2 = 9; $y2 = 10; // vamos obter o comprimento do cateto oposto $cateto_oposto = $y2 - $y1; // e agora o cateto adjascente $cateto_adjascente = $x2 - $x1; // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa // (em radianos, não se esqueça) $tetha = atan2($cateto_oposto, $cateto_adjascente); // e finalmente usamos a tangente desse ângulo para calcular // o coeficiente angular $tangente = tan($tetha); // mostramos o resultado echo "O coeficiente angular é: " . $tangente; ?> Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Vamos testar seus conhecimentos em Hidrologia |
Com relação à delimitação de bacias hidrográficas, é correto afirmar que A) todos os pontos em seu interior, obrigatoriamente possuem cotas iguais ou inferiores em relação às cotas do divisor de águas da bacia. B) tanto o divisor de água do tipo topográfico quanto o divisor do tipo freático podem ser utilizados, pois os dois sempre se coincidem. C) segundo o método de Strahler de hierarquização fluvial, bacias hidrográficas de 4ª ordem têm o dobro de área de drenagem do que bacias classificadas em 2ª ordem. D) a linha imaginária que define o seu limite deve ser traçada perpendicularmente às curvas de nível e não cortar nenhum curso de água além do ponto onde se encontra o exutório. E) na escolha do local do exutório para a delimitação, os cursos d?água devem ser classificados como de 4ª ordem (método de Strahler) no mínimo, para que a bacia hidrográfica tenha uma área representativa. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
A coleção Set da linguagem Python permite itens repetidos. A) Verdadeiro B) Falso Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Água Fria: Sistemas de distribuição O golpe de aríete é um pico de pressão causado por uma alteração súbita na velocidade da vazão na tubulação. Esse picos de pressão são frequentemente acompanhados por um grande ruído na tubulação. Esse ruído provocado pelos golpes sucessivos não é prejudicial, causando apenas desconforto aos usuários, mas o choque hidráulico pode causar rompimento de tubulações (caso a pressão de ruptura seja ultrapassada), microfissuramento de tubulações plásticas que podem evoluir para trincas e fissuras e enfraquecimento de juntas, dando origem a vazamentos. Assinale a alternativa que representa uma forma de prevenir ou atenuar o Golpe de Aríete em uma rede de tubulações. A) Evitar o fechamento brusco de válvulas e registros. B) Aumentar a velocidade de escoamento. C) Projetar a tubulação evitando trechos curtos, preferir trechos longos conduzindo água diretamente a válvulas e torneiras. D) Instalar todas as válvulas de descarga em uma única coluna de distribuição. E) O modelo de válvula de descarga utilizada não ameniza as ondas de pressão causadas pelo seu fechamento. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Analise o seguinte código JavaScriptvar a = (new Array(10)).toString(); Qual o valor da variável a após a execução desta linha de código? A) a string "10". B) um array de 10 strings vazias. C) a string ",,,,,,,,,". D) A instrução provoca um erro de execução. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Cisalhamento e detalhamento de vigas O modelo clássico de treliça foi idealizado por Ritter e Mörsch no início do século XX e se baseia na analogia entre uma viga fissurada e uma treliça. Acerca desse modelo, marque a alternativa correta: A) As bielas comprimidas devem apresentar inclinação de 60º com o eixo longitudinal do elemento estrutural. B) As armaduras de cisalhamento, conhecidas como estribos, devem ter inclinação entre 45 e 90º. C) A treliça de Ritter e Mörsch deve ser hiperestática, havendo, dessa forma, engastamento nos nós. D) As diagonais tracionadas da treliça de Ritter e Mörsch são equivalentes às bielas de concreto. E) Na treliça de Ritter e Mörsch, os elementos resistentes são somente as armaduras longitudinal e transversal. 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |