|    
			
				26/02/2014, 20:34
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: febrero-2014 
						Mensajes: 4
					 Antigüedad: 11 años, 8 meses Puntos: 0 |  | 
  |   Contar palabras de un fichero .txt con PHP 
  Ante todo, saludos.
 Os comento que sé perfectamente que hay una respuesta a una [URL="http://www.forosdelweb.com/f18/contar-palabras-archivo-txt-497915/"]cuestión similar[/URL] en el foro, pero os aclaro que por muy buena que sea, no me vale. Obviamente, la he probado y funciona, pero necesito otro método.
 
 Tal y como especifico en el título, necesito contar las palabras de un fichero .txt que abro previamente con fopen. El código que estoy probando, es el siguiente:
 
 --------------------------------------------------------------------------------------------------------
 
 <?php
 if ($opcion == "Contar") {
 $id_fichero1=@fopen($fichero1, "r") // Abrimos el fichero en modo lectura
 or die('<b><i>El fichero "fichero_test.txt" no se ha podido abrir.</i></b><br />');
 echo '<b><i>El fichero "fichero_test.txt" existe y está abierto en modo lectura ("r").</i></b><br />';
 
 echo '<br /><br />';
 echo '<h2><u>Contar las palabras del fichero</u></h2>'; // Título que antecede al contenido del fichero
 
 // Método largo para contar las palabras de un fichero.
 // Usamos rewind para rebobinar el puntero al principio del fichero y el while con !feof para ir hasta su final. Así lo leemos completamente.
 rewind($id_fichero1);
 while (!feof($id_fichero1)){
 $linea = fgets($id_fichero1);
 $contador_pal = count(explode(" ", $linea));
 }
 echo "<b><i>El fichero contiene:</i></b><br /><br />";
 echo "$contador_pal palabras";
 fclose($id_fichero1); // Cerramos el fichero
 }
 ?>
 
 
 
 ---------------------------------------------------------------------------------------------------------
 
 El problema es que así no me cuenta más que una palabra. No acabo de comprender qué es lo que pasa. Lo que estoy haciendo es recoger cada línea del fichero y contar las palabras separadas por espacios en blanco con explode. Pero no funciona. ¿Alguien más experimentado me puede ayudar a corregirlo?
 
 Gracias por vuestra ayuda.
     |