Thomas Schmieder: Skript schreibt inhalt in datei -> include -> cms für arme ;-)

Beitrag lesen

Hallo,

Du kannst Die Texte natürlich auch in eine Datei schreiben. Da musst Du vorher nur die Satzendezeichen der Datei und die Zeilenendezeichen der Texte unter einen Hut bringen.

define ("CRLF",chr(13).chr(10));
define ("CR",chr(13));
define ("LF",chr(10));

define ("SEP",chr(8));
define ("RET",chr(127));

// um das Ergenis der Textarea für Speicherung in gem. Textdatei vorzubereiten
function clean($var)
{
  $var = str_replace(CRLF,RET,$var);  // kommt vom Windows-Client
  $var = str_replace(CR,RET,$var);    // kommt vom MAC-Client
  $var = str_replace(LF,RET,$var);    // kommt vom Unix-Client

$var = str_replace(SEP,WS,$var);    // Variablen-Seperator entfernen

return $var;
}

// um die Daten aus der Textdatei wieder in eine Textarea zu schreiben
function restore($var)
{
  $var = str_replace(RET,"\n",$var);  // Umbruch wiederherstellen
  $var = htmlentities($var);
  $var = stripslashes($var);         // Magic-Quotes entfernen
  return $var;
}

// oder um sie im "normalen" HTML-Bereich darzustellen
function file2html($var)
{
  $var = str_replace(RET,"\n",$var);  // Umbruch wiederherstellen
  $var = htmlentities($var);
  $var = stripslashes($var);         // Magic-Quotes entfernen
  $var = nl2br($var);
  return $var;
}

Dann schau Dir die Funktionen

$daten=file("dateiname");
$datensatz=explode(chop($daten[$satznummer));

$feld=$datensatz[$feldnr];

an.

Include von Dateien, die MisterX erfasst hat, ist fast bei Todesstraße verboten. Wenn Du da nicht aufpasst, dann kann dir da alles Sclimme passieren. Include bindet die Datei in PHP so ein, dass sie den Befehlszeiger erhält. Das ist hier vollkommen unnötig. Ein simples Ausgeben der Datei mit readfile() würd es da auch tun. Oder eben die Methode, die ich Dir vorgeschlagen habe. Da hjast Du noch mehr Kontrolle über die Vorgänge.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.