Ir para conteúdo
Fórum Script Brasil
  • 0

Como saber qtdade caracteres arquivo txt


Agulhanegra

Pergunta

Senhores do concílio, salvel, salve.

É uma honra está aqui convosco, pois sou estaca zero em php e mesmo em programação.
Pus-me a comprar uns livros (Faça um site php de Oliviero, Desenvolvimento de sites de Frederico Tavares e Programação com php de Carlos Serrão e Joaquim Marques).
Os dois primeiros até que são fáceis de se seguir, mas esbarrei numa pequena dificuldade, pois escrevi o seguinte código e ele não funciona como eu quero, Vide:

<?php include("funcstrlen.txt"); ?>
<?php 
    $File_funcstrlen = strip_tags("funcstrlen.txt");
    echo "O texto acima cont&eacute;m ".strlen($File_funcstrlen)." caracteres.";
?>

Quero que ele diga quantos caracteres há no texto, mas ele só conta 14 caracteres, ou seja, está a ler apenas a palavra funcstrlen.txt e não o texto do arquivo.
Também já tentei o seguinte:

<?php include("funcstrlen.txt"); ?>
<?php 
    $File_funcstrlen = strip_tags(include("funcstrlen.txt"));
    echo "O texto acima cont&eacute;m ".strlen($File_funcstrlen)." caracteres.";
?>
Mas o erro é pior, pois o código duplica o texto na página e só retorna o número 1.

Algum dos senhores poder-me-ia ajudar, por favor.

Com os melhores cumprimentos.
Agulhanegra ;)

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Primeiramente, cuidado com livros mais antigos. Não conheço os livros que citou, mas siga materiais recentes, pelo menos de 2012/2013 pra cá. Muitas técnicas antigas já estão obsoletas ou até inexistentes (como a extensão mysql). Baixe o meu guia de Dicas e Fundamentos (link na minha assinatura), e verá diversas dicas sobre isso.

O problema do seu código é que você não está lendo o conteúdo do arquivo. strip_tags retira tags HTML da string passada por parâmetro. Você precisa ler o conteúdo do arquivo. /Isso pode ser feito facilmente com file_get_contents()

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia, Beraldo.

Obrigado por me responder.

Bem, acho que você deveria conhecer pelo menos um, que é o da série Faça um site, do autor Carlos A. J. Oliviero. Esta série fez muito sucesso no Brasil quando eu estava lá. Os outros dois talvez não as conheça porque não são edições brasileiras, mas portuguesas, pois os adquiri aqui da editora FCA.

O livro Faça um site php 5.2 usa, como o próprio título do livro diz, php versão 5.2. Os outros dois usam versão 5.3. Apesar de já andar pela versão 7, a versão 5.x ainda é a mais recomendada, e isto não sou eu quem diz, mas os "especialistas" que gostam do youtube. Além disto, não encontro livros com php 7 aqui e a versão do wamp que tenha instalada tem a versão 5.qualquer_coisa. E convenhamos, para dar os passos iniciais em programação web, dá e sobra ;), não concorda?

quanto a função strip_tags, usei-a porque o arquivo txt tem tags html e eu não queria que a função strlen() as contasse, percebe? Foi esta a minha ideia.

Quanto ao seu guia, certamente que vou baixá-lo, é gratuito ou pago?

Só mais uma solicitação, que não tem de ser atendida, claro. Será que você poderia darme um pequeno exemplo com file_get_contents(), pois fui lá no manual do php mas aquilo é coisa de loucos para mim que ainda sou estaca zero em programação seja em que linguagem for, amigo.

Só um exemplozinho simples ;) por caridade ;)

Com os melhores cumprimentos

Link para o comentário
Compartilhar em outros sites

  • 0

PHP 5.x não é recomendado. O segundo número faz TODA a diferença. PHP 5.0 e PHP 5.6 são muito diferentes. O ideal seria usar pelo menos PHP 5.4, que trouxe muitos novos recursos e correções. Pagar mais de 150 pratas por um livro que usa PHP 5.2 é loucura. 

E não concordo que seja bom pra começar. Se quiser começar do jeito ideal, use uma versão recente. Como eu disse, no mínimo 5.4, mas o ideal seria 5.6.

Há poucos materiais sobre a versão 7, justamente por ser relativamente nova. O meu Curso ULTIMATE PHP 2.0 é um dos materiais atualizados para o PHP 7. 

Os guias são gratuitos, sim. Pode baixar :) 

 

Voltando a falar de código: strip_tags precisa ser aplicada ao conteúdo do arquivo. Você aplicou ao nmome dele.

Exemplo:

$file = 'arquivo.txt';

// conteúdo do arquivo
$content = file_get_contents($file);

// conteúdo sem tags
$contentWithoutTags = strip_tags($content);

 

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia, Beraldo.

Mais uma vez, obrigado pela resposta e pela ajuda! Mtíssimo obrigado mesmo.

Verifiquei a versão do meu php do wamp e é 5.6.19, pelo menos é o que está lá escrito no submenu Version.

Quanto ao seu código, funcionou!, mas eu não sei o que está a acontecer realmente, pois eu contei 168 caracteres sem as tags, com as tags dá 200 caracteres. E o resultado no browser só mostra 172.

Veja o código:

<?php
    $ficheiroFuncstrlen = "funcstrlen.txt";
    $conteudo = file_get_contents($ficheiroFuncstrlen);
    $conteudoSemTags = strip_tags($conteudo);
    $qdeCaracteres = strlen(trim($conteudoSemTags));
    echo "O texto acima tem ".$qdeCaracteres." caracteres.";
?>

Veja o resultado:

Esta é a página Oliviero
Função Strlen()

A função Strlen() retorna o número de caracteres numa string.
Vejamos um exemplo:
O texto acima tem 172 caracteres.

Veja o texto lá do arquivo:

<h1>Esta &eacute; a p&aacute;gina Oliviero</h1>
<h3>Fun&ccedil;&atilde;o Strlen()</h3>
<p>A fun&ccedil;&atilde;o Strlen() retorna o n&uacute;mero de caracteres numa string.<br />Vejamos um exemplo:</p>

Será que o seu olho de programador mais experiente poderia apontar-me o porquê da disparidade?

Cptos

Link para o comentário
Compartilhar em outros sites

  • 0

Testei aqui e sempre dá 170

$ php test.php 
Esta &eacute; a p&aacute;gina Oliviero
Fun&ccedil;&atilde;o Strlen()
A fun&ccedil;&atilde;o Strlen() retorna o n&uacute;mero de caracteres numa string.Vejamos um exemplo:
O texto acima tem 170 caracteres.

$ echo -n "Esta &eacute; a p&aacute;gina Oliviero
> Fun&ccedil;&atilde;o Strlen()
> A fun&ccedil;&atilde;o Strlen() retorna o n&uacute;mero de caracteres numa string.Vejamos um exemplo:" | wc -c
     170

No primeiro comando eu dei echo no conteúdo antes de mostrar a contagem. No segundo comando eu peguei esse conteúdo e contei os caracteres com o comando wc. Também peguei o conteúdo e coloquei no editor de texto. Resultado 170 também

Tome cuidado com caracteres especiais e quebras de linha. A quantidade pode variar para o humano e para a máquina. Por exemplo a quebra de linha ou o "&aacute;", que são 8 caracteres pro PHP, mas aparece apenas um ("á") no navegador.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...