Calculo em porcentagem utilizando PHP

Um pequeno script muito útil para ser utilizado em uma barra de progresso, estou utilizando este script juntamente com Bootstrap  em um de meus projetos.


<?php
$meta = 2000; // valor final da arrecadação
$doacao = $_POST['valor']; // valor do deposito

echo 'Nossa meta é de R$ '.$meta.' reais<br />';

if ($doacao > 0){
echo "Total: " . (($doacao / $meta) * 100) . "%" . " ";
}else{
echo '<div style="color:red;">Insira um valor</div>';
}

?>
<form action="" method="post">
<label>Valor deposito</label>
<input type="text" name="valor">
<input type="submit" name="enviar">
</form>

<?php
echo '<br />';
echo '<pre>';
//print_r($_POST);
echo '</pre>';
?>

Anúncios

#php

Obtendo Informações de Servidores Usando PHP

Obtendo Informações de Servidores Usando PHP

Requerimentos:

  • Noções básicas de PHP
  • Webserver com suporte a PHP 4.x.x ou superior

Tipos de servidores suportados:

  • Counter-Strike 1.6
  • Half-Life 1

1)  Introdução

  • Será necessário a utilização do protocolo UDP para receber os dados do servidor, devido o sistema do game Half-Life.
  • A primeira coisa a fazer é nos conectar no servidor, no exemplo usaremos o ip:porta 127.0.0.1:27015.

2)   Montando o Script para abrir e pegar conteúdo.

  • Para chamar uma conexão utilizado PHP, usaremos a funcão fsockopen()
<?php
$ServerIP = "127.0.0.1";// IP doServidor
$ServerPort = "27015";// Porta do Servidor
$ServerinfoCommand = "\377\377\377\377infostring";// Variavel que determina qual Query a ser enviada para o servidor
$fp = fsockopen("udp://".$ServerIP, $ServerPort, $errno, $errstr);// Abrindo a conexão com o servidor
fwrite($fp, $ServerinfoCommand);//Enviando a Query para o servidor
$JunkHead = fread($fp,24);//Removendo os Headers iniciais inuteis
$CheckStatus = socket_get_status($fp);// Rotina para checar se o servidor está rodando
 if($CheckStatus["unread_bytes"] == 0)
{
die("Não foi possível estabelecer conexão, verifique se o servidor encontra-se online.");
}
// Obtendo as informações que chegarem
$do = 1;
$HLServerStats= "";
while($do)
 {
$str = fread($fp,1);
$HLServerStats.= $str;
$status = socket_get_status($fp);
if($status["unread_bytes"] == 0) {$do = 0;}
}

//Fechando a conexão
fclose($fp);
?>

O código acima, enviará a Query \377\377\377\377infostring para o servidor com a função fwrite() e em seguida criamos um while loop para pegar todo o conteúdo e o colocarmos na variavel $HLServerStats

Para uma lista detalhada de todas as Querys de sistem Half-life acesse http://dev.kquery.com/index.php?article=31

3) Montando o Script para retornar o conteúdo obtido

– Agora que nós já temos as informações desejadas, podemos criar um script para facilitar o seu retorno, simplificando na hora de colocar em um servidor web. Vamos dividir a variavel $HLServerStats colocando seu conteúdo em Arrays de uma forma mais organizada.

<?php
// Separando o conteúdo em Arrays
$HLServerStats = explode("\\", $HLServerStats);
// Contando a quantidade de arrays
$count = count($HLServerStats);
// O resultado da quantidade precisa ser um número par
if($count % 2 == 0)
{
// "Loopamos" o conteúdo através dos arrays e em seguida o colocamos em uma variavel chamada $ServerData
$i = 0;
while($count != $i)
{
$ServerData[$HLServerStats[$i]] = $HLServerStats[$i+1];
$i = $i + 2;
   }
 }
?>

4) Informações adquiridas

– Pronto, agora que já temos a variavel, podemos usa-la de forma organizada.

Estas são as palavras-chaves obtidas, cada uma retorna o seu devido valor:

protocol – Versão do Protocolo de rede (atualmente 47)
address – Endereço IP do Servidor
players – Número de jogadores atualmente no servidor.
proxytarget – Este servidor possue proxy HLTV? 1 = Sim, 0 = Não
lan – Este servidor corre em LAN? 1 = Sim, 0 = Não
max – Número máximo de jogadores que podem jogar
bots – Número de Bots em jogo
gamedir – Diretório do Mod (Ex: tfc)
description – Nome do Mod (Ex: Counter-Strike)
hostname – Nome do Servidor
map – Mapa atual que está em jogo
type – Tipo do servidor. d = dedicado, l = listen.
password – O Servidor possue senha? 1 = Sim, 0 = Não
os – Sistema Operacional do servidor. w = Windows, l = Linux.
secure – Modo seguro VAC ativo? 1 = Sim, 0 = Não

Para mostrar via Web um determinado conteúdo, utilize este exemplo:

<? echo $ServerData['PALAVRA-CHAVE']; ?>

Depois é só personalizar a seu gosto, insira Código HTML a vontade ou qualquer outra coisa.
Salve o arquivo com um nome qualquer.php, e pronto!
Este script é útil para sites de games, por exemplo, mostrar as estatísticas de um servidor pertencente a algum Clã, bastante simples e sem complicações.

Gostou?
Comentem!

#php

Encriptação e Desencriptação MD5

Encriptação e Desencriptação em MD5

Vasculhando a internet consegui encontrar alguns exemplos de script que nos permite Cripta uma entrada e de-cripta uma saida com MD5, muito utilizado para gravar senhas no Mysql.

Encriptando e Desencriptando

Veja os scripts!



<table width="50%" border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<th bgcolor="#D6D6D6"> Digite o testo a ser Incriptado!</th>
</tr>
<tr>
<td bgcolor="#F5F5F5"><form action="<?php echo $PHP_SELF?><br />" method="post">
<div><input type="text" name="textonormal" value="" />
<input type="submit" name="funcao" value="Encript" /></div>
</form>

<hr />

<!--?php <br ?-->//As funções enc e des que serviram de base para este exemplo,
//foram implementadas inicialmente por Ricardo Antonio Duarte: //http://www.phpbrasil.com/scripts/script.php/id/1834
$string = $_POST['textonormal'];
$enc_string = base64_encode($string);
$enc_string = str_replace("=","",$enc_string);
$enc_string = strrev($enc_string);
$md5 = md5($string);
$enc_string = substr($md5,0,3).
$enc_string.substr($md5,-3);
echo utf8_decode("O resultado do processo de Encriptação de <span style="color: #4b0082;">$string</span> é: $enc_string");
?></td>
</tr>
<tr>
<th bgcolor="#C1C1C1"> Cole o testo incriptado para ser Decriptado!</th>
</tr>
<tr>
<td bgcolor="#F4F4F4"><form action="<?php echo $PHP_SELF?><br />" method="post">
<div><input type="text" name="textoenc" value="" />
<input type="submit" name="funcao" value="Decript" /></div>
</form>
<!--?php <br ?-->$string = $_POST['textoenc'];
$ini = substr($string,0,3);
$end = substr($string,-3);
$des_string = substr($string,0,-3);
$des_string = substr($des_string,3);
$des_string = strrev($des_string);
$des_string = base64_decode($des_string);
$md5 = md5($des_string);
$ver = substr($md5,0,3).substr($md5,-3);
echo utf8_decode("O resultado do processo de Desencriptação de <span style="color: orange;">$string</span> é: <span style="color: teal;">$des_string</span>");
?></td>
</tr>
</tbody>
</table>

Gostou?
Comenta então!

#4b0082, #php