2009-08-26 8 views
2

Dans comment puis-je lire un fichier texte et obtenir chaque ligne dans un tableau?Fichier texte dans un tableau?

Je trouve ce code qui le fait, un peu, mais semble un signe = et je dois chercher une nouvelle ligne:

<?PHP 
$file_handle = fopen("dictionary.txt", "rb"); 
while (!feof($file_handle)) { 
    $line_of_text = fgets($file_handle); 
    $parts = explode('=', $line_of_text); 
    print $parts[0] . $parts[1]. "<BR>"; 
} 
fclose($file_handle); 
?> 
+0

@jasondavis - Pourquoi le feriez-vous le long chemin? Il suffit d'utiliser 'fichier' – karim79

Répondre

8

Eh bien, vous pouvez simplement remplacer le '=' avec un "\n" si la seule différence est que vous cherchez une nouvelle ligne.

Cependant, d'une manière plus directe serait d'utiliser la fonction file():

$lines = file("dictionary.txt"); 

Voilà tout ce qui est à lui!

0

, utilisez le caractère pour un saut de ligne au lieu des « = '

'\n' 
0

Plutôt que d'utiliser' = ', utilisez' \ n '.

Exemple (bandes aussi '\ r' caractères, pour les fichiers dont l'utilisation '\ r \ n' comme séparateur de ligne):

<?PHP 
$file_handle = fopen("dictionary.txt", "rb"); 
while (!feof($file_handle)) { 
$line_of_text = fgets($file_handle); 
$line_of_text = str_replace('\r', '', $line_of_text); 
$parts = explode('\n', $line_of_text); 
print $parts[0] . $parts[1]. "<BR>"; 
} 
fclose($file_handle); 
?> 

Note: Cet exemple de code ne fonctionnera pas sur les fichiers dont l'utilisation '\ r' par lui-même pour spécifier les nouvelles lignes.

5

Utilisez la fonction php file:

fichier

- Lit le fichier dans un tableau

Exemple:

$lines = file('dictionary.txt'); 
echo $lines[0]; //echo the first line 
+0

@Karim: vous devez le vendre. De la documentation de la fonction: "Lit un fichier entier dans un tableau." – Telemachus

+0

@Telemachus - Je suis conscient de cela, c'est ce que j'utilise 'edit' pour. – karim79

+0

@ Karim: assez juste (et je plaisantais - juste ma façon de dire "Cela ressemble à la réponse à moi ..."). – Telemachus

Questions connexes