Backup de banco MySQL via SSH

Realizar um backup de banco MySQL as vezes pode ser complicado, quando a base tem diversas tabelas. No caso do sistema Magento, por exemplo, aonde você encontra mais de 300 tabelas, usar um programa de gerenciamento pode ser demorado.

Uma maneira rápida e fácil de realizar o backup é via SSH. Claro, para isso o servidor de hospedagem precisa permitir o acesso SSH de sua conta.

Veja abaixo um exemplo de como realizar esse backup:

mysqldump -h HOSTDOBANCO -u LOGIN -p -R --opt NOMEDOBANCO > bkp.sql

Após rodar o comando acima, será socitado o password da base de dados. O arquivo .sql será gerado em poucos segundos, dentro da pasta aonde você esta navegando no servidor.

É possível realizar esse comando para gerar um backup apenas de uma tabela, conforme abaixo:

mysqldump -h HOSTDOBANCO -u LOGIN -p -R --opt NOMEDOBANCO TABELA > backup.sql

Para bases de dados até a versão 5.0, o comando muda um pouco, conforme abaixo:

mysqldump -h HOSTDOBANCO -u LOGIN -p --opt NOMEDOBANCO > backup.sql

Videos no WordPress do Vimeo

Nessa dica vamos mostrar como criar um shortcode no WordPress para você embedar videos no Wordpress do Vimeo. Criar um shortcode é muito fácil.

Shortcodes servem para auxiliar você a chamar determinadas funcionalidade dentro do caixa de escrita do post.

Neste exemplo vamos mostrar como criar uma shortcode para auxiliar no embed de videos no wordpress do Vimeo.

No arquivo functions.php do seu tema, você deve criar a função que está abaixo:

function shrt_vimeo($atts) {
    extract(shortcode_atts(array(
        "videoid" => '',
        "width" => '640',
        "height" => '360'
    ), $atts));
    return '<div><iframe src="http://player.vimeo.com/video/'.$videoid.'?title=0&amp;byline=0&amp;portrait=0" width="'.$width.'" height="'.$height.'" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe></div>';
}
add_shortcode("vimeo", "shrt_vimeo");

Ela será responsável por criar uma shortcode quando o seu tema for utilizado. Lembrando que essa shortcode só irá funcionar quando estiver usando o seu tema estiver ativo.

Para embedar o vídeo no wordpress, você deve escrever no corpo do post conforme o exemplo abaixo:

[vimeo videoid="28244590" width="" height=""]

O resultado final deve ser o Vimeo conforme o tamanho padrão, ou os tamanhos que você passou via parâmetros width e height para o shortcode.

Ordernar Array no PHP

Para ordenar array php, você deve utilizar uma das funções abaixo. Para cada situação existe uma função disponível.

Veja a lista de funções disponíveis:

  • ksort() – Ordenar um array pelas chaves
  • krsort() – Organizar um array pelas chaves em ordem descrescente
  • asort() – Alterar um array mantendo a associação entre índices e valores
  • arsort() – Ordernar um array em ordem descrescente mantendo a associação entre índices e valores
  • uksort() – Ajusta um array pelas chaves utilizando uma função de comparação definida pelo usuário
  • sort() – Os elementos serão ordenados do menor para o maior ao final da execução dessa função.
  • natsort() – Modifica o array utilizando o algoritmo da “ordem natural”
  • rsort() – Altera a ordem de um array em descrescente

ksort

A função ksort() é responsável por ordenar um array pelas chaves:

<?php

$palavras = array("d"=>"Dicas", "a"=>"PHP", "b" =>"Tutorial", "c"=>"Tutorial de PHP");

print_r( $palavras ); // Array antes da funação ( [d] => Dicas [a] => PHP [b] => Tutorial [c][/c] => Tutorial de PHP )

ksort( $palavras ); // Ordenando um array pela chave

print_r( $palavras ); // Array depois da função ( [a] => PHP [b] => Tutorial [c][/c] => Tutorial de PHP [d] => Dicas )

?>

Para ordenar os índices de forma decrescente, utilize a função krsort().

sort

A função asort() ordena um array mantendo a associação entre índices e valores, mas a ordeneção é feita pelos valores e não índices:

<?php

$palavras = array("b" =>"Tutorial", "d"=>"Dicas", "a"=>"PHP", "c"=>"Tutorial de PHP");

print_r( $palavras ); // Array antes da funação ( [b] => Tutorial [d] => Dicas [a] => PHP [c][/c] => Tutorial de PHP )

asort( $palavras ); // Ordenando um array pela chave

print_r( $palavras ); // Array depois da função ( [d] => Dicas [a] => PHP [b] => Tutorial [c][/c] => Tutorial de PHP )

?>

Para ordenar os valores de forma decrescente, utilize a função arsort(). Com isso os índices serão mantidos e apenas alterados a ordenação dos valores para decrescente.

uksort

A função uksort() ordena um array pelas chaves utilizando uma função de comparação definida pelo usuário:

<?php

function ordena( $a, $b ) {
    $a = ereg_replace('^(a|an|the) ', '', $a);
    $b = ereg_replace('^(a|an|the) ', '', $b);
    return strcasecmp($a, $b);
}

$palavras = array("b" =>"Tutorial", "d"=>"Dicas", "a"=>"PHP", "c"=>"Tutorial de PHP");

print_r( $palavras ); // Array antes da funação ( [b] => Tutorial [d] => Dicas [a] => PHP [c][/c] => Tutorial de PHP )

uksort( $palavras, "ordena" ); // Ordenando um array com uma função definida pelo usuário

print_r( $palavras ); // Array depois da função ( [d] => Dicas [a] => PHP [b] => Tutorial [c][/c] => Tutorial de PHP )

?>

sort

A função sort() ordena um array:

<?php

$palavras = array("Tutorial", "Dicas", "PHP", "Tutorial de PHP");

print_r( $palavras ); // Array antes da funação ( [0] => Tutorial [1] => Dicas [2] => PHP [3] => Tutorial de PHP )

sort( $palavras ); // A ordenação será por ordem alfabética.

print_r( $palavras ); // Array depois da função ( [0] => Dicas [1] => PHP [2] => Tutorial [3] => Tutorial de PHP )

?>

Para ordenação decrescente, utilize a função rsort().

natsort

A função natsort() ordena um array utilizando o algoritmo da “ordem natural“:

<?php

$palavras = $videos = array("img12.png", "img10.png", "img2.png", "img1.png");

print_r( $palavras ); // Array antes da função ( [0] => img12.png [1] => img10.png [2] => img2.png [3] => img1.png ) 

natsort( $videos ); // A ordenação será por ordem alfabética.

print_r( $videos ); // Array depois da função ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png )

?>

Dúvidas deixe nos comentário!

Explode PHP: Utilizando a função no PHP

Para dividir uma string em um array, você pode usar a função explode PHP. Nas versões anteriores do PHP, essa ação era executada pela função split, que hoje encontra-se OBSOLETA na versão 5.3.0 e foi removida do PHP 7.0.

Função Explode no PHP

A função explode no php é responsável por encontrar todas as ocorrências de um símbolo na string e quebrar em vários pedaços, removendo esse símbolo.

Para usar a função explode, é simples, veja o exemplo abaixo.:

// Vamos separar a string em todas as ocorrências de ponto virgula; na string
$string = 'Dicas de PHP;PHP;Dicas;Tutorial PHP;Tutorial';

// salvamos a ação do explode na variável $explode
$explode = explode(';', $string);

// o explode retorna uma matriz
print_r($explode);
 
// Output: Array ( [0] => Dicas de PHP [1] => PHP [2] => Dicas [3] => Tutorial PHP [4] => Tutorial )

No último parâmetro ainda é possível passar um limitador de itens a retornar. Veja o resultado abaixo após o limitador na função:

Array ( [0] => Dicas de PHP [1] => PHP;Dicas;Tutorial PHP;Tutorial )

Como você pode ver no resultado acima, o explode só foi executado até o segundo item da matriz, retornando nele mesmo o restante da string.

Uma boa utilização do explode é leitura de arquivos .csv, onde poderá definir em cada linha, em qual delimitador irá separar os valores.

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";
?>