Mini Shell
<?php
function uploadImagem($pasta, $nImg, $rename){
// Pasta onde o arquivo vai ser salvo
$_UP['pasta'] = "$pasta";
// $_UP['pasta'] = "../uploads/";
// Tamanho máximo do arquivo (em Megabyte)
$_UP['mb'] = 2; //Altere aqui o tamanho máximo permitido ao realizar o upload de um arquivo (em Megabyte)
$_UP['tamanho'] = 1024 * 1024 * $_UP['mb'];
// Array com as extensões permitidas
$_UP['extensoes'] = array('jpg', 'JPG', 'jpeg', 'JPEG', 'gif', 'ico', 'ICO', 'png', 'PNG', 'doc', 'docx', 'DOC', 'DOCX', 'pdf', 'PDF', 'txt');
// Renomeia o arquivo? (Se true, o arquivo será salvo como .jpg e um nome único)
$_UP['renomeia'] = true;
// Array com os tipos de erros de upload do PHP
$_UP['erros'][0] = 'Não houve erro';
$_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP';
$_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML';
$_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';
$_UP['erros'][4] = 'Não foi feito o upload do arquivo';
// Verifica se houve algum erro com o upload. Se sim, exibe a mensagem do erro
if ($_FILES[$nImg]['error'] != 0) {
$erro = $_UP['erros'][$_FILES[$nImg]['error']]; ?>
<script type="text/javascript">
var erro = "<?php echo $erro ?>";
$('.load').hide();
swal("Não foi possível fazer o upload",erro);
</script>
<?php
die($erro);
// die("Não foi possível fazer o upload, erro:" . $_UP['erros'][$_FILES[$nImg]['error']]);
exit; // Para a execução do script
}
// Caso script chegue a esse ponto, não houve erro com o upload e o PHP pode continuar
// Faz a verificação da extensão do arquivo
$extensao = explode('.', $_FILES[$nImg]['name']);
$extensao = strtolower(end($extensao));
if (array_search($extensao, $_UP['extensoes']) === false) {
$extensoesString = implode(",", $_UP['extensoes']);
$extensoesString = str_replace(",", ", ", $extensoesString);
$erro = "Por favor, envie arquivos com as seguintes extensões: {$extensoesString}";
$script = "swal({ title: '{$erro}', type: 'error' }); $('.load').fadeOut();";
echo "<script> {$script} </script>";
exit;
}
// Faz a verificação do tamanho do arquivo
if ($_UP['tamanho'] < $_FILES[$nImg]['size']) {
$erro = "Por favor, envie arquivos com no máximo {$_UP['mb']} MB de tamanho.";
$script = "swal({ title: '{$erro}', type: 'error' }); $('.load').fadeOut();";
echo "<script> {$script} </script>";
exit;
}
$nome_original = $_FILES[$nImg]['name'];
$nome_final = $nome_original;
// O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta
// Primeiro verifica se deve trocar o nome do arquivo
if ($_UP['renomeia'] == true) {
// Verifica a pasta que está armanezado as imagens e caso tenha algum arquivo com o mesmo nome, o script cria um nome novo inserindo numeros gerados em um rand
while (file_exists($_UP['pasta'] . $nome_final)) {
$extensao = pathinfo($nome_final, PATHINFO_EXTENSION);
$nome_final = substr($nome_final, 0, -(strlen($extensao) + 1)) . '_' . mt_rand() . '.' . $extensao;
echo 'O arquivo foi salvo com um nome novo para evitar conflitos. Nome novo: ' . $nome_final;
}
} else {
// Mantém o nome original do arquivo
$nome_final = $rename;
}
move_uploaded_file($_FILES[$nImg]['tmp_name'], $_UP['pasta'] . $nome_final);
return $nome_final;
}
function abreviaString($texto, $limite, $tres_p = '...'){
$totalCaracteres = 0;
$texto = somenteTexto($texto);
$vetorPalavras = explode(" ",$texto);
if(strlen($texto) <= $limite):
$tres_p = "";
$novoTexto = $texto;
else:
$novoTexto = "";
for($i = 0; $i <count($vetorPalavras); $i++):
$totalCaracteres += strlen(" ".$vetorPalavras[$i]);
if($totalCaracteres <= $limite)
$novoTexto .= ' ' . $vetorPalavras[$i];
else break;
endfor;
endif;
return $novoTexto . $tres_p;
}
function somenteTexto($string){
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return trim(strip_tags(strtr($string, $trans_tbl)));
}
//REMOVE CARACTERES ESPECIAIS, ACENTOS E ESPAÇOS
function removeAcentos($string, $slug = '-') {
// Caracteres a serem mantidos so que decodificados
$table = array(
'Š'=>'S', 'š'=>'s', 'Đ'=>'Dj', 'Ž'=>'Z', '.'=>' ',
'ž'=>'z', 'Č'=>'C', 'č'=>'c', 'Ć'=>'C', 'ć'=>'c',
'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A',
'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I',
'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O',
'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U', 'Ú'=>'U',
'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss',
'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a',
'å'=>'a', 'æ'=>'a', 'ç'=>'c', 'è'=>'e', 'é'=>'e',
'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i',
'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o',
'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o', 'ù'=>'u',
'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'ý'=>'y', 'þ'=>'b',
'ÿ'=>'y', 'Ŕ'=>'R', 'ŕ'=>'r',
);
// Traduz os caracteres em $string, baseado no vetor $table
$string = strtr($string, $table);
// Converte para minúsculo
$string = strtolower($string);
// Remove caracteres indesejáveis (que não estão no padrão)
$string = preg_replace("/[^a-z0-9_\s-]/", "", $string);
// Remove múltiplas ocorrências de hífens ou espaços
$string = preg_replace("/[\s-]+/", " ", $string);
// Faz a retirada de espaços multiplos no texto para evitar que a url fique com mais de uma hifen entre os espaçamentos
$string = trim($string);
// Transforma espaços e underscores em $slug
$string = preg_replace("/[\s_]/", $slug, $string);
// retorna a string
return $string;
}
function delTree($dir) {
$files = array_diff(scandir($dir), array('.','..'));
foreach ($files as $file) {
(is_dir("$dir/$file")) ? delTree("$dir/$file") : unlink("$dir/$file");
}
return rmdir($dir);
}
function geraSenha($tamanho = 8, $maiusculas = true, $numeros = true, $simbolos = false){
$lmin = 'abcdefghijklmnopqrstuvwxyz';
$lmai = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$num = '1234567890';
$simb = '!@#$%*-';
$retorno = '';
$caracteres = '';
$caracteres .= $lmin;
if ($maiusculas) $caracteres .= $lmai;
if ($numeros) $caracteres .= $num;
if ($simbolos) $caracteres .= $simb;
$len = strlen($caracteres);
for ($n = 1; $n <= $tamanho; $n++) {
$rand = mt_rand(1, $len);
$retorno .= $caracteres[$rand-1];
}
return $retorno;
}
?>
Zerion Mini Shell 1.0