teste

quinta-feira, 15 de setembro de 2016

PHP - Zipar todos os arquivos de uma pasta e forçar download.

 Compactando Arquivos em PHP e Forçando o Download


Com a linguagem de programação PHP, você pode manipular arquivos de várias maneiras. Uma dessas maneiras é compactar múltiplos arquivos em um arquivo ZIP e depois oferecer isso para download. Isso pode ser útil em várias situações, por exemplo, quando você quer permitir que os usuários baixem uma coleção de documentos em um único clique.

O exemplo de código PHP abaixo mostra como isso pode ser feito:

$arquivoNome = 'arquivo.zip';

$directory = 'nomedapasta/nomedasubpasta; //diretorio para compactar
$zipfile = 'nome_da_pasta_aonde_vai_ficar_o_arquivo/'.$arquivoNome; // nome do zip gerado

$filenames = array();
function browse($dir) {
global $filenames;
    if ($handle = opendir($dir)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && is_file($dir.'/'.$file)) {
                $filenames[] = $dir.'/'.$file;
            }
            else if ($file != "." && $file != ".." && is_dir($dir.'/'.$file)) {
                browse($dir.'/'.$file);
            }
        }
        closedir($handle);
    }
    return $filenames;
}

browse($directory);
// cria zip, adiciona arquivos...
$zip = new ZipArchive();
if ($zip->open($zipfile, ZIPARCHIVE::CREATE)!==TRUE) {
    exit("Não pode abrir: <$zipfile>\n");
}

foreach ($filenames as $filename) {
    $file = $filename;
    $arquivo = substr($file, -3);
    if($arquivo=="pdf"){
      echo "Arquivo adicionado: <b>" . $filename . "<br/></b>";
      $zip->addFile($filename,$filename);
    }
}

//echo "Total de arquivos: <b>" . $zip->numFiles . "</b>\n";
//echo "Status:" . $zip->status . "\n";
$zip->close();


header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=".basename($arquivoNome));
header("Content-Length: ".filesize('nome_da_pasta_aonde_vai_ficar_o_arquivo/'.$arquivoNome));
ob_clean();
flush();
readfile('nome_da_pasta_aonde_vai_ficar_o_arquivo/'.$arquivoNome);


Primeiro, o script percorre um diretório especificado e armazena todos os nomes de arquivo em um array. Depois, ele cria um novo arquivo ZIP, abre-o e adiciona todos os arquivos do diretório a este ZIP. Por fim, ele fecha o arquivo ZIP e força um download.

Por padrão, este script adiciona apenas arquivos .pdf ao arquivo ZIP. Se você quiser incluir todos os tipos de arquivo, simplesmente remova a condição que verifica a extensão do arquivo.

Lembre-se de que, ao forçar um download usando headers HTTP, é importante chamar as funções ob_clean() e flush(). A função ob_clean() limpa qualquer saída do buffer que possa interferir nos headers HTTP, e a função flush() envia o arquivo ZIP para o cliente. Depois, a função readfile() é usada para ler o arquivo e enviar o conteúdo para o cliente.

Assim, com algumas linhas de PHP, você pode criar um poderoso script de download que compacta e oferece múltiplos arquivos para download ao usuário.

segunda-feira, 29 de agosto de 2016

Enfrentando problemas de Encoding no MySQL? Veja aqui como resolver

Enfrentando problemas de Encoding no MySQL? Veja aqui como resolver

Quando você está trabalhando com MySQL, um dos problemas mais comuns que pode surgir é o desafio de lidar com erros de codificação (ou encoding). Estes erros geralmente surgem quando se tenta armazenar ou recuperar dados que estão em um formato de caracteres incompatível com o conjunto de caracteres configurado para o banco de dados.

Se você já está tendo problemas com o encoding do MySQL, você pode executar o seguinte comando para alterar o conjunto de caracteres do banco de dados:


  • ALTER DATABASE sys CHARSET = UTF8 COLLATE = utf8_general_ci;

Este comando muda o conjunto de caracteres (CHARSET) para UTF8 e a ordenação (COLLATE) para utf8_general_ci no banco de dados chamado sys. A codificação UTF8 é uma escolha comum porque pode representar qualquer caractere no padrão Unicode, o que é extremamente útil para suportar vários idiomas.

No entanto, é importante lembrar que a mudança do conjunto de caracteres e da ordenação de um banco de dados MySQL existente não alterará automaticamente os dados já armazenados. Portanto, você também precisará converter suas tabelas e colunas existentes.

Como alterar o conjunto de caracteres de uma tabela
Para alterar o conjunto de caracteres de uma tabela, você pode usar o seguinte comando SQL:


  • ALTER TABLE nome_da_tabela CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Substitua nome_da_tabela pelo nome real da tabela que você deseja alterar.

Como alterar o conjunto de caracteres de uma coluna


Da mesma forma, para alterar o conjunto de caracteres de uma coluna, você pode usar o seguinte comando SQL:


  • ALTER TABLE nome_da_tabela CHANGE nome_da_coluna nome_da_coluna TIPO_DE_DADO CHARACTER SET utf8 COLLATE utf8_general_ci;
Substitua nome_da_tabela pelo nome real da tabela, nome_da_coluna pelo nome real da coluna que você deseja alterar, e TIPO_DE_DADO pelo tipo de dados da coluna.

A escolha do conjunto de caracteres e ordenação corretos é essencial para o bom funcionamento do seu banco de dados. Por isso, é sempre importante entender como esses elementos funcionam e como alterá-los quando necessário.

A codificação UTF8 é frequentemente a melhor opção para a maioria das aplicações, já que suporta uma ampla gama de caracteres. No entanto, se você está trabalhando com um conjunto de caracteres específico, certifique-se de configurar corretamente seu banco de dados MySQL para evitar quaisquer problemas de codificação.

Esperamos que este artigo tenha sido útil para resolver os problemas de encoding que você está enfrentando. Se você tiver mais perguntas ou precisar de mais assistência, sinta-se à vontade para nos contatar. Estamos aqui para ajudar!

quarta-feira, 13 de julho de 2016

Introdução aos Comandos Essenciais do controlador de versão GIT

Introdução aos Comandos Essenciais do controlador de versão GIT 



Git é um sistema de controle de versão distribuído que permite a desenvolvedores rastrear e gerenciar as mudanças nos arquivos de código-fonte. É uma ferramenta fundamental para a colaboração em equipe, permitindo que várias pessoas trabalhem no mesmo projeto sem que haja sobreposição de alterações. Aqui estão alguns comandos básicos do Git:

1. Clonar um repositório: 'git clone git@gitlab.teste.com.br:departamento/nomedoprojeto'. Este comando permite que você obtenha uma cópia de um repositório Git existente. Ele copia o repositório remoto para sua máquina local.

2. Exportar o repositório para o destino desejado: 'git checkout-index -a -f --prefix=/destination/path/'. Este comando exporta todos os arquivos do repositório atual para o caminho especificado.

3. Verificar o status do seu repositório: `git status`. Este comando informa quais alterações foram feitas desde o último commit.

4. Comitar suas alterações: 
  - 'git add -A .' adiciona todas as alterações feitas nos arquivos para a próxima 'foto' que será comitada.
  - 'git commit -m "comentario" ' tira uma 'foto' do estado atual de todos os arquivos que foram adicionados usando 'git add', e as armazena no repositório.

5. Enviar suas alterações para o repositório remoto: 'git push origin master'. Este comando envia todos os commits na branch atual para o repositório remoto.

6. Trabalhar com branches:
   - `git checkout -b nomedabranch` cria e muda para uma nova branch.
   - `git push origin nomedabranch` envia seus commits para a branch remota.
   - `git checkout master` e `git pull origin master` trazem as últimas mudanças da branch master para sua cópia local.
   - `git branch -D nomedabranch` deleta a branch especificada.
   - `git checkout -b nomedanovabranch` cria uma nova branch.

7. Descartar todas as alterações atuais: 'git checkout -- .' Este comando irá descartar todas as alterações feitas desde o último commit.

8. Voltar o master para um commit anterior: 'git checkout HEAD~1'. Este comando permite que você volte ao estado do código um commit antes do commit atual.

Esses comandos são fundamentais para qualquer trabalho com Git. Eles permitem que você controle com precisão o estado dos seus arquivos e gerencie suas alterações de forma eficiente.

sexta-feira, 1 de julho de 2016

Como posicionar um iframe dentro de uma DIV usando CSS

Posicionando um iframe dentro de uma DIV com CSS


No mundo do desenvolvimento web, às vezes nos encontramos com cenários onde precisamos posicionar um elemento dentro de outro. No artigo de hoje, vou mostrar como posicionar um iframe dentro de uma div usando CSS.

Primeiro, vamos entender o que são divs e iframes:

  • Divs são recipientes usados para agrupar blocos de código em HTML. São elementos muito úteis quando se quer aplicar estilos específicos a certas seções de seu site.
  • Iframes permitem que você incruste outro documento HTML dentro do seu documento atual. Isso pode ser muito útil para incorporar conteúdo de terceiros, como vídeos do YouTube, mapas ou qualquer outro site.
Agora, vamos começar com o código. Primeiro, precisamos criar nossa div e o iframe que queremos posicionar. No HTML, isso seria algo assim:


Pessoal essa é uma dica rapida de como colocar uma página dentro de um iframe com o uso de CSS.

O primeiro trecho de codigo é do iframe que ficará dentro da div.
#frameInterno
{
height:1080px;
top:-292px;
position:absolute;
width:1160px;
left:-298px;
}

O segundo trecho de código ficará na parte externa e vai receber a div:
#divExterna
{
overflow:hidden;
width:326px;
position:relative;
height:126px;

}

Agora temos o codigo juntando o iframe interno junto com a div:
<div id=’divExterna’>
<iframe  id=’frameInterno’ scrolling='no'  src=”http://www.gooogle.com.br/” ></iframe>
</div>

Qualquer duvida posta nos comentarios para que possamos te ajudar.