Calculando distâncias em PHP

Uma função muito útil no PHP para calcular a distância de um ponto A para um ponto B. Essa função usa latitudes e longitudes para retornar o cálculo de distância em milhas, quilômetros ou milhas náuticas.

<?php
function calcDistancia( $lat1 = '', $lon1 = '' , $lat2 = '' , $lon2 = '' , $unidade = '' ) {

	if( $lat1 && $lon1 && $lat2 && lon2 ) {
		$distancia = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad( $lon1 - $lon2 ));
		$distancia = acos($distancia);
		$distancia = rad2deg($distancia);
		$milhas = $distancia* 60 * 1.1515;
		$unidade = strtoupper($unidade);

		if ($unidade == "K") {
			return ($milhas * 1.609344);
		} else if ($unidade == "N") {
			return ($milhas * 0.8684);
		} else {
			return $milhas;
		}
	} else {
		return 'Não foi possível calcular!';
	}

}
?>

Um exemplo de uso para a funcão:

<?php
	echo calcDistancia(32.9697, -96.80322, 29.46786, -98.53506, "k")." quilômetros";
?>

 

Escrevendo PHP dentro de arquivos Javascript

É possível rodar comandos PHP dentro de arquivos Javascript. Isso pode ajudar em alguma função onde é necessário ter algum dado de arquivo de  configurável ou conexão com banco de dados.

Para o funcionando desses códigos PHP, é necessário acrescentar algumas linhas de código no seu arquivo .htaccess do apache. Esses códigos serão responsáveis por acrescentar no servidor a possibilidade de arquivos com a extensão .js rodarem comandos PHP.

Veja os comandos abaixo que devem ser acrescentados ao .htaccess:

AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js

<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>

Após acrescentar os comandos acima, teste em algum arquivo javascript, colocando o código abaixo, por exemplo:

<?php echo "Rodando PHP dentro de Arquivo JS"; ?>

Abaixo você pode baixar um arquivo .zip com exemplo do código acima:

php_dentro_js.zip

Forçando a exibição de páginas em UTF8

Uma dica interessante para quem tem problema com acentuação no PHP, é utilizar o código abaixo para forçar o servidor a usar uma codificação nas páginas.

<?php
    ini_set('default_charset','UTF-8');
?>

Com esse código sendo executado por primeiro no projeto, normalmente no index.php, ele sobrescreverá qualquer configuração do servidor que possa estar influenciando em problemas de codificação do projeto.

move_uploaded_file: Utilizando a função de upload do PHP

Neste post iremos mostrar como funciona a função move_uploaded_file do PHP. Esta função é responsável por realizar o upload de arquivos, principalmente através de formulários.

Em sua descrição no manual do php.net, ela é descrita como uma função que move um arquivo enviado para uma nova localização. Esse envio é realizado pelos 2 parâmetros que a função recebe.

O primeiro é responsável por pegar o arquivo que foi enviado e o segundo é responsável por encaminhar o novo nome e caminho de destino do arquivo no servidor.

Exemplo de uso da função move_uploaded_file

Veja o exemplo abaixo:

move_uploaded_file ( string $arquivo , string $novoDestino );

Para mais detalhes do funcionando do upload, você pode baixar o arquivo no link abaixo, onde há um exemplo de implementação da função.

Upload de Arquivos – PHP

Alterando a URL do WordPress

Para alterar a URL do WordPress no banco de dados é simples. Com o comando SQL abaixo você consegue fazer essa alteração:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://url.antiga', 'http://url.nova');

Com o código acima você altera a URL na tabela de configurações. A instrução SQL abaixo é possível alterar qualquer referência da URL antiga nos posts.

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://url.antiga', 'http://url.nova');

Com esses comandos você consegue alterar a URL do WordPress diretamente no banco.