High!
Da man vom Lehrbücher durchackern alleine kein Programmierer wird, habe ich mir vorgenommen, mal eine für mich nützliche Anwendung in PHP zu programmieren: ein Skript, das aus den Tausenden in den letzten Jahren von mir gesammelten HTML-Seiten mit Nachrichtenagenturmeldungen aus Afghanistan schlichte übersichtliche Texte macht, die nur noch den eigentlichen Nachrichtentext mit Datum und Quelle enthalten (vorhandene <p>-Tags für Absätze sollen erhalten bleiben) und alles andere (Bilder, Links, Skripte etc.) ersatzlos entfernt.
Schöne Idee... aber die erste Hürde ist schon das Ansprechen von Dateien, die sich nicht auf dem selben Laufwerk wie das PHP-Skript befinden. Mein lokaler Apache-Server befindet sich auf E:\Programme\xampp, das PHP-Skript logischerweise im dort enthaltenen htdocs-Verzeichnis. Das testhalber zu ladende Nachrichten-HTML-File (2007-01-05 AP 01.html) ist aber in D:\Bleimann\Afghanistan\Nachrichten\2007\ gespeichert.
Egal, in welcher Form ich den Pfad ins Formular eingeben, ob mit Slashes oder Backslashes, mit oder ohne file:///, mit normalen Leerzeichen oder %20, das PHP-Skript verzweigt immer nur zur Fehlermeldung "Datei existiert nicht"...
Hier das HTML-Formular:
[code="html"]
<html>
<head>
<title>Nachrichtentexte aus HTML-Dokumenten extrahieren</title>
</head>
<body>
<form action="detag.php" method="POST">
Name der zu bearbeitenden Datei: <input type="text" name="datei" size="30"></input><br>
<input type="submit" name="submit" value="Absenden!"></input>
</form>
</body>
</html>
[/code]
und das (im Moment noch sehr embryonale) PHP-Skript zur Verarbeitung:
[code="php"]
<?php
$name = $_POST["datei"];
$datei = @file($name);
if (!$datei)
{
echo "Die genannte Textdatei existiert nicht.";
exit;
}
$zeilen = sizeof($datei);
$puffer = "";
for ($i=0; $i<$zeilen; $i++)
{
$puffer.=$datei[$i];
}
echo $puffer;
?>
[/code]
Bis bald in www.khyberspace.de !
Yadgar