Created
December 5, 2018 19:28
-
-
Save fernandovaller/f9c520e4d07b6057f381d50a32d037bb to your computer and use it in GitHub Desktop.
Helpers PHP
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//remove palavras que podem permitir o sql injection | |
function anti_injection($sql){ | |
$sql = preg_replace(sql_regcase("/(http|www|wget|from|select|insert|delete|where|.dat|.txt|.gif|drop table|show tables| or |#|\*|--|\\\\)/"),"",$sql); | |
$sql = trim($sql); | |
$sql = strip_tags($sql); | |
$sql = addslashes($sql); | |
return $sql; | |
} | |
//trasforma data para inclusao no MySQL | |
function data_mysql($data_dma){ | |
if(!$data_dma) | |
return '0000-00-00'; | |
$data_array = split("/",$data_dma); | |
$data = $data_array[2] ."-".$data_array[1]."-".$data_array[0]; | |
return $data; | |
} | |
//Ajusta data para usuario | |
function data_br($valor){ | |
if($valor == '0000-00-00') | |
return '-'; | |
if($valor){ | |
$data = date("d/m/Y", strtotime($valor)); | |
return $data; | |
} | |
} | |
//Ajusta data hora para usuario | |
function data_hora($valor){ | |
if($valor == '0000-00-00 00:00:00') | |
return '-'; | |
if($valor){ | |
$data = date("d/m/Y G:i:s", strtotime($valor)); | |
return $data; | |
} | |
} | |
//Exibir data por extenso | |
function data_extenso($date = ''){ | |
$meses_en = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); | |
$meses_pt = array('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'); | |
setlocale(LC_ALL, 'portuguese', 'pt_BR', 'pt_br', 'ptb_BRA'); | |
if($date){ | |
$data = strftime("%d de %B de %Y", strtotime($date)); | |
} else { | |
$data = strftime("%d de %B de %Y"); | |
} | |
$data = str_replace($meses_en, $meses_pt, $data); | |
return $data; | |
} | |
//Ajusta valor para inserir no mysql | |
function moeda_mysql($valor) { | |
if(empty($valor)) | |
return '0'; | |
$valor = str_replace(".", "", trim($valor)); //remove "." | |
$valor = str_replace(",", ".", $valor); //remove "," | |
return $valor; | |
} | |
//Ajusta valor para exibir ao usuario | |
function moeda($valor, $prefix = '', $sufix = '') { | |
if(empty($valor)) return ''; | |
$valor = str_replace(",", "", $valor); | |
$valor = number_format($valor, 2, ',', '.'); | |
return $prefix . $valor . $sufix; | |
} | |
//Cria os options do select | |
function form_select_array($dados, $value, $option, $selected = '', $display_id = true){ | |
if(!is_array($dados)) | |
return false; | |
foreach ($dados as $row) { | |
if(is_array($selected)){ | |
$sd = in_array($row[$value], $selected) ? 'selected="selected"' : ''; | |
//$op .= "<option value=\"$row[$value]\" $sd>$row[$option]</option>"; | |
$id = $display_id ? " (#{$row[$value]})" : ''; | |
$op .= "<option value=\"$row[$value]\" {$sd}>{$row[$option]}{$id}</option>"; | |
} else { | |
$sd = ($selected == $row[$value]) ? 'selected="selected"' : ''; | |
$id = $display_id ? " (#{$row[$value]})" : ''; | |
$op .= "<option value=\"$row[$value]\" {$sd}>{$row[$option]}{$id}</option>"; | |
} | |
} | |
return $op; | |
} | |
//Ajuda na criaçao das query para filtros das paginas | |
function filtro_query($query, $operador = 'AND'){ | |
return (count(array_filter($query, 'strlen')) > 0) ? '('.implode(" {$operador} ", array_filter($query, 'strlen')).')' :''; | |
} | |
//Converte o array em string | |
function array_to_string($array, $separator = ','){ | |
if(is_array($array)){ | |
foreach ($array as $key => $value) { | |
$return[] = !empty($value) ? $value : null; | |
} | |
return implode("{$separator}", array_filter($return)); | |
} | |
} | |
//Converte o string em array | |
function string_to_array($string, $separator = ','){ | |
return explode("{$separator}", $string); | |
} | |
//Redireciona para uma url | |
function redirect($url) { | |
if (!headers_sent()) { | |
header('Location: '.$url); | |
} else { | |
echo '<script type="text/javascript">'; | |
echo 'window.location.href="'.$url.'";'; | |
echo '</script>'; | |
echo '<noscript>'; | |
echo '<meta http-equiv="refresh" content="0;url='.$url.'" />'; | |
echo '</noscript>'; | |
} | |
exit(); | |
} | |
//monta o caminho do arquivo passado | |
function assets($files_path, $version = true){ | |
$v = $version ? "?v=" . filemtime($files_path) :''; | |
return URL . "/{$files_path}{$v}"; | |
} | |
function assets_npm($files_path, $version = true){ | |
//$v = $version ? "?v=" . filemtime($files_path) :''; | |
return URL . "/node_modules/{$files_path}"; | |
} | |
//Muda o formato do array $_FILES para multiplos arquivos | |
function reArrayFiles(&$file_post) { | |
$file_ary = array(); | |
$file_count = count($file_post['name']); | |
$file_keys = array_keys($file_post); | |
for ($i=0; $i<$file_count; $i++) { | |
foreach ($file_keys as $key) { | |
$file_ary[$i][$key] = $file_post[$key][$i]; | |
} | |
} | |
return $file_ary; | |
} | |
#LIMITA TEXTO POR QUANTIDADE PALAVRAS | |
function limitador($palavras,$texto) { | |
$texto = explode(" ", $texto); | |
$texto = preg_replace("/<(\/)?p>/i", "", $texto); | |
for ($i=0;$i<$palavras;$i++) { | |
$texto_ok = $texto_ok." ".$texto[$i]; | |
} | |
$texto_ok = trim($texto_ok); | |
$texto_ok = $texto_ok.""; | |
$texto_ok = trim($texto_ok); | |
$texto_ok = strip_tags($texto_ok); | |
return "$texto_ok"; | |
} | |
//REMOVE OS ACENTOS SEM PROBLEMAS DE ENCODES | |
//$enc pode ser [iso-8859-1/UTF-8/etc..] | |
function RemoveAcentos($str, $enc = 'UTF-8'){ | |
$acentos = array( | |
'A' => '/À|Á|Â|Ã|Ä|Å/', | |
'a' => '/à|á|â|ã|ä|å/', | |
'C' => '/Ç/', | |
'c' => '/ç/', | |
'E' => '/È|É|Ê|Ë/', | |
'e' => '/è|é|ê|ë/', | |
'I' => '/Ì|Í|Î|Ï/', | |
'i' => '/ì|í|î|ï/', | |
'N' => '/Ñ/', | |
'n' => '/ñ/', | |
'O' => '/Ò|Ó|Ô|Õ|Ö/', | |
'o' => '/ò|ó|ô|õ|ö/', | |
'U' => '/Ù|Ú|Û|Ü/', | |
'u' => '/ù|ú|û|ü/', | |
'Y' => '/Ý/', | |
'y' => '/ý|ÿ/', | |
'a.' => '/ª/', | |
'o.' => '/º/' | |
); | |
return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc)); | |
} | |
function RemovePontuacao($string){ | |
$especiais= Array(".",",",";","!","@","#","%","¨","*","(",")","+","-","=", | |
"§","$","|","\\",":","/","<",">","?","{","}","[","]","&","'",'"',"´","`","?",'“','”','$',"'","'"); | |
$string = str_replace($especiais,"",trim($string)); | |
return $string; | |
} | |
function remove_accents($string) { | |
if ( !preg_match('/[\x80-\xff]/', $string) ) | |
return $string; | |
if (seems_utf8($string)) { | |
$chars = array( | |
// Decompositions for Latin-1 Supplement | |
chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', | |
chr(195).chr(130) => 'A', chr(195).chr(131) => 'A', | |
chr(195).chr(132) => 'A', chr(195).chr(133) => 'A', | |
chr(195).chr(134) => 'AE',chr(195).chr(135) => 'C', | |
chr(195).chr(136) => 'E', chr(195).chr(137) => 'E', | |
chr(195).chr(138) => 'E', chr(195).chr(139) => 'E', | |
chr(195).chr(140) => 'I', chr(195).chr(141) => 'I', | |
chr(195).chr(142) => 'I', chr(195).chr(143) => 'I', | |
chr(195).chr(144) => 'D', chr(195).chr(145) => 'N', | |
chr(195).chr(146) => 'O', chr(195).chr(147) => 'O', | |
chr(195).chr(148) => 'O', chr(195).chr(149) => 'O', | |
chr(195).chr(150) => 'O', chr(195).chr(153) => 'U', | |
chr(195).chr(154) => 'U', chr(195).chr(155) => 'U', | |
chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y', | |
chr(195).chr(158) => 'TH',chr(195).chr(159) => 's', | |
chr(195).chr(160) => 'a', chr(195).chr(161) => 'a', | |
chr(195).chr(162) => 'a', chr(195).chr(163) => 'a', | |
chr(195).chr(164) => 'a', chr(195).chr(165) => 'a', | |
chr(195).chr(166) => 'ae',chr(195).chr(167) => 'c', | |
chr(195).chr(168) => 'e', chr(195).chr(169) => 'e', | |
chr(195).chr(170) => 'e', chr(195).chr(171) => 'e', | |
chr(195).chr(172) => 'i', chr(195).chr(173) => 'i', | |
chr(195).chr(174) => 'i', chr(195).chr(175) => 'i', | |
chr(195).chr(176) => 'd', chr(195).chr(177) => 'n', | |
chr(195).chr(178) => 'o', chr(195).chr(179) => 'o', | |
chr(195).chr(180) => 'o', chr(195).chr(181) => 'o', | |
chr(195).chr(182) => 'o', chr(195).chr(182) => 'o', | |
chr(195).chr(185) => 'u', chr(195).chr(186) => 'u', | |
chr(195).chr(187) => 'u', chr(195).chr(188) => 'u', | |
chr(195).chr(189) => 'y', chr(195).chr(190) => 'th', | |
chr(195).chr(191) => 'y', | |
// Decompositions for Latin Extended-A | |
chr(196).chr(128) => 'A', chr(196).chr(129) => 'a', | |
chr(196).chr(130) => 'A', chr(196).chr(131) => 'a', | |
chr(196).chr(132) => 'A', chr(196).chr(133) => 'a', | |
chr(196).chr(134) => 'C', chr(196).chr(135) => 'c', | |
chr(196).chr(136) => 'C', chr(196).chr(137) => 'c', | |
chr(196).chr(138) => 'C', chr(196).chr(139) => 'c', | |
chr(196).chr(140) => 'C', chr(196).chr(141) => 'c', | |
chr(196).chr(142) => 'D', chr(196).chr(143) => 'd', | |
chr(196).chr(144) => 'D', chr(196).chr(145) => 'd', | |
chr(196).chr(146) => 'E', chr(196).chr(147) => 'e', | |
chr(196).chr(148) => 'E', chr(196).chr(149) => 'e', | |
chr(196).chr(150) => 'E', chr(196).chr(151) => 'e', | |
chr(196).chr(152) => 'E', chr(196).chr(153) => 'e', | |
chr(196).chr(154) => 'E', chr(196).chr(155) => 'e', | |
chr(196).chr(156) => 'G', chr(196).chr(157) => 'g', | |
chr(196).chr(158) => 'G', chr(196).chr(159) => 'g', | |
chr(196).chr(160) => 'G', chr(196).chr(161) => 'g', | |
chr(196).chr(162) => 'G', chr(196).chr(163) => 'g', | |
chr(196).chr(164) => 'H', chr(196).chr(165) => 'h', | |
chr(196).chr(166) => 'H', chr(196).chr(167) => 'h', | |
chr(196).chr(168) => 'I', chr(196).chr(169) => 'i', | |
chr(196).chr(170) => 'I', chr(196).chr(171) => 'i', | |
chr(196).chr(172) => 'I', chr(196).chr(173) => 'i', | |
chr(196).chr(174) => 'I', chr(196).chr(175) => 'i', | |
chr(196).chr(176) => 'I', chr(196).chr(177) => 'i', | |
chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij', | |
chr(196).chr(180) => 'J', chr(196).chr(181) => 'j', | |
chr(196).chr(182) => 'K', chr(196).chr(183) => 'k', | |
chr(196).chr(184) => 'k', chr(196).chr(185) => 'L', | |
chr(196).chr(186) => 'l', chr(196).chr(187) => 'L', | |
chr(196).chr(188) => 'l', chr(196).chr(189) => 'L', | |
chr(196).chr(190) => 'l', chr(196).chr(191) => 'L', | |
chr(197).chr(128) => 'l', chr(197).chr(129) => 'L', | |
chr(197).chr(130) => 'l', chr(197).chr(131) => 'N', | |
chr(197).chr(132) => 'n', chr(197).chr(133) => 'N', | |
chr(197).chr(134) => 'n', chr(197).chr(135) => 'N', | |
chr(197).chr(136) => 'n', chr(197).chr(137) => 'N', | |
chr(197).chr(138) => 'n', chr(197).chr(139) => 'N', | |
chr(197).chr(140) => 'O', chr(197).chr(141) => 'o', | |
chr(197).chr(142) => 'O', chr(197).chr(143) => 'o', | |
chr(197).chr(144) => 'O', chr(197).chr(145) => 'o', | |
chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe', | |
chr(197).chr(148) => 'R',chr(197).chr(149) => 'r', | |
chr(197).chr(150) => 'R',chr(197).chr(151) => 'r', | |
chr(197).chr(152) => 'R',chr(197).chr(153) => 'r', | |
chr(197).chr(154) => 'S',chr(197).chr(155) => 's', | |
chr(197).chr(156) => 'S',chr(197).chr(157) => 's', | |
chr(197).chr(158) => 'S',chr(197).chr(159) => 's', | |
chr(197).chr(160) => 'S', chr(197).chr(161) => 's', | |
chr(197).chr(162) => 'T', chr(197).chr(163) => 't', | |
chr(197).chr(164) => 'T', chr(197).chr(165) => 't', | |
chr(197).chr(166) => 'T', chr(197).chr(167) => 't', | |
chr(197).chr(168) => 'U', chr(197).chr(169) => 'u', | |
chr(197).chr(170) => 'U', chr(197).chr(171) => 'u', | |
chr(197).chr(172) => 'U', chr(197).chr(173) => 'u', | |
chr(197).chr(174) => 'U', chr(197).chr(175) => 'u', | |
chr(197).chr(176) => 'U', chr(197).chr(177) => 'u', | |
chr(197).chr(178) => 'U', chr(197).chr(179) => 'u', | |
chr(197).chr(180) => 'W', chr(197).chr(181) => 'w', | |
chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y', | |
chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z', | |
chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z', | |
chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z', | |
chr(197).chr(190) => 'z', chr(197).chr(191) => 's', | |
// Decompositions for Latin Extended-B | |
chr(200).chr(152) => 'S', chr(200).chr(153) => 's', | |
chr(200).chr(154) => 'T', chr(200).chr(155) => 't', | |
// Euro Sign | |
chr(226).chr(130).chr(172) => 'E', | |
// GBP (Pound) Sign | |
chr(194).chr(163) => ''); | |
$string = strtr($string, $chars); | |
} else { | |
// Assume ISO-8859-1 if not UTF-8 | |
$chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158) | |
.chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194) | |
.chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202) | |
.chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210) | |
.chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218) | |
.chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227) | |
.chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235) | |
.chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243) | |
.chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251) | |
.chr(252).chr(253).chr(255); | |
$chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy"; | |
$string = strtr($string, $chars['in'], $chars['out']); | |
$double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254)); | |
$double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th'); | |
$string = str_replace($double_chars['in'], $double_chars['out'], $string); | |
} | |
return $string; | |
} | |
function seems_utf8($str) { | |
$length = strlen($str); | |
for ($i=0; $i < $length; $i++) { | |
$c = ord($str[$i]); | |
if ($c < 0x80) $n = 0; # 0bbbbbbb | |
elseif (($c & 0xE0) == 0xC0) $n=1; # 110bbbbb | |
elseif (($c & 0xF0) == 0xE0) $n=2; # 1110bbbb | |
elseif (($c & 0xF8) == 0xF0) $n=3; # 11110bbb | |
elseif (($c & 0xFC) == 0xF8) $n=4; # 111110bb | |
elseif (($c & 0xFE) == 0xFC) $n=5; # 1111110b | |
else return false; # Does not match any model | |
for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ? | |
if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80)) | |
return false; | |
} | |
} | |
return true; | |
} | |
//Cria um nome de url | |
//Remove preposiçoes e conectivos | |
function nome_url($id, $titulo){ | |
$pword = array(' diz ', ' que ', ' pra ', ' ou ', ' mas ', ' seu ', ' ter ', ' dar ', ' a ', ' e ', ' i ', ' o ', ' u ', ' de ', ' em ', ' por ', ' ao ', ' do ', ' no ', ' pelo ', ' da ', ' na ', ' pela ', ' os ', ' aos ', ' dos ', ' nos ', ' pelos ', ' as ', ' das ', ' nas ', ' um ', ' dum ', ' num ', ' uma ', ' duma ', ' numa ', ' uns ', ' duns ', ' nuns ', ' umas ', ' dumas ', ' numas ', ' ante ', ' apos ', ' ate', ' com ', ' de ', ' desde ', ' em ', ' entre ', ' para ', ' por ', ' sem ', ' sob ', ' sobre ', ' tras ', ' so ', ' assim', ' b ', ' c ', ' d ', ' f ', ' g ', ' h ', ' j ', ' l ',' m ', ' n ',' p ', ' q ', ' r ', ' s ', ' t ', ' v ', ' x ', ' z ', ' w ', ' y '); | |
$a = array('à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ù', 'ú', 'û', 'ü', '"'); | |
$b = array('à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ð', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ù', 'ú', 'û', 'ü', '"'); | |
$c = array('a', 'a', 'a', 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'o', 'n', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', ''); | |
if($titulo){ | |
$titulo_raw = str_replace($a, $c, $titulo); | |
$titulo_raw = str_replace($b, $c, $titulo_raw); | |
$titulo_raw = remove_accents($titulo_raw); | |
$titulo_raw = preg_replace('/[^a-z]/i', ' ', $titulo_raw); | |
$titulo_raw = strtolower($titulo_raw); | |
$titulo_raw = str_replace($pword, " ", $titulo_raw); | |
$titulo_raw_array = str_word_count($titulo_raw, 1); | |
foreach($titulo_raw_array as $word){ $titulo_raw_a[] = trim($word); $i++; if($i >= 10) break; } | |
$titulo_raw = implode("-", $titulo_raw_a); | |
} | |
return $titulo_raw."-$id.html"; | |
} | |
//final da funcao de upload | |
function upload($arquivo, $caminho, $name = ''){ | |
if(!(empty($arquivo))){ | |
$arquivo1 = $arquivo; | |
preg_match("/\.(png|jpg|jpeg){1}$/i", $arquivo1['name'], $ext); | |
$arquivo_tratado = md5(uniqid(time())) . "." . strtolower($ext[1]); | |
$arquivo_tratado = $name != '' ? $name.'-'.$arquivo_tratado : $arquivo_tratado; | |
$destino = $caminho.$arquivo_tratado; | |
move_uploaded_file($arquivo1['tmp_name'], $destino); | |
return $arquivo_tratado; | |
} | |
} | |
//Status padrao com bootstrap | |
function status($status){ | |
switch($status){ | |
case '0' : $r = 'Desativado'; $l = 'info'; break; | |
case '1' : $r = 'Ativo'; $l = 'success'; break; | |
default : $r = $status; break; | |
} | |
return "<div class=\"label label-{$l}\">{$r}</div>"; | |
//return $r; | |
} | |
//Gerar chave numerica | |
function gera_chave_numerica($t){ | |
$car = "0123456789"; | |
for ($i = 0; $i < $t; $i++) { | |
$key .= $car{rand(0, strlen($car) - 1)}; | |
} | |
return $key; | |
} | |
//Gerar chave | |
function gera_chave($t){ | |
$car = "23456789ABCDEFGIJKMNPQRSTUVXYZ"; | |
for ($i = 0; $i < $t; $i++) { | |
$key .= $car{rand(0, strlen($car) - 1)}; | |
} | |
return $key; | |
} | |
//Validar email | |
function validar_email($email){ | |
if(filter_var($email, FILTER_VALIDATE_EMAIL)){ | |
return true; | |
}else{ return false; } | |
} | |
//Exibe porcentagem de dois numero | |
function porcento($valor1, $valor2, $precision = 0){ | |
if($valor1 && $valor2){ | |
if (($valor1 > 0) && ($valor2 > 0)){ | |
return round(($valor1/$valor2) * 100, $precision); | |
} else { return '0'; } | |
} else { return '0'; } | |
} | |
//Validar CPF | |
function cpf_validar($cpf = null) { | |
// Verifica se um número foi informado | |
if(empty($cpf)) { | |
return false; | |
} | |
// Elimina possivel mascara | |
$cpf = ereg_replace('[^0-9]', '', $cpf); | |
$cpf = str_pad($cpf, 11, '0', STR_PAD_LEFT); | |
// Verifica se o numero de digitos informados é igual a 11 | |
if (strlen($cpf) != 11) { | |
return false; | |
} | |
// Verifica se nenhuma das sequências invalidas abaixo | |
// foi digitada. Caso afirmativo, retorna falso | |
else if ($cpf == '00000000000' || | |
$cpf == '11111111111' || | |
$cpf == '22222222222' || | |
$cpf == '33333333333' || | |
$cpf == '44444444444' || | |
$cpf == '55555555555' || | |
$cpf == '66666666666' || | |
$cpf == '77777777777' || | |
$cpf == '88888888888' || | |
$cpf == '99999999999') { | |
return false; | |
// Calcula os digitos verificadores para verificar se o | |
// CPF é válido | |
} else { | |
for ($t = 9; $t < 11; $t++) { | |
for ($d = 0, $c = 0; $c < $t; $c++) { | |
$d += $cpf{$c} * (($t + 1) - $c); | |
} | |
$d = ((10 * $d) % 11) % 10; | |
if ($cpf{$c} != $d) { | |
return false; | |
} | |
} | |
return true; | |
} | |
} | |
//Converte array para json | |
function getArray($req){ | |
if(is_array($req)){ | |
return json_encode($req, JSON_UNESCAPED_UNICODE); | |
} | |
} | |
//Executa script php em segundo plano | |
function exec_in_background($cmd, $dados =''){ | |
if($cmd){ | |
//exec($cmd . " > /dev/null &", $return); | |
//exec("php " . $cmd ." ".$dados, $return); | |
//var_dump($return); | |
exec("php " . $cmd ." ".$dados . " > /dev/null &"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment