Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[Funktion] txt --> html [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[Funktion] txt --> html


 
brauni
12-05-2003, 21:46 
 
servus

ich hab folgendes problem:
ich hab eine *.nfo datei und will sie zu einer html datei konvertieren mit php. habe ich auch geschafft nur nach jeder Zeile ist ein leere Zeile.
kann mir da vielleicht wer weiterhelfen?

in $picture1 steht name.nfo


$ende = strlen($picture1);
$anfang = $ende - 3;
$dateiendung = substr($picture1, $anfang, $ende);
$dateiname = substr($picture1, 0, $anfang);
$vorhanden = $dateiname . "htm";


if(file_exists("$ADMIN[directory]/$vorhanden")) {
printf("datei schon vorhanden!!");

} else {
copy ($picture3, "$ADMIN[directory]/$picture1");
header ("Location: index.php");

$dateiendung = "txt";
$name = "pics/" . $picture1;
$data = file("$name");

$ende = strlen($picture1);
$anfang = $ende - 3;
$dateiendung = substr($picture1, $anfang, $ende);
$dateiname = substr($picture1, 0, $anfang);

$fertigername = "pics/" . $dateiname . "htm";

$fp = fopen ("$fertigername", "w+");
$mysqlname = $dateiname . "htm";

include(mysqlconnect.php);
//$var = "insert into daten (benutzername, datum, nfoname, titel) values ('$benutzername', '$datum', '$mysqlname', '$titel')";
$result = mysql_db_query("nfo", $var);


if ($fp)
{
fputs($fp, "<html>\n");
fputs($fp, "<head>\n");
fputs($fp, "<title>test</title>\n");
fputs($fp, "</head>\n");
fputs($fp, "<body bgcolor=black text=white>\n");
fputs($fp, "<table align=center cellspacing=2 cellpadding=2 border=0>\n");
fputs($fp, "<tr>\n");
fputs($fp, "<td>\n");
fputs($fp, "<pre style='padding:10px;border-width:1px;border-color:black;border-style:solid;background-color:black;color:White;font-family:Terminal,Courier'>\n");



foreach($data as $value)
//echo nl2br($value);
fputs($fp, $value);

fputs($fp, "</pre>\n");
fputs($fp, "</td>\n");
fputs($fp, "</tr>\n");
fputs($fp, "</table>\n");
fputs($fp, "</body>\n");
fputs($fp, "</html>\n");


fclose($fp);
}


unlink($name);

 
BlobBanana
12-05-2003, 22:27 
 
Ich wuerde mal darauf tippen das fputs() immer eine neue Zeile in die Datei schreibt ... und mit "\n" erzeugst du dann halt noch eine weitere ...

Schonmal ohne "\n" probiert?

 
brauni
12-05-2003, 22:32 
 
die ersten html tags(<html>, <body> usw.) sind direkt untereinander. nur der inhalt der nfo datei hat leerzeilen....

 
swimming
13-05-2003, 08:20 
 
Könnte es sein, dass er den Zeilenumbruch aus deiner nfo-Datei nimmt und dazu den von \n?

 
brauni
13-05-2003, 14:14 
 
ne ist nicht der fall
hab wo gehört das es am pre tag liegt doch den brauche ich damit der effekt von der nfo nicht verlohren geht

 
wahsaga
13-05-2003, 15:05 
 
Original geschrieben von brauni
hab wo gehört das es am pre tag liegt doch den brauche ich damit der effekt von der nfo nicht verlohren geht
das kannst du ja nachprüfen:

was steht im quelltext der erzeugten html-datei drin,

sind da zusätzliche leerzeilen zwischen den zeilen innerhalb des <pre>-tags?


wenn nein, dann hast du wahrscheinlich nur deine einstellungen für präformatierten text so gewählt, dass sie einen grösseren zeilenabstand besitzen.

 
brauni
13-05-2003, 20:46 
 
<tr>
<td>
<pre style='padding:10px;border-width:1px;border-color:black;border-style:solid;background-color:black;color:White;font-family:Terminal,Courier'>
ÜÜÜÜ

ÜÛßß °ßßÛÜÜ

°ÜÜÜÜÜÜÜ °Û²° °Ü²ßß ß

ÜÜÜÛÛßßßßÛÜ ßßßß²ÜÜÜ °Û²ßß²ÜÜÛ ß ÜÜÜÜÛÝ

ÜÜÛÛß²ÛÜ ßÛ²Üܲßßß²²Û²ÛÜÜÜ ßÛ° ÜÜܰÛÛÛÛ²²ß²ÛÛ°

ÜÛßß ßßÛÜܲ²ßßß ßÛÛ°ßßß²ÜÜ ß²ÛÛÛ±ÞÛÛÛÛݰ°ÛÛÝ

°Û²°°° °°²ß ÜÜÜÜ ÛÛܰ°°°ßß²Ü ßÛݰÛÛÛÛÛ ÜÛß

°Û²ßßß²ÛÜÜÜÜÜÛ ÜÜÜÜÛÛ°²ÞÛÛÛÜ ÛßÛßßÛÜÜܲÛÜ ß±ÞÛÛÛÛÝ Ü

°Û²°° ÜÜÜÜÛÛÛÛÛÛÛÛÛÛݱ±ÛÛÛÛÝÞÛÛÝ ßÛ °°ÛÛÛÛÛ ±ÞÛÛ°

olli ß ÜÜÜܰ± ÛÛÛÛÛÛ۲߰±ÞÛÛÛÛÛÛ°²ÞÛÛÛÛ ÛßÛ °±±±°° ÞÛÞÝÞ²ÛÛÛݰ°ÛÛÝ

 
mrhappiness
13-05-2003, 20:59 
 
mach stattforeach($data as $value)
fputs($fp, $value); mal das:foreach($data as $value)
fputs($fp, preg_replace("%\r\n%siU","\n",$value));

 
brauni
13-05-2003, 21:20 
 
YEAH!!
danke funzt einwandfrei!! :)

 
mrhappiness
13-05-2003, 21:31 
 
freut mich, anscheinend wird innerhalb des pre-tags sowol \n als auc \r als zeilenumbruch interpretiert, wenn dann irgendwo \r\n steht, sind das halt zwei zeilenumbrüche direkt hintereinander => eine leerzeile


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:25 Uhr.