Trojaner-Board

Trojaner-Board (https://www.trojaner-board.de/)
-   Alles rund um Windows (https://www.trojaner-board.de/alles-rund-um-windows/)
-   -   txt dateien auslesen mit PHP (https://www.trojaner-board.de/5060-txt-dateien-auslesen-php.html)

LordHelmchen 25.02.2003 16:57

nehmen wir mal an, ich habe eine .php datei die folgendermaßen (vereinfachtes beispiel) aussieht:

</font><blockquote>Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">&lt;?php
echo &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;iso-8859-1\&quot;?&gt;&quot;;
echo &quot;\n&quot;;
$menu = $HTTP_GET_VARS['content'];
$url = &quot;blabla.txt&quot;;
if($menu == &quot;blabla&quot;)
$url = &quot;blabla.txt&quot;;
?&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtm....dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=iso-8859-1&quot;/&gt;
&lt;title&gt;irgendein titel&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;?php
echo &quot;\n&quot;;
readfile($url);
echo &quot;\n&quot;;
?&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>[/QUOTE]..und nehmen wir weiterhin an, daß in dieser textdatei daten sind, die jeweils in einer neuen zeile gespeichert sind und daß ich will, daß diese zeilenumbrüche beim auslesen erhalten bleiben.. wie mache ich das?

zur sicherheit nochmal genauer, was ich will: in dieser textdatei stehen z.B. die daten..

erste zeile
zweite zeile
dritte zeile

..und ich will, daß anstatt von

erste zeile zweite zeile dritte zeile

eben auch wirklich

erste zeile
zweite zeile
dritte zeile

ausgegeben wird.

im voraus tausend dank für tips - gruß, helmchen :-D

[ 25. Februar 2003, 16:58: Beitrag editiert von: LordHelmchen ]

Kistbier 25.02.2003 17:44

a: $HTTP_GET_VARS ist veraltet, verwende $_GET

b: nl2br() ist dein freund

Kistbier 25.02.2003 17:49

nachtrag:

get-parameter sind manipulierbar, musste halt abfangen

</font><blockquote>Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">switch($_GET[&quot;content&quot;]) {
case &quot;foo&quot;:
$menu = &quot;bla.txt&quot;;
break;
case &quot;bar&quot;:
$menu = &quot;laber.txt&quot;;
break;
default:
$menu = &quot;fasel.txt&quot;;
break;
}

$file = &quot;/absoluter/pfad/zu/deinem/file&quot;;
$file .= $menu;

if(file_exists($file)) {
nl2br(readfile($file));

} else {
echo &quot;finger nicht an meinen get-parametern rum &quot;;
}</pre>[/QUOTE]

LordHelmchen 26.02.2003 15:33

</font><blockquote>Zitat:</font><hr />Original erstellt von Kistbier:
a: $HTTP_GET_VARS ist veraltet, verwende $_GET

b: nl2br() ist dein freund
</font>[/QUOTE]a: wußte ich gar nich, danke ;)

b: hatte ich auch versucht, klappte irgendwie nich.. evtl. hab ich auch was falsch gemacht.

mittlerweile hab ich das folgendermaßen gelöst:

</font><blockquote>Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">&lt;?php
echo &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;iso-8859-1\&quot;?&gt;&quot;;
echo &quot;\n&quot;;
$menu = $HTTP_GET_VARS['content'];
$url = &quot;datei.txt&quot;;
if($menu == &quot;home&quot;)
$url = &quot;datei.txt&quot;;
?&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtm....dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=iso-8859-1&quot;/&gt;
&lt;title&gt;irgendein titel&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;?php
echo &quot;\n&quot;;
$lines = file('datei.txt');
foreach ($lines as $line_num =&gt; $line) {
echo &quot;&lt;span style=\&quot;font-weight: bold;\&quot;&gt;&quot;;
echo &quot;Line #{$line_num}&lt;/span&gt; : &quot; . htmlspecialchars($line) . &quot;&lt;br/&gt;\n&quot;;
}
echo &quot;\n&quot;;
?&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>[/QUOTE]..was auch ganz gut funktioniert - trotzdem werde ich deine variante auch mal versuchen, aus 2 gründen: evtl. is es ja noch zufriedenstellender und abgesehen davon war mir diese switch case chose nie so ganz klar geworden (bin PHP anfänger) und daß ist eine gute gelegenheit, das anhand eines beispiels zu durchschauen.

nochmal vielen dank - gruß, Helmchen :-D

[ 26. Februar 2003, 15:35: Beitrag editiert von: LordHelmchen ]

Kistbier 26.02.2003 16:42

nl2br() wandelt alle "\n" bzw. "\r" in &lt;br /&gt; um, muss also gehen.

geht aber auch so:

</font><blockquote>Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">$fd = fopen($file, &quot;r&quot;) or die(&quot;konnte datei &quot;. $file .&quot; nicht öffnen&quot;);

while($line = fgets($fd, 128)) {
echo nl2br(htmlentities($line));
}

fclose($fd);</pre>[/QUOTE]allerdings sind datei-operation nicht effizient ;)

[ 26. Februar 2003, 16:43: Beitrag editiert von: Kistbier ]

LordHelmchen 27.02.2003 14:27

</font><blockquote>Zitat:</font><hr />Original erstellt von Kistbier:
(...) allerdings sind datei-operation nicht effizient ;) </font>[/QUOTE]du meinst, das verfahren etwas aus textdateien auszulesen sei allgemein nicht ratsam..? hmm.. kann sein, in meinem fall geht es eh um einen bereich, der nicht öffentlich zugänglich ist - ich habe mir mit einem PHP script ein simples logfiledings gebastelt und anstatt eben diese textdatei zu betrachten wollte ich es etwas komfortabler haben und das ganze in ein HTML dokument ausgeben.

auch abgesehen davon finde ich, daß es einfache operationen gibt (gästebuch, simples CMS), die man mit textdateien lösen kann und nicht extra die arme db bemühen muß (abgesehen davon muß ich mich in db sachen erst einarbeiten hehe) - wohlgemerkt, bei einfachen und kleinen projekten.

PS: ich habe mir von einem bekannten sagen lassen, daß das erstellen solcher logfiles in deutschland u.U. rechtlich bedenklich sei.. ist da was dran?

[ 27. Februar 2003, 14:41: Beitrag editiert von: LordHelmchen ]

Kistbier 27.02.2003 15:48

kommt drauf an was du aufzeichnest. wenn du views, hits etc. aufzeichnen willst gibts auch genügend fertige programme zum auswerten der server-logfiles bzw. such mal nach phpOpenTracker (url hab ich grad nicht im kopf)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:21 Uhr.

Copyright ©2000-2025, Trojaner-Board


Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131