PHP : Importando arquivos de texto puro para o banco de dados
janeiro 11th, 2009 | by DragaO~ |bom, aqui estou novamente trazendo mais um tutorial para este pequeno blog que tento manter :D
o artigo de hoje vai tratar de como fazer para cadastrar o conteudo de um arquivo de texto diretamente no banco de dados
aqui vai um exemplo bem comum: seu cliente que quer ter uma parte do site onde ele envie emails para os contatos cadastrados, mas quer que você inclua toda aquela lista de 30 mil emails que ele já tem armazenado num arquivo texto, no seu banco
uma saída bem “prática”, é simplesmente “fazer no braço”, ou seja, cadastrar email-por-email :D
bom, antes de mais nada, precisamos ter um arquivo contendo emails, portanto, vamos utilizar este aqui:
no-reply@pensaofunbari.com
nao-responda@pensaofunbari.com
antes que perguntem, sim, sou extremamente criativo para criar emails :D
bom, tendo o arquivo com os emails “em mãos”, precisamos ter um banco de dados, que é onde os emails serão armazenados
para aqueles que não sabem criar uma tabela no banco de dados, vou mostrar os procedimentos a serem feitos no caso de o banco de dados ser um servidor MySQL
1 – nos logamos no nosso banco de dados (seja usando uma GUI ou diretamente pela linha de comando, tanto faz, não vou entrar em detalhes nessa parte pois existem muitas possibilidades)
2 – criamos o nosso banco
CREATE DATABASE banco_teste
3 – “entramos” no banco :
USE banco_teste4 – criamos a nossa tabela que receberá os emails
CREATE TABLE emails ( id int(10) AUTO_INCREMENT PRIMARY KEY, email varchar(250) )
aqui estamos criando uma tabela que vai conter um numero de identificaçao para cada email (o campo “id”), e este campo é do tipo inteiro
também estamos criando um campo chamado “email”, do tipo varchar de comprimento 250, que conterá, obviamente, o email
pronto, temos uma tabela simples ao nosso dispor :D
agora precisamos fazer com que o PHP pegue o nosso arquivo e “jogue” os dados dentro do banco de dados, e isso é realmente muito simples, vejam só:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <? //nome/ip do servidor de banco de dados $servidor = "localhost"; //usuario do banco de dados $usuario = "root"; //senha do usuario $senha = ""; //banco a ser utilizado $banco = "banco_teste"; //abrindo a conexao e armazenando-a em uma variavel $conexao = mysql_connect($servidor, $usuario, $senha); //selecionando o nosso banco mysql_select_db($banco, $conexao); //nessa variavel, temos o caminho para o arquivo que deseja importar para //o banco de dados $arquivo = "/caminho/para/o/arquivo/que/queremos/importar.txt"; //abrindo o arquivo em modo somente leitura e armazenando seu ponteiro $arq = fopen($arquivo, 'r'); //existem duas possibilidades para este exemplo, vou optar pela que julgo ser mais simples //e abaixo explico melhor sobre elas //enquanto o arquivo possuir conteudo, le uma linha dele //e armazena o valor na varivel "$linha" while(($linha = fgets($arq)) != false) { //criando a query que vai cadastrar no banco $query = "INSERT INTO emails (email) VALUES ('" . $linha . "')"; //enviando a query pro banco mysql_query($query, $conexao); } //neste ponto do script jah temos todos nossos emails cadastrados, portanto //devemos fechar nosso arquivo fclose($arq); ?> |
agora, explicando as linhas:
1 2 3 4 5 6 7 8 9 | <? //nome/ip do servidor de banco de dados $servidor = "localhost"; //usuario do banco de dados $usuario = "root"; //senha do usuario $senha = ""; //banco a ser utilizado $banco = "banco_teste"; |
apenas variaveis com as configuraçoes para acessar o banco de dados, creio nao ter muito o que se explicar aqui ;)
12 | $conexao = mysql_connect($servidor, $usuario, $senha); |
aqui estamos abrindo uma conexao com o banco de dados e armazenando-a em uma variável, bastante simples também :D
14 | mysql_select_db($banco, $conexao); |
aqui estamos selecionando o nosso banco de dados no mysql e informando que queremos utilizar conexao que abrimos arteriormente
18 | $arquivo = "/caminho/para/o/arquivo/que/queremos/importar.txt"; |
aqui simplesmente ponha o caminho completo para o arquivo que deseja importar
você pode fazer de dois modos :
1 – colocar o caminho absoluto do arquivo (ex : em windows, “C:Documents And SettingsUsuarioMeus Documentosarquivo.txt”; em linux “/home/usuario/arquivo.txt”) ERRADO, não utilize
2 – colocar o caminho relativo em relação ao script que está sendo executado (caso o arquivo esteja na mesma pasta do script, basta colocar “./nome_do_arquivo.txt”, por exemplo)
agora que terminamos de ver e entender o código acima, vamos entender os dois modos que existem para importar arquivos, com esse padrão, ao banco de dados (caso alguem saiba outro, por favor, diga que eu adicionarei aqui):
1. criando uma query por vez e enviando-a para o banco, que foi o que fizemos neste exemplo
2 – criar uma unica query com todos os valores a serem enviados ao banco
porém, cada caso possui o seu problema, veja :
pergunta : se mandássêmos query-por-query ao banco (como fizemos no exemplo), o que acontecerá caso dê algum erro durante a execução dos emails?
resposta : ocorreria um erro e comprometeria a integridade dos dados, pois seria muito trabalhoso voltar o banco ao estado original de onde ele começou (deletar todos os emails que foram cadastrados para tentar novamente); veja, seria dificil até mesmo descobrir qual foi o email problemático (ok, poderíamos usar a função “mysql_error()” ou ir “ecoando” query-após-query, para procurar o problema, mas imaginem o trabalho que isso daria
pergunta : se criassê-mos uma query enorme, contendo todas as inserções necessárias, podería-mos mandar “tudo ao mesmo tempo”, mantendo assim, a integridade do banco de dados, mas e se o arquivo tivesse 100 Mb de emails?
resposta : o servidor não iria aguentar o intenso tráfego de dados e iria encerrar o script (ok, poderíamos utilizar a função “ini_set()” e modificar os valores das diretivas “memory_limit”, “max_execution_time” e “upload_max_filesize” para valores maiores, mas em alguns servidores nós não possuímos essa alternativa, pois essa função pode ser bloqueada)
a solução que eu acho ser a melhor, é fazer localmente um script que “divida” esse “arquivão” em várias partes, e enviar elas pro banco uma-a-uma (rodando via script, de preferência)
visto que transações com arquivos grandes assim são relativamente raros
mas é claro que, se for necessário enviar um arquivo de 100 Mb de texto quase que diariamente, não tem outra alternativa a não ser configurar o php.ini para aceitar tais arquivos
mas lembre-se, cada caso é um caso, a idéia deste artigo é apenas ensinar o básico e te mostrar quais são as funções que nos “ajudam” a fazer o trabalho, o resto é com você ;)
sentiu uma certa dificuldade em entender o que foi dito aqui? aconselho a leitura de outros dois posts meus:
Uploade de arquivos com PHP e Cadastro simples com PHP e MySQL
bom, vou ficando por aqui com este artigo, e lembre-se
- em caso de dúvidas não sinta vergonha, pergunte
- achou um erro no código? diga onde, eu irei arrumar
- tem idéia de como fazer isso de uma maneira melhor? compartilhe
- achou algum erro de link, nomenclatura ou até mesmo português? por favor, avise-me
referência das funções:
mysql_connect(), mysql_select_db(), fopen(), fgets(), mysql_query(), fclose(), ini_set(). mysql_error()
referência das diretivas de configuração:
max_execution_time, memory_limit, upload_max_filesize
até a próxima
42 Responses to “PHP : Importando arquivos de texto puro para o banco de dados”
By Claiton on jan 15, 2009 | Reply
Se puxo nesse post, detalhes excelentes…
Cara, tu tem que começar a ganhar dinheiro com isso…
AEHUEHUEHUEHAHE
To brincando.
Mas ó, acho que tu poderias falar também sobre postgres….
Flw!
Quote
By DragaO~ on jan 15, 2009 | Reply
obrigado pelo elogio :)
sobre ganhar dinheiro, bom, todo mundo quer, o problema é que eu acho que ainda não tá na hora de pensar nisso, até mesmo porque o blog não tem tantos acessos assim, mas espero logo conseguir ajudar as pessoas com suas dúvidas cotidianas, e mostrar que não é “todo mundo que sabe PHP” ;)
e ainda quero escrever aquele post que eu havia comentado, sobre a mentalidade dos programadores PHP (e não somente PHP, mas de um modo mais geral) e a mentalidade dos clientes/chefes (leia-se “pessoas que apenas querem as coisas”), mas ainda não tive tempo
sobre o PostgreSQL, eu não sei se eu poderia explicar coisas com ele, pois eu nunca utilizei, mas se tu quiseres, pode corrigir qualquer coisa e dando tua opinião sobre as diferenças que existem no PostgreSQL que eu coloco as “notas” no post, assim ajuda à todos ;) (o mesmo vale pra Oracle, Firebird e todos outros)
Obrigado pelo comentário :D
Quote
By meuNome on jan 16, 2009 | Reply
Outra solução para o caso de dar problema em algum, seria colocar tudo dentro de uma transação. Antes do loop eu abriria a transação, no final se desse certo eu comitava e se desse pau daria um rollback, sairia do loop e seria feliz.
Quote
By DragaO~ on jan 17, 2009 | Reply
sim, lembro-me de ter cogitado esta hipótese, porém, mesmo indo na documentação do mysql e na documentação do php eu acabei não conseguindo fazer isso (talvez seja culpa do meu conhecimento de banco de dados ser tão limitado)
mas se pudesse, eu gostaria que compartilhasse um trecho de código sobre como fazer isso, pois seria realmente de grande utilidade neste post ^^
obrigado pelo comentario e volte sempre :D
Quote
By Andrew on jan 18, 2009 | Reply
Parse error: syntax error, unexpected ‘{’ in /home/a8117690/public_html/dados.php on line 37
Não entendi, só fiz colocar seu código e colei o meu junto… a linha que aponta ser este erro é esta:
while(($linha = fgets($arq) != false)
{
//criando a query que vai cadastrar no banco
$query = “INSERT INTO newsletter (email, codStatus, bloqueado, enviado, senha) VALUES (’” . $linha . “‘,’0′,’0′,’0′,’$nums’)”;
//enviando a query pro banco
mysql_query($query, $conexao);
}
Ele simplesmente diz que é na linha que tem só isso “{”
Pode me dizer o que foi?
Quote
By DragaO~ on jan 18, 2009 | Reply
opa, errinho meu XD
bom, primeiramente obrigado pelo “aviso” ;D
bom, o erro que o PHP tah dando eh bastante simples, veja :
ao traduzir este erro, ficaria algo como
ou seja, aquele abre-chaves não era esperado pelo PHP, logo o nosso erro estaria nessa linha :
perceba que por descuido meu (e ter a mania de não testar nenhum código que posto aqui), acabou faltando um fecha-parentesis
portanto, a linha escrita corretamente seria essa :
já arrumei ali no post, mas mesmo assim agradeço (e muito) pelo aviso ;)
obrigado pelo comentário e volte sempre :D
Quote
By Andrew on jan 18, 2009 | Reply
Opa agora deu certo! Porém tenho um probleminha cara, e acho que também é no teu código.
Seguinte, eu coloco la todo código meu e teu no script, e da certo, mais quando vou ver no BD, no lugar de ter adicionado as linhas que no caso são os emails, ficou um monte de número 1. E eu coloquei também uma variavel para por senha em cada email, só que sempre gera a mesma senha, ta bem dificil fazer isso :)
Vou colar o código aqui pra você ver ele todo, me da uma luz ai :D
Quote
By DragaO~ on jan 18, 2009 | Reply
pode colar o código todo sim :)
apenas peço para que cole o código entre as tags “<pre lang=”php” line=”1″>” e “</pre>”, assim :
<pre lang=”php” line=”1″>
<?
//todo
//seu
//codigo
//aqui
if(1 == 1)
{
echo “1 :D”;
}
?>
</pre>
o resultado vai ser algo como isso :
caso você não faça isso, o código não vai aparecer, pois o wordpress vai “comer” ele
sei que é uma “deficiência” do wordpress, mas eu realmente não acho nenhum plugin que possibilite postar códigos PHP (e não tenho tido tempo pra escrever um)
agradeço a compreensão ^^
Quote
By Andrew on jan 18, 2009 | Reply
Ia te perguntar como fazer isso :)
Quote
By Andrew on jan 18, 2009 | Reply
Vou criar um arquivo de txt no servidor onde testo os meus scripts, acessa aqui:
http://www.andrewsimon.xpg.com.br/code.txt
Da uma olhadinha ai please :D
Quote
By DragaO~ on jan 18, 2009 | Reply
vou postar o teu código aqui, pois fica mais fácil, beleza?
1 – as variaveis de conexao nao estão setadas para os valores do seu banco de dados (se você deixou-os assim para omitir as informações, ignore esta parte)
2 – parece que você também não setou o arquivo que deseja importar para o banco, veja :
caso você tenha apenas omitido essas informações, diga-me, pois então considerarei que ambas variáveis estão setadas e funcionando perfeitamente
Quote
By Andrew on jan 18, 2009 | Reply
Não, não, já está tudo certo, tudo mesmo, o problema que está tendo eu acho que é com o código, pois já setei os dados do banco e o caminho do arquivo, só coloquei isso ai pra não mostrar os dados do BANCO e nem Arquivo, mais ta tudo setado normal já.
Só não entendi porque fica 1 ao invés de aparecer a linha do TXT, e o gerador de números que estou ultilizando também fica o mesmo, eu testei com 3 linhas, apareceu 3 “1″ e 3 “códigos iguais”.
Pode dar uma olhadinha ai?
Quote
By DragaO~ on jan 18, 2009 | Reply
ah, beleza então ;)
poderia me mostrar umas…3 linhas de como é o arquivo que tu tem? (não precisam ser dados reais)
o problema é que você gera o numero fora do while, por isso a variável sempre tem o mesmo valor ^^
troque isso :
por isso :
adicionalmente, percebi que você não estava concatenando a variável “$nums”, portanto, o PHP poderia estar “se perdendo” nessa hora, por isso concatenei-a para ti ;)
veja se isso vai funcionar para ti, se não funcionar, peço apenas uma parte do arquivo para analisar
Quote
By Andrew on jan 18, 2009 | Reply
dados.txt
email1@teste.com
email2@teste.com
email3@teste.com
Cara, eu to achando que sabe o que é, meu servidor não está deixando eu usar este arquivo, vou tentar colocar um arquivo externo, será se tem como?
Já testei aqui os números e deu certo, ta gerando uma senha diferente para cada linha. Vou tentar o arquivo externo, pois acho que ele deve estar bloqueado o acesso, não sei né…
Quote
By Andrew on jan 18, 2009 | Reply
Deu a mesma coisa com arquivo externo :(
Quote
By DragaO~ on jan 18, 2009 | Reply
os dados parecem conferir
o arquivo é assim mesmo, um email por linha?
qual o tamanho do arquivo? em alguns hosts o valor configurado para manipulação de arquivos é o padrão (2 Mb), portanto poderia ser essa uma das causas
sobre manipular arquivo externo, é um pouco mais complicado, pois necessita que seja habilitado no php.ini
já tentou rodar isso localmente pra ver se funciona?
se localmente funcionar, veja com sua hospedagem se eles limitam algo referente à manipulação de arquivos
(eu, particularmente, já hospedei no xpg e achei uma porcaria)
Quote
By Andrew on jan 18, 2009 | Reply
Bem, o arquivo só contem 3 linhas, já ultilizei outro código que quebra as linhas (aquela função $explode) só que não soube retirar, e funcionou, realmente pegou as linhas do TXT, mais só as 3 primeiras (negócio de $linha[0], $linha[1], $linha[2]) com o outro código… tu já testou no teu? Tenta ai, eu acho que o erro está no código, já que eu testei com outro e funcionou normalmente, só que quebrando as linhas! :(
Pior que localmente não posso ultilizar agora, só se fosse mais tarde… ai eu vejo isso!
XPG, só roda php se pagar né fiu! Eu uso o grátis lá a 3 anos. Mais a velocidade é sempre FULL (baixo a 265kb/s lá, servidor Brasileiro é bom né, ainda mais que é da Oi)
Quote
By DragaO~ on jan 18, 2009 | Reply
puxa, novamente besteira minha =\
parando pra analisar o código, vi que eu fiz besteira
eu acabei corrigindo o código
para
e era isso que gerava todo erro: falta de atenção
o correto é assim :
como pode ver, acabei trocando o local dos parentesis :S
testei aqui todos arquivos e funcionou corretamente
desculpe pelo “tempo perdido” :S
veja se funciona agora com essa alteração
e mais uma vez, obrigado por me chamar a atenção :D
(isso que dá postar as coisas e não ter tempo pra testar)
em tempo : aquele “1″ que tu estava recebendo, era apenas um “true” da função “fgets”, ou seja, a função estava te “dizendo” que ela tinha conseguido ler uma linha do arquivo, apenas isso
bom, esse exemplo é perfeito pra mostrar como apenas um ponto pode fazer toda a diferença na programação :D
Quote
By Andrew on jan 18, 2009 | Reply
AEEEEEEEEEEEEEEEEEEEEEEEEE!
Vlw mesmo DragaO :D
Vou passar a visitar mais vezes seu blog e começar a estudar PHP, vou me formar em programação :) muito rox programação!
Vou tentar agora colocar um TXT com mais de 5 mil linhas, tenho vários aqui!
Vlw e mais uma vez obrigado!
Quote
By DragaO~ on jan 18, 2009 | Reply
de nada ^^
vou esperar ansiosamente por suas visitas e comentários ;)
se tiver problemas, não se esqueça : pergunte :D
obrigado pelos comentários e correções ;)
Quote
By Andrew on jan 18, 2009 | Reply
Com toda certeza!
Quote
By Andrew on jan 18, 2009 | Reply
Opa Surgiu uma nova dúvida…
e se caso o email já estiver sido adicionado?
Porque tenho um montão de listas de email, e a maioria tem emails duplicados… tu sabe ver isso?
Já concertei tudo mesmo, está só no ponto de enviar, se quiser eu te mando ele pra tu postar aqui no site, vai ser uma boa.
Vou te dizer que funcionalidades tem:
-Enviar email para mais de 1 pessoa no mesmo segundo (apenas um email por msg enviada).
-No final de cada email contém um pequeno texto informando se o cliente deseja parar de receber os emails (Vai com id, email e senha para o cliente).
-Importar uma lista de emails gerando codificação para somente o cliente excluir seu email da lista.
Enfim só falta mesmo isso :) no mais agradeço por me ajudar e se quizer eu te passo por email, basta mandar um mail pra mim :)
Quote
By DragaO~ on jan 18, 2009 | Reply
Porque tenho um montão de listas de email, e a maioria tem emails duplicados… tu sabe ver isso?
sim, e eh bastante facil ;)
basta antes de cadastrar o email, verificar se o email jah nao existe no banco de dados
troque isso
por isso
agradeço pela oferta, mas prefiro não adicionar isso ainda
(quem sabe numa “extensão” deste tópico? dependo apenas de pedidos :D)
mas em todo caso, fico feliz que tenha conseguido fazer o que tanto buscava ;)
referência das funções:
mysql_num_rows()
bem vindo ao meu blog :D
Quote
By Andrew on jan 18, 2009 | Reply
Opa, deu mais um erro aqui:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a8117690/public_html/dados.php on line 45
Foi nessa linha:
if(!mysql_num_rows($query))
Opa cara, se precisar, pode me pedir estou disposto a te ajudar com seu blog, até porque eu gosto mesmo de PHP. :)
Quote
By DragaO~ on jan 18, 2009 | Reply
a minha query é ficticia, modifique-a para os valores reais ;)
note que as minhas queries sao todas destinadas à tabela “emails”, mas no seu caso a tabela se chama “newsletter”
lembre-se, copiar e colar não é legal ;)
se um dia desejar, tu pode fazer um artigo de PHP (ou qualquer outro assunto, desde que relacionado com informática) e me mandar, se ele estiver “nas normas” eu te deixo postar ele aqui ;)
Quote
By Andrew on jan 18, 2009 | Reply
hahhaha, foi mesmo, agora ta 100% funcionando, vo tentar adicionar os 180mil emails que tenho aqui! Pelo menos 165mil tao funfando :D
Valeu cara, mais uma vez!
Quando eu tiver um pronto, eu te do um tok, ou então tu me pede que eu te ajudo também, ok?
Vlw!
Quote
By Diogo on jan 20, 2009 | Reply
Blz DragaO~
Cara preciso da sua ajuda, eu estou tentando fazer 1 site de busca 1 pouco diferente, porem estou com 1 problema.
Primeiramente vo explicar o problema.
Este site tem uma função que abre paginas da net e copia tudo que for HTML para dentro do meu banco.
Porém palavras acentuadas estão causando problema, pois não são copiadas ao pé da letra e não sei como resolver isso, pois quando fazer uma busca no banco e a pessoa digitar uma frase a busca não vai ser bem sucedida pq oq ela digito não vai conter os simbolos, esqueci o nome detes simbolos mas acho que é metacaracteres, será que vc sabe como posso resolver isso. Caso queria intender melhor mande 1 e-mail pra mim.
Vlw cara, aguardo xD
Quote
By DragaO~ on jan 20, 2009 | Reply
sem tu saber o nome do teu problema, ou especificar ele, fica um pouco dificil não acha?
bom, vou tentar em todo caso :D
acho que teu problema é com as acentuações de caracteres, se for, pesquise sobre a função htmlentities(), para codificar estes caracteres
também penso que possa ser codificação, e a função “htmlentities()” “ajuda” um pouco com isso, mas também dê uma olhada nas funções “utf8_encode()” e “utf8_decode()”
eu particularmente penso que, fazer um buscador não é tão simples, e se tua dúvida for realmente alguma dessas duas, tomara que eu esteja errado, mas acho que tu não vai ter conhecimentos suficientes para “manter” esse serviço sempre disponível
em todo caso, pode contar comigo caso tenha dúvidas (relacionadas à algum dos posts, lógico, a não ser que eu responda dúvidas mais “espcíficas”/”diferentes”, dae a gente pode conversar sobre eu receber um percentual da receita gerada pelas pesquisas :D)
obrigado pelo comentário :D
Quote
By Andrew on fev 23, 2009 | Reply
Olá, eu novamente com um erro aqui!
Finalmente, consegui instalar o PHP + Apache + phpMyAdmin no meu PC, rodou tudo blz, ta funcionando bacana, mais o problema vem agora =/
Tipo, as listas que tenho de emails com até 2 mil emails, vão tudim pro banco sem problemas, agora tenho uma lista de 93,4KB mais não adiciona todos os emails, não sei porque, simplesmente a página para de carregar, como se já tivesse carregado tudo, mais não aparece a mensagem de finalização, dizendo que todos os emails foram inseridos com sucesso.
A lista que ta dando certo é a minha de até 24,7KB (fora essa grandona de 93,4KB a menor que tenho é essa) sendo que ainda tenho uma de 3,6MB que não da tambem, só vai alguns emails, eu acho que o problema é que a página fica muito tempo sem receber uma resposta e o navegador cancela, mais não aparece nenhuma mensagem do navegador, apenas para de carregar e não aparece nenhuma mensagem (e no navegador da como “Concluído”).
Se poder me dar uma luz, fico agradecido!
ps: todos os tutoriais do teu site já me ajudaram bastante, espero ver mais tutoriais por aqui!
Quote
By Marcelo Braga on fev 25, 2009 | Reply
Estou tentando implementar uma função para registrar um arquivo de log através das funções de manipulação de arquivos. Porém, não estou conseguindo gerar a quebra de linha ao final de cada gravação. Estou utilizando ‘\n’ mas continua gravando na mesma linha.
Quote
By Marcelo Braga on fev 25, 2009 | Reply
Achei a solução!
Sistemas operacionais diferentes tem convenções de delimitação de linhas diferentes. Quando você escreve num arquivo e deseja inserir uma quebra de linha, você precisa utilizar o(s) caractere(s) de fim de linha adequado(s) em seu sistema operacional. Sistemas baseados no Unix utilizam \n como final de linha, sistemas baseados no Windows usam \r\n e sistemas baseados no Macintosh usam \r.
Quote
By DragaO~ on fev 25, 2009 | Reply
@Andrew
creio que o tempo de execução de seu script esteja passando do tempo permitido pelo PHP (o tempo padrão é 30 segundos), por isso que ele aparenta fazer tudo mas não chega ao fim (que é onde tu tem a mensagem de sucesso)
tente abrir o seu arquivo php.ini e alterar a diretiva “max_execution_time” e altere-a para um valor maior
adicionalmente, caso tu não queria mexer no php.ini, existe a função “ini_set“, porém aconselho a utiliza-la com cautela
caso mesmo assim não funcione, ele retorna algum erro ou simplesmente “não acontece nada”?
sobre os tutoriais, eu gostaria de continuar postando, porém estou fazendo um novo há dois meses, e ele está ficando extenso, por isso acho que vou “deixar ele de lado” por enquanto e vou postar algo “útil e prático”, mas para isso, só acompanhando as atualizações daqui ;)
@Marcelo Braga
Pois é, existe esse tipo de problema sim (isso me lembra a aula que eu tive sobre manipulação de arquivos em C :D)
É sempre bom a gente projetar para funcionar em qualquer sistema operacional e para qualquer língua, mas sempre tem um inconveniente ou outro
acho que no windows, caso tu salve o arquivo com quebra de linha sendo “\n” e abri-lo com o wordpad, ele reconhece normalmente, não tenho certeza, mas se não me engano isso é uma limitação do bloco de notas, e não do windows em si (pois, se não me engano, isso (”\r\n”) era necessário apenas em versões antigas)
sobre o mac eu realmente não sabia :D
Caso você verfique o que eu disse, peço que coloque aqui os resultados (pois realmente não tenho certeza)
Obrigado pelos comentários e continuem acompanhando o blog :)
Quote
By _Jackson_ on jun 30, 2009 | Reply
e aeee DragaO~, blz !!
Procurando algumas dicas na net sobre php acabei encontrando seu blog que sem sombra de dúvidas é nota 1000 pois sua didatica é excelente, dinamica e não é de dar sono..rssss
Estou começando a mexer com PHP e vejo que em alguns tópicos vc fala sobre concatenar, creio que muitos aki que estão começando sempre acabam recebendo erros inesperados por causa de concatenação, e gostaria de perguntar a vc onde encontro um material a respeito disso, ou se aki mesmo no seu blog vc já o disponibilizou.
Enquanto aguardo uma resposta, vou continuar navegando no blog pois tem muita coisa boa, e espero um dia poder ter uma visão tão boa do php assim como encontrei aki.. ah .. e o melhor de tudo é que não dá sono .. hehehe
Abraços
Quote
By DragaO~ on jul 7, 2009 | Reply
primeiramente, agradeço aos elogios :D
sobre o problema com concatenação, eu sinceramente não entendi e também não vejo a necessidade de um post exclusivo para mensagens de erros de concatenação, pois o próprio “sistema de mensagens de erros” do php é muito bom, bastando, na grande maioria das vezes, apenas ler a mensagem que ele gera.
tua dúvida é sobre algum erro ou mensagem em específico? se quiser, pode postar a mensagem aqui que eu posso tentar te ajudar :D
Quote
By Claiton on jul 7, 2009 | Reply
Eu nunca tive problemas com isso…mas algumas
pessoas não sei porque se perdem nisso:
Mas tbm acho que não seja necessário um Post apenas para isso.
Mas sobre a mentalidade do programadores e as modinhas do momento, tipo Delphi for Web e JAVA, acho interssante.
Até dou minha opinião se quiseres…
Abraço!!
PS: Não ta morto quem peleia!!
Quote
By Claiton on jul 7, 2009 | Reply
iiii…
o blog bloqueou minhas tags php…
mas o que tinha la era isso:
$var.=”algum valor”;
$var.$var;
$var.”lalalalal”.$var2;
Quote
By Jackson on jul 7, 2009 | Reply
Ok… no problem.
Não é nenhuma mensagem em especifico não.
Vou continuar navegando no blog.
Abs.
Quote
By DragaO~ on jul 8, 2009 | Reply
Java é antigo (mais antigo que JavaScript), “Delphi for Web” eu nunca vi, mas deve ser uma porcaria :D
sinceramente. não consigo ver uma linguagem de programação como “modinha”, apenas como “ó meu deus, aquela linguagem é a melhor do mundo”, tipo como quando lançou o ruby on rails e todo mundo dizia (e ainda dizem) que é a melhor coisa do mundo (mas isso já passou)
eu ainda quero postar algo menos “técnico” aqui (que não seja tutoriais, códigos, e outras coisas), mas ainda não me decidi bem sobre o que falar (e também fico em dúvida se não é melhor um post sobre coisas intressantes do/sobre o php)
bem em cima da caixa de comentário tem esse link que explica justamente como fazer pra isso não acontecer :D
aliás, não entendi o que tu colocou, são variáveis dinâmicas? (eu chamo de “variáveis dinâmicas” porque acho mais legal que “variáveis variantes” – que é o encontrado em livros e documentações, mas me refiro à mesma coisa)
Quote
By Claiton on jul 8, 2009 | Reply
Bah, nem vi o link ali….
Não sei o que é variáveis variantes…
Coloquei só exemplos de concatenação…
Acho que tu explicou melhor o que eu quis falar sobre modinha…
Delphi for web é um novo conceito, que vem desde o delphi 2006.
O delphi usa uma biblioteca chamada Intraweb que vem desde o delphi 7, mas só agora está sendo usada efetivamente. Sem falar no suporte a ASP.NET.
A sugestão que eu tenho é falar sobre como organizar um projeto. Desde da organização dos diretórios até a análise com o cliente…
Flw!!
Quote
By DragaO~ on jul 8, 2009 | Reply
não dá nada :D
variáveis variantes são isso aqui ó:
“utilidade?”, validar formulários dinâmicamente é apenas uma:
eu não tinha nem ideia de como colocar o delphi na web, agora, pelo que entendi, é via uma “extensão”, isso?
se for, acho mais porcaria ainda, porque tem que modificar o servidor :P
é um assunto interessante mesmo, mas eu acho que eu não sei o necessário pra mim falar sobre ele ;x
eu não sei, por exemplo, design patterns (já ouvi falar, mas não sei as “técnicas” (ou seja lá qual for o nome)), daí acho que não fica legal eu postar algo assim ;x
o que eu poderia fazer, era falar sobre como eu organizo as coisas de um projeto, como eu “penso” e coisas desse tipo, até aí pode até ser, mas, como eu não falo com clientes, não sei como proceder nisso :D (eu faço tudo do meu jeito mesmo, acho que é por isso que nunca vendi nada :P)
Quote
By Claiton on jul 8, 2009 | Reply
Mas o blog, ao meu ver não é pra dizer o que todo mundo acha,e sim pra falar como tu acha que é, e como tu pensas.
E como o lance de clientes tu já deve ter atendido um e sabe o quanto em geral são chatos…
Sobre o Delphi para web, é um componente que vem instalado. Ele gera um EXE que roda no IIS da Microsoft ou uma Dll.
O foda é que é 100% M$crosoft e quase sem nenhuma documentação em Portuga….
Fazer o que neh…
Estarei esperando ancioso o Post e se não der envia por GET mesmo…
ps: Eu não me canso nunca..aeuaheuaheuhae
Quote
By DragaO~ on jul 21, 2009 | Reply
não prometo, mas pode ser que eu faça algo assim, afinal, tu tem razão :D
sempre penso se seria ou não legal contar sobre minhas experiências profissionais, mas, por ora, quanto mais “anônimo” eu for, melhor :D
resumo: é um lixo :D
já já vira marca registrada XD
mas de fato, piadinha muito boa 8D (sempre dou risada quando leio algo assim)
Quote