PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Datei zeilenweise einlesen und wieder zurückspeichern in PHP


Aqualon
2003-06-23, 14:19:57
Hallo!

Ich hab eine Frage. Wie kann ich in PHP eine HTML-Datei zeilenweise einlesen und diese dann zeilenweise in einer anderen Datei speichern.

z.B. Textdatei hat 4 Zeilen

1. Zeile 1 aus datei1.htm einlesen
2. trim() auf Zeile 1 machen
3. Zeile 1 in datei2.htm speichern

Und das ganze für die restlichen Zeilen bis einschließlich Zeile 4 wiederholen.

Sinn des ganzen ist es, die ganzen überflüssigen Leerstellen am Ende und am Anfang einer Zeile wegzukriegen, ohne diese per Hand nachbearbeiten zu müssen.

Danke für Antworten (wenn möglich mit Codebeispielen oder Hinweisen auf die zu verwendenden Befehle)!

Edit: Folgender code hat mir jetzt das einlesen und speichern ermöglicht:


<?php
$fp = fopen("datei1.htm", "r+");
$newfile = array();
while(!feof($fp)) {
$line = fgets($fp, 4096);
$newfile[] = trim($line);
}
fclose($fp);
$fp = fopen("datei2.htm", "w+");
foreach($newfile as $value) {
fputs($fp, $value."\n");
}
fclose($fp);
?>


Edit2: Der obige leicht geänderte Code macht jetzt, was ich möchte. Zu beachten ist, dass $value."\n" einen Zeilenumbruch ergibt, $value.'\n' allerdings nicht!

Aqua

Wudu
2003-06-23, 17:40:01
Ja das ist ganz einfach, ich habe es selbst gerade gecoded um den PHP Source meiner seite einsichtig zu machen (http://www.php-labor.at/viewSource.php?f=L2luY2x1ZGUvZnVuY3Rpb25zLmluYy5waHA= hava a look auf die letzen 2 funktionen da läuft das...)

hier der code dafür:


function file2array($file)
{
// Fileinhalt in Array lesen, Zeilenweise
$data = file($file);
for($i=0;$i<count($data);$i++)
{
// do what you want to do
}
}


Jede pos im array ist eine zeile....

Wudu
2003-06-23, 17:41:15
ajo der Parameter $file ist der Pfad (ich hab absoluten) zur datei...