Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Ebsturbius

Como iniciar um php que grave arquivos? formulário

Recommended Posts

Gostaria de pedir ajuda em PHP já tentei e me dei mal, quero um código que envie o formulário e grave em um arquivo .html para estar atualizando o site.

 

E montar um contador de visitas também em .txt ou .dat

 

Obrigado desde antes.

Editado por Ebsturbius

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Ebsturbius Olá, poderia explicar melhor o que você quer fazer?

 

Se possível poste a sua tentativa de como tentou fazer o algoritmo.

Por enquanto só vou dar algumas dicas. 

Use as funções fopen(), fwrite(), fclose(), chop() que é o mesmo que rtrim() usada para retirar o último caractere, fgets() que retorna uma linha do ponteiro do arquivo.

 

Basicamente você cria um contador.php que gera o contador.. e outro visualizar.php que abre o arquivo e imprime em tela o conteúdo.

 

Assim não tem controle. Sempre que der um F5 vai contar +1.  O ideal seria você usar um banco de dados e registrar por IP! 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • 59 minutos atrás, DiF disse:

    @Ebsturbius Olá, poderia explicar melhor o que você quer fazer?

     

    Se possível poste a sua tentativa de como tentou fazer o algoritmo.

    Por enquanto só vou dar algumas dicas. 

    Use as funções fopen(), fwrite(), fclose(), chop() que é o mesmo que rtrim() usada para retirar o último caractere, fgets() que retorna uma linha do ponteiro do arquivo.

     

    Basicamente você cria um contador.php que gera o contador.. e outro visualizar.php que abre o arquivo e imprime em tela o conteúdo.

     

    Assim não tem controle. Sempre que der um F5 vai contar +1.  O ideal seria você usar um banco de dados e registrar por IP! 

    Terrível nem se quer montei esse código, eu fiz foi uns links em PHP, mais o principal é o formulário para atualizar o site o contador eu posso deixar ruim assim mesmo.

     

    if (isset ($_POST["azul"])) { 
      print "<link rel=\"stylesheet\" href=\"imgs/alfa/azul/cor.css\" type=\"text/css\" />"; 
    }

    bom usei PHP como link, e copiei um mural e um contador de outro autor.

     

    Cópia do contador mais consegui descrever as ações... Complicadinho não decorei nem acostumei

    <?php
    $al=fopen("contador.dat","r"); // Abrir arquivo em modo leitura "fopen"(File Open) parametro "R" Read
    
    $contar=fgets($al,1024); // Faz leitura da primeira linha do arquivo "fget"(File Get) parametro "Lenght(1024)" 1024bytes no máximo teoricamente 1 linha.
    fclose($al);  // Fechar o arquivo que foi aberto por "$al" e lido por "$contar" usando "fclose"
    // Fim da leitura, o arquivo foi verificado
    // Começo da gravação
    
    // Abrir novamente em modo gravação "fopen"(File Open) parametro "W" Write prepara o arquivo para escrita.
    $ae=fopen("contador.dat","w");  
    
    // Aqui é acrescentado +1 ao valor obtido pela váriavel $contar(que fez a leitura do arquivo)
    $contagem=$contar+1; 
    
    // Aqui é feita a gravação do resultado da soma de +1 que foi feito pela variavel "$contagem" ao valor obtido por "$contar", usando o comando "fputs = fwrite" faz escrita no arquivo no arquivo em modo binário.
    $contanova=fputs($ae,$contar+1);  
    
    fclose($ae); // Fecha o arquivo novamente "fclose" fim da contagem, arquivo gravado.
    // Começo do script que exibe o resultado em forma de imagens usando o comando "str_replace" substitui um valor por algum objeto ou outro valor. Por exemplo o valor 1 do resultado da contagem pode ser atribuido a uma imagem ou outro valor. Pelo visto trabalhando em valores naturais onde 111 seria igual a três valores substituidos e não "Centro e Onze" o que deixaria o valor sem retorno.                
    
    $visitas=$contagem; // variável com o número de visitas atribuida ao fim da contagem no começo do script
    // Substituição de valores por imagem, levando em conta o caracter exato.
    $visitas=str_replace('0','<img src="imgs/contador/0.gif">',$visitas);
    $visitas=str_replace('1','<img src="imgs/contador/1.gif">',$visitas);
    $visitas=str_replace('2','<img src="imgs/contador/2.gif">',$visitas);
    $visitas=str_replace('3','<img src="imgs/contador/3.gif">',$visitas);
    $visitas=str_replace('4','<img src="imgs/contador/4.gif">',$visitas);
    $visitas=str_replace('5','<img src="imgs/contador/5.gif">',$visitas);
    $visitas=str_replace('6','<img src="imgs/contador/6.gif">',$visitas);
    $visitas=str_replace('7','<img src="imgs/contador/7.gif">',$visitas);
    $visitas=str_replace('8','<img src="imgs/contador/8.gif">',$visitas);
    $visitas=str_replace('9','<img src="imgs/contador/9.gif">',$visitas);
    echo $visitas; //imprime o numero de visitas formado por imagens, Pro seu contador não ficar com um número só, pequeno, acrescente zeros a esquerda, no arquivo contador.bat.
     echo "$contagem"; //(Para não exibir o esquema de imagens, com esse comando será exibido somente o número inteiro)
    ?>

     

    Editado por DiF
    Melhorar a visualização. usar o botão CODE <>

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    59 minutos atrás, Ebsturbius disse:

    Terrível nem se quer montei esse código, eu fiz foi uns links em PHP, mais o principal é o formulário para atualizar o site o contador eu posso deixar ruim assim mesmo.

    Ainda fico sem entender. Porque a necessidade do formulário para atualizar o contador?

     

    Um dos principais erros é quando se copia e cola da internet sem saber. Recomendo primeiramente criar um contador de visitas simples usando números e gravando em um arquivo txt. Depois disso, você implementa a substituição de números por imagens de números. 

     

     

    O contador de visitas, não precisa de um formulário para atualizar. Basta que se crie um arquivo para gerar o contador e incluir no seu index.php e criar um visualizador e também acrescentar em seu index.php.

     

    Eis um exemplo BEM simples de um contador com números gravando em um txt.

    Contador.php

    //armazena um arquivo txt na variável
    $arquivo = "contador.txt";
    
    //escreve no arquivo, retiranto o último caractere retornando a linha do ponteiro.
    $contador= chop(fgets($fd, 4096)); 
    
    /*soma +1 ao contador. ou seja, começando em zero, 
            no próximo refresh ficará 1 e assim por diante
            mesma coisa que $contador = $contador + 1;
    */
    $contador++;
    
    // abre o arquivo em modo de write
    $gravar = fopen ($arquivo, w”); 
    
    //grava de fato onde $gravar é o arquivo e o $contador é o valor do contador
    fwrite($gravar, $contador);
    
    // fecha o arquivo
    fclose ($gravar); 

    É bem mais simples. Com isso você tem o arquivo que gera o contador e grava o valor no TXT.

     

    Agora para mostrar no site, você cria um novo arquivo chamado visualizador.php e inclui com include no index.php

    //armzena na variável o arquivo.
    $arquivo = "contador.txt";
    
    //abre o arquivo em modo leitura
    $contador = fopen ($arquivo, r”);
    
    //retira o ultimo caractere e retorna a linha do ponteiro do arquivo, ou seja, o valor da linha
    $visitas = chop(fgets($contador, 4096));
    
    //fecha o arquivo
    fclose ($contador);
    
    //printa em tela o valor do arquivo
    echo "Atualmente " . $visitas . " visitaram o site!";

    Basicamente é isso. Tente fazer assim primeiro, depois mostro como substituir os números por imagens.

     

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Formulário para atualizar o site, sem precisar de programas, notícias, foto, figura, data etc...

    E também usar esse formulário que escreve em HTML para mural de recados.

     

    Valeu pelos exemplos vou fazer outro contador assim que der...

    Editado por Ebsturbius

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Ebsturbius

    1 hora atrás, Ebsturbius disse:

    Formulário para atualizar o site, sem precisar de programas, notícias, foto, figura, data etc...

    E como iria por os dados? Recomendo que use o um banco de dados MySQL por exemplo, todos os sites que guardam dados assim usam um banco de dados e não um arquivo. Aí você imagina o tamanho do arquivo  depois de algumas centenas de linhas. Não é viável usar um arquivo txt ou "dat" para isso.

    Com o contador e livro de visita é a mesma coisa, use o banco de dados para guardar as mensagens e a quantidade de pessoas.

     

    Imagina a seguinte analogia, para o jeito que está tentando fazer:

    Se o código e o arquivo de texto fossem carros ele seria uma fusca.  

     

    Com o banco de dados, sistema administrativo (CRUD) seriam um batmóvel.

    É mais ou menos isso, usando banco de dados e um CRUD simples(create, read, update, delete) você ganha desempenho, otimiza seu sistema para um  alto volume de dados.. e etc.

     

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • 6 minutos atrás, DiF disse:

    @Ebsturbius

    E como iria por os dados? Recomendo que use o um banco de dados MySQL por exemplo, todos os sites que guardam dados assim usam um banco de dados e não um arquivo. Aí você imagina o tamanho do arquivo  depois de algumas centenas de linhas. Não é viável usar um arquivo txt ou "dat" para isso.

    Com o contador e livro de visita é a mesma coisa, use o banco de dados para guardar as mensagens e a quantidade de pessoas.

     

    Imagina a seguinte analogia, para o jeito que está tentando fazer:

    Se o código e o arquivo de texto fossem carros ele seria uma fusca.  

     

    Com o banco de dados, sistema administrativo (CRUD) seriam um batmóvel.

    É mais ou menos isso, usando banco de dados e um CRUD simples(create, read, update, delete) você ganha desempenho, otimiza seu sistema para um  alto volume de dados.. e etc.

     

     

    Corretamente já imaginei isso, acontece que estou querendo um recurso básico apenas de regravar(atualizar) um arquivo HTML via PHP facilitado por formulário. Não vou chegar a acessos maiores que mil. Se não me engano esse recurso estaria disponível em java(mais difícil ainda)

    Editado por Ebsturbius

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Ebsturbius

    Que tipo de dados você gravar e regravar? As vezes "recursos" básicos não são a melhor opção...

    Gravar e ler em um arquivo só é usado para coisas extremamente pequenas. Por exemplo o contador de visitas numéricos. aí tudo bem, mas melhor ainda se usar o banco de dados registrado por IP, assim você registra apenas 1 pessoa de fato e não todas as vezes que atualizar com "F5".

     

    O livro de visitas é melhor e MUITO recomendado usar o banco de dados. Pois em arquivo há chaces de corrompimento do mesmo.. eaí você perde tudo que já tinha gravado.

     

    Vai por mim, experiência própria. Dedique-se um pouquinho mais e use o banco de dados.. você faz isso só com algumas linhas de comando.

     

    20 minutos atrás, Ebsturbius disse:

    acontece que estou querendo um recurso básico apenas de regravar(atualizar) um arquivo HTML via PHP facilitado por formulário.

    Se o seu objetivo é armazenar muito texto, imagens, links e etc  não perca seu tempo nisso.

     

    Outra sugestão é você usar um CMS já pronto. wordpress, joomla  por exemplo. Bastando só configurar além disso o wordpress possui centenas de plugins instalaveis para livro de visitas.. contadores... você nem precisaria programar de fato.

     

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Valeu mesmo mano, mais o negócio é básico mesmo que estou precisando provavelmente não irei evoluir ao ponto de usar Banco de Dados com datas, relógio etc um código para escrever em arquivos HTML usando PHP para que possa atualizar o site propriamente online sem ter que usar o programa de edição.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Ebsturbius Olha.. tentei entender o que quer... mas  não consigo. 

    2 horas atrás, Ebsturbius disse:

    um código para escrever em arquivos HTML usando PHP para que possa atualizar o site propriamente online sem ter que usar o programa de edição.

    Se existisse algo assim, ninguém mais usaria banco de dados.

    Com HTML 5 é possivel usar web stores, mas não é para esta finalidade. ele é  mais um substituto dos cookies.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×