Question

en utilisant ce code

<?php
foreach (glob("*.txt") as $filename) {   
    $file = $filename;
    $contents = file($file); 
    $string = implode($contents); 
    echo $string;
    echo "<br></br>";
}
?>

Je peux afficher les Constantes de tout fichier txt dans le dossier le problème est d'autant formattage et ainsi de suite à partir du fichier txt est ignoré

le fichier txt ressemble

#nipponsei @ irc.rizon.net presents:

Title: Ah My Goddess Sorezore no Tsubasa Original Soundrack
Street Release Date: July 28, 2006

------------------------------------

Tracklist:

1. Shiawase no Iro On Air Ver
2. Peorth
3. Anata ni Sachiare
4. Trouble Chase
5. Morisato Ka no Nichijou
6. Flying Broom
7. Megami no Pride
8. Panic Station
9. Akuryou Harai
10. Hore Kusuri
11. Majin Urd
12. Hild
13. Eiichi Soudatsusen
14. Goddess Speed
15. Kaze no Deau Basho
16. Ichinan Satte, Mata...
17. Eyecatch B
18. Odayaka na Gogo
19. Heibon na Shiawase
20. Kedarui Habanera
21. Troubadour
22. Awate nai de
23. Ninja Master
24. Shinobi no Okite
25. Skuld no Hatsukoi
26. Kanashimi no Yokan
27. Kousaku Suru Ishi
28. Dai Makai Chou Kourin
29. Subete no Omoi wo Mune ni
30. Invisible Shield
31. Sparkling Battle
32. Sorezore no Tsubasa
33. Yume no Ato ni
34. Bokura no Kiseki On Air Ver

------------------------------------

Someone busted in, kicked me and asked why there was no release
of it. I forgot! I'm forgetting a lot...sorry ;_;

minglong

i le résultat que je reçois ressemble

#nipponsei @ irc.rizon.net presents: Title: Ah My Goddess Sorezore no Tsubasa Original Soundrack Street Release Date: July 28, 2006 ------------------------------------ Tracklist: 1. Shiawase no Iro On Air Ver 2. Peorth 3. Anata ni Sachiare 4. Trouble Chase 5. Morisato Ka no Nichijou 6. Flying Broom 7. Megami no Pride 8. Panic Station 9. Akuryou Harai 10. Hore Kusuri 11. Majin Urd 12. Hild 13. Eiichi Soudatsusen 14. Goddess Speed 15. Kaze no Deau Basho 16. Ichinan Satte, Mata... 17. Eyecatch B 18. Odayaka na Gogo 19. Heibon na Shiawase 20. Kedarui Habanera 21. Troubadour 22. Awate nai de 23. Ninja Master 24. Shinobi no Okite 25. Skuld no Hatsukoi 26. Kanashimi no Yokan 27. Kousaku Suru Ishi 28. Dai Makai Chou Kourin 29. Subete no Omoi wo Mune ni 30. Invisible Shield 31. Sparkling Battle 32. Sorezore no Tsubasa 33. Yume no Ato ni 34. Bokura no Kiseki On Air Ver ------------------------------------ Someone busted in, kicked me and asked why there was no release of it. I forgot! I'm forgetting a lot...sorry ;_; minglong
Était-ce utile?

La solution

Les valeurs par défaut de implode à une chaîne vide. Vous devez appeler implode quelque chose comme ceci:

  $string = implode("<br>", $contents);

Autres conseils

Vous devez ajouter des éléments de saut de ligne HTML pour les sauts de ligne physiques. Vous pouvez utiliser la fonction de nl2br pour le faire:

foreach (glob("*.txt") as $filename) {
    echo nl2br(file_get_contents($filename));
    echo "<br></br>";
}

De plus j'utiliser la fonction file_get_contents plutôt que la combinaison de file et implode.

Si ce ne fait pas partie d'un document HTML, vous devez changer le type de contenu:

<?php
header("Content-Type: text/plain");
foreach (glob("*.txt") as $filename) { 
  readfile($filename);
}
?>

Si elle fait partie d'un document HTML, faire ceci:

<pre>
<?php
foreach (glob("*.txt") as $filename) { 
  readfile($filename);
}
?>
</pre>

Sinon, vous pouvez remplacer les nouvelles lignes avec des pauses:

<?php
foreach (glob("*.txt") as $filename) { 
  $str = file_get_contents($filename);
  echo preg_replace('!\r?\n!', '<br>', $str);
}
?>

Intégrez le contenu fichier texte entre <pre></pre> balises

Comme plusieurs des autres réponses mentionnées, il dépend en grande partie de la page dans laquelle vous affichez la sortie.

Sortie de texte brut

Si vous n'êtes pas d'ajouter tout autre contenu ou HTML à la page. Il suffit de changer l'en-tête HTTP Content-Type "text / plain"; qui est:

header('Content-Type: text/plain');
echo file_get_contents('path/to/file');

Comme toujours, les en-têtes HTTP doivent être envoyés avant tout contenu est envoyé au navigateur.

(X) Sortie HTML

Remplacement de \n avec des <br/> sera pas résoudre les problèmes de troncature blancs; qui est, l'élimination des espaces adjacents et / ou des languettes. La meilleure façon de contourner cela, aussi, comme mentionné précédemment, est d'utiliser la balise <pre> pour enfermer le contenu du fichier. Malheureusement, cela ne suffit pas pour satisfaire XHTML. Il y a un certain nombre de symboles qui ne sont pas valides en XML à moins qu'ils soient correctement saisies, y compris notamment:. &, < et >

Heureusement, cela est également une solution facile en utilisant la méthode str_replace:

$raw = file_get_contents('path/to/file');
echo '<pre>';
echo str_replace($raw, array('>','<','&','%'), array('&gt;','&lt;','&amp;','&#37;'));
echo '</pre>';

Peter Stuifzand avait la bonne idée, le deuxième argument à la fonction imploser, je ne vais pas répondre à cette question. Ce que je vais signaler est que votre propre code echo "<br></br>"; ne produit pas HTML valide. Si vous faites HTML et que vous voulez 2 sauts de ligne, faire echo "<br><br>"; et si vous faites XHTML et que vous souhaitez 2 sauts de ligne, font echo "<br/><br/>";. Dans le cas contraire, si vous voulez seulement pause 1 ligne, la balise br HTML n'a pas de balise de fermeture, donc </br> n'est pas nécessaire dans les deux cas.

écrire votre texte dans un fichier txt et rediriger vers url correspondant à ce fichier

exemple de code php

contenu de allow.txt sont

Authorized=True
Duration=1
OutputAnalog=NO_PLAYBACK
OutputDigital=NO_PLAYBACK

contenu de deny.txt sont

Authorized=False
Duration=0
OutputAnalog=NO_PLAYBACK
OutputDigital=NO_PLAYBACK

le contenu du fichier php

<?php
$user = $_REQUEST['username'];
$pass = $_REQUEST['password'];
$contentId = $_REQUEST['contentId'];
ob_start(); // ensures anything dumped out will be caught

 // do stuff here
allowUrl = 'http://localhost/allow.txt'; // this can be set based on whatever
$denyUrl = 'http://localhost/deny.txt';
// clear out the output buffer
while (ob_get_status())
{
    ob_end_clean();
}

// no redirect
if($user == "xyz" && $pass == "xyz")
header( "Location: $allowUrl" );
else
header("Location: $denyUrl");
?> 

Ou vous pouvez simplement le mettre dans une zone de texte comme celui-ci:

<?
$file = 'file.txt';
$contents = file($file); 
$string = implode("",$contents); 
echo '<textarea readonly style="width:100%; height:200px;">';
echo $string;
echo "</textarea><br></br>";
?>

Mais seulement si vous le pouvez et il se trouve à droite.

file() retourne un tableau avec les lignes du fichier.

Si vous imploser ceux sans colle il n'y aura pas du tout linebreaks.

Alors, soit obtenir le contenu non modifié en utilisant file_get_contents() (ce qui vous donne une chaîne), ou coller le imploser avec ou
nouvelle ligne

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top