Problema com upload de .zip e .rar no chrome

Depois de muito pesquisar e tentar encontrei pelo menos uma parte do problema, o content-type. Meu código:

..

switch ($_FILES[‘arquivo’][“type”]) {

case ‘application/x-rar-compressed’:
preg_match(‘/\.(rar){1}$/i’, $_FILES[‘arquivo’][“name”], $ext);
break;

case ‘application/rar’:
preg_match(‘/\.(rar){1}$/i’, $_FILES[‘arquivo’][“name”], $ext);
break;

case ‘application/zip’:
preg_match(‘/\.(zip){1}$/i’, $_FILES[‘arquivo’][“name”], $ext);
break;
}

..

No firefox essas extensões são bem interpretadas, mas no chrome ele le de outra forma, le como

application/octet-stream, segue link que melhor ajudou:

https://code.google.com/p/chromium/issues/detail?id=257554

Anúncios

Dica buscar últimos dados do banco – php e firebird

Galera isso é mais uma dica de um pequeno problema que passei aqui, acostumado a trabalhar com php e mysql estava tendo erros no firebird por causa do LIMIT.

Até que vi que no Firebird não tem o LIMIT. Vou mostrar um exemplo e acredito que vcs irão entender.

Problema exemplo: Mostrar os 10 últimos registros do banco

SQL utilizando em Php + mysql :

"SELECT * FROM TABELA ORDER BY ID DESC LIMIT 10"

SQL utilizando Php + Firebird:

"SELECT first 10 * FROM TABELA ORDER BY ID DESC"

Ao invés do LIMIT x no final vc usa first x no começo. Também pode fazer um :

"SELECT first 10 skip 5 * FROM TABELA ORDER BY ID DESC" (mostrar os 10 últimos pulando os 5 últimos) // foi só para mostrar um pouco mais.

No mais é isso pessoal, espero ter ajudado alguns devs tb. vlw{jcomments on}

erro: Cannot modify header information – headers already sent [Resolvido]

Olá pessoal, hoje vou dizer para vocês como resolver o erro chato chamado de erro: Cannot modify header information – headers already sent .

O que é esse erro: é um erro de redirecionamento, ele acontece quando você usa o código "header" para redirecionar, antes que você pense que o código está errado não ele não está, o header é mesmo utilizado para esta função, o que acontece é que algumas vezes o html não deixa com que o php sobrescreva o código de header do arquivo para qual você está tentando redirecionar. Abaixo algumas soluções para este erro:

Continuar lendo “erro: Cannot modify header information – headers already sent [Resolvido]”

Enviando email para qualquer servidor

Objetivo: Criar um script em php capaz de enviar email tanto para servidores windows como linux.

Requisitos: Conhecimento básico de php

Fala galera, beleza? Recentemente passei por um problema de emails com o php, o email ia para servidores windows e não ia para linux, ia para um dominio x mas não ia para o gmail por exemplo. Depois de quebrar um pouco a cabeça e buscar alguma coisa na net cheguei a solução. O problema também ocorre pq cada servidor interpreta de um jeito alguns caracteres. Vou mostrar através do script com vários comentários para não gerar dúvidas.{jcomments on}

Continuar lendo “Enviando email para qualquer servidor”

conexao em php – simples

Objetivo: Aprender a criar uma conexão com banco de dados mysql utilizando a linguagem php.

Requisitos: Ter o bloco de notas ou alguma IDE php instalada e ter um servidor de banco de dados, recomendo ter um servidor localhost para testes e aprendizado. Existem pacotes prontos e fáceis de aprender tais como Lamp(linux), Xamp e Wamp(windows).

Continuar lendo “conexao em php – simples”

Resource id #5

Resource id # é um resultado das consultas via php e mysql.  mysql_query() ou retorna "false" ou retorna "resource" quando a pesquisa se completa o resource é o resultado da pesquisa. Logo, isso não é um erro e você deve tratar o resource pois você obteve mais de um resultado possível.

Uma forma de tratar o resultado "resource" é colocando o mesmo em um array. Para isso podemos usar a função mysql_fetch_array()

Diferença entre require(), require_once(), include, include_once()

Parecem iguais mas essas 2 funções possuem diferenças sim, e vale a pena saber para sempre usar a mais adequada para o que você estiver fazendo.

include(): Tenta incluir uma página. Caso de algum erro, o script retorna um warning (aviso) e prossegue com a execução do script. Aceita a passagem de variáveis (GET) na string. 

Require(): Tenta incluir uma página. Caso de algum erro, o script retorna um fatal error(erro fatal) e aborta a execução do script. Não aceita a passagem de variáveis (GET) na string. 

include_once() e require_once(): Fazem o mesmo que as 2 funções citadas, porém se o arquivo referenciado já foi incluso na página anteriormente, a função retorna ‘false’ e o arquivo não é incluido. É bom quando temos muitos includes e já estamos perdidos, sem saber o que está incluindo o que.

referência: http://webpub.wordpress.com