PHP — Funções Úteis
Olá Gente!
Em nosso dia a dia precisamos fazer muitas coisas, e podemos simplificar muito tendo algumas funções úteis
1. Forçar Download
Função que permite forçar o Download de um Arquivo.
<?
function ForceDownload($FileFinal)
{
$FileSize = filesize($FileFinal);
$ArqNome = basename($FileFinal);
ini_set('zlib.output_compression', 'Off');
header('Content-Length: ' . $FileSize);
header('Content-Type: application/force-download');
header('Content-Type: application/octet-stream');
header('Content-Type: application/download');
header('Content-Disposition: attachment; filename="' . $ArqNome . '"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
header('Connection: Keep-Alive');
header('Pragma: public');
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header('Content-Length: ' . $FileSize);
header("Content-Range: 0-".($FileSize-1)."/".$FileSize);
$fp = fopen($FileFinal, "r");
while (!feof($fp))
{
echo fread($fp, 65536);
flush();
}
fclose($fp);
}
Exemplo de Utilização:
ForceDownload(“../Assets/MinhaFoto.jpg”);
2. Convertendo Array de UTF para ISO
Esta função é essencial em certos momentos, possibilitando a conversão completa de um array de caracteres UTF para o formato ISO.
<?
function utf_iso(&$a){
if (is_array($a)){
foreach ($a as $k => $v) {
if (!is_array($v)){
$a[$k] = utf8_decode($a[$k]);
} else {
utf_iso($a[$k]);
}
}
} else {
$a = utf8_decode($a);
}
return $a;
}
Exemplo de Utilização:
// Seu Array
$TmpInf = array();
$TmpInf[“Nome”] = “Potter”;
$TmpInf[“Escola”] = “Hogwarts”;
// Chamando a Função
$Retorno = utf_iso($TmpInf);
3. Convertendo Array de ISO para UTF
Esta função é essencial em certos momentos, possibilitando a conversão completa de um array de caracteres ISO para o formato UTF.
<?
function iso_utf(&$a){
if (is_array($a)){
foreach ($a as $k => $v) {
if (!is_array($v)){
$a[$k] = utf8_encode($a[$k]);
} else {
iso_utf($a[$k]);
}
}
} else {
$a = utf8_encode($a);
}
return $a;
}
Exemplo de Utilização:
// Seu Array
$TmpInf = array();
$TmpInf[“Nome”] = “Potter”;
$TmpInf[“Escola”] = “Hogwarts”;
// Chamando a Função
$Retorno = iso_utf($TmpInf);
4. Calculando quanto é X% de um Valor Determinado
Função que calcula quanto é um valor determinado de uma porcentagem.
Por exemplo, quanto é 20% de 1000.
<?
function porcentagem_xn ( $porcentagem, $total )
{
return ( $porcentagem / 100 ) * $total;
}
Exemplo de Utilização:
echo porcentagem_xn(20, 1000);
Exemplo de Retorno:
200
5. Calculando qual é a % de um valor em relação a outro
Função que determina a porcentagem de um número em relação a outro.
Por exemplo, qual a % de 10 sobre 100.
Esta função é muito útil para calcular o progresso de uma atividade.
Por exemplo, tenho uma enquete, a opção #1 recebeu 10 votos e a enquete toda recebeu 100 votos, quanto % corresponde estes 10 votos.
<?
function porcentagem_nx ( $parcial, $total )
{
return ( $parcial * 100 ) / $total;
}
Exemplo de Utilização:
echo porcentagem_nx(10, 100);
Exemplo de Retorno:
10
6. Calculando qual o valor de uma determinada porcentagem
Função simples para calcular um valor relacionado a uma porcentagem.
Por exemplo, quanto é 5% de 25.
<?
function porcentagem_nnx ( $parcial, $porcentagem )
{
return ( $parcial / $porcentagem ) * 100;
}
Exemplo de Utilização:
echo porcentagem_nnx(5, 25);
Exemplo de Retorno:
20
7. Somar Dias Úteis em uma Data
Função que soma um número específico de dias úteis a partir de uma data inicial.
Esta função considera como dia não útil o Sábado e o Domingo.
<?
function somar_dias_uteis($str_data,$int_qtd_dias_somar = 7)
{
$str_data = substr($str_data,0,10);
if ( preg_match("@/@",$str_data) == 1 ) {
$str_data = implode("-", array_reverse(explode("/",$str_data)));
}
$count_days = 0;
$int_qtd_dias_uteis = 0;
while ( $int_qtd_dias_uteis < $int_qtd_dias_somar ) {
$count_days++;
if ( ( $dias_da_semana = gmdate('w', strtotime('+'.$count_days.' day')) ) != '0' && $dias_da_semana != '6' ) {
$int_qtd_dias_uteis++;
}
}
return gmdate('d/m/Y',strtotime('+'.$count_days.' day',strtotime($str_data)));
}
Exemplo de Utilização:
echo somar_dias_uteis(“30/01/2024”, 10);
Exemplo de Retorno:
13/02/2024
8. Extrair Links de um Texto
Função que identifica e extrai todos os links presentes em um texto.
Utiliza uma expressão regular e retorna um array de links.
<?
function ExtrairLinks($Texto)
{
preg_match_all('#\bhttps?://[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))#', $Texto, $Matchs);
$TmpFinal = array();
foreach( $Matchs[0] as $Match )
{
$TmpFinal[] = $Match;
}
return $TmpFinal;
}
Exemplo de Utilização:
var_dump(ExtrairLinks(“Teste1 https://google.com.br/"));
Exemplo de Retorno:
array(1) {
[0]=>
string(22) “https://google.com.br/"
}
Por hoje é isto, queridos desenvolvedores! 👩💼
Até logo! 👋
Leia também
API Mágica: notificações Web Push no navegador com PHP
Web Push com a API Mágica em PHP puro: o navegador se inscreve, o seu site envia a notificação e a API conta o clique. Sem Composer e sem biblioteca.
IndexNow: avisando o Bing e o Yandex mais rápido
Como criar a chave do IndexNow e avisar Bing e Yandex das suas páginas novas com Node.js e PHP: as requisições, os erros reais e as armadilhas.
llms.txt: por que importa e como gerar em PHP
Por que o llms.txt importa para quem quer ser citado pela IA, e como gerar o seu em PHP puro lendo o sitemap.xml que voce ja tem.