Autor Zpráva
mipo
Profil
Otvorím súbor index.txt, načítam z neho dve série riadkov (0-65 a 69-koniec súboru). Prvú sériu vložím do $output, otvorím súbor xxx.txt, jeho obsah pripojím do $output a nakoniec pridám do $output aj druhú sériu. Potom $output zapíšem do súboru index1.txt. Ale tam sa údaje zapíšu tak, že za každým riadkom nasleduje ďaľší prázdny. Čo to spôsobuje? Hádam sa to dá pochopiť:-)

Ukážka (nie celého) kódu:

$subor = file ("../index.html");
// priprava dat na zapis do suboru (generovanie premenej $output)
for ($i=0;$i<=65;$i++) {
$output .= $subor[$i];
}
$news = file("xxx.txt");
for ($i=1;$i<count($news)-1;$i++) {
$output .= $news[$i];
}
for ($i=69;$i<count($subor);$i++) {
$output .= $subor[$i];
}
echo $output; // tu sa ešte vypíše všetko správne
// ulozime do suboru
$fp = fopen("../index.txt", "w");
fwrite($fp, $output);
fclose($fp);
Leo
Profil
Podle me spatne konce radku, pokud se pouziji jen konce pro unix v tech vkladanych souborech tak by to melo byt v poradku. Nastavit se konce radku daji napriklad v PSPadu (http://www.pspad.com). Leo
mipo
Profil
Leo: Nepomáha, už som to skúšal. PSPad používam.
Hugo
Profil
Ja bych zkusil pouzit na polozku $subor[$i] funkci trim().
prikaz echo $output ti nezobrazi prazdne radky, protoze se to interpretuje jako HTML, musel bys pouzit
echo NL2BR($output)
mipo
Profil
Nakoniec som to vyriešil nasledovne - fwrite($fp, eregi_replace("\r\n", "\n", $output));.
Keď sa použije trim($subor[$i]), tak je všetko v jednom riadku. A to tiež nie je to pravé orechové...

Ďakujem.
Hugo
Profil
Tak pouzij
$output = Trim($subor[$i])."\n";

a budes mit kazdou polozku na jednom radku
Toto téma je uzamčeno. Odpověď nelze zaslat.