Pular para o conteúdo
PHP

PHP — Funções Úteis

Capa do artigo: 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



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! 👋

PHP

Leia também