Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP - při zápisu dat do souboru, přidá prázdný řádek.

Jo to jsem četl, základ jsem pochopil, ale co víc se s tím dá dělat, nějak nevím, třeba fgets přečte řádek, while to opakuje, !==FALSE to znamená asi že když dojede na konec souboru (textu) tak fgets hodí False a while skončí, je to tak nějak?

Kód jsem zkusil a je to super, ale nechápu jak může rozdělit z jednoho řádku od sebe jednotlivá data? Teď mám kód:

while (($radek = fgets($soubor, 5000)) !== FALSE) {		  			
$radek2 = str_replace(";","</td><td>",$radek);
$radek3 = str_replace('"',"",$radek2);
$novy = ('<tr align="center"><td>'.$radek3.'</td></tr>');
echo $novy;
}
Když na zkoušku oddělám nahrazení středníku těma tagama pro tabulku, tak se samozdřejmě rozhodí, ale proč, jedině, že nějak pozná že právě chci udělat řádky, no nechápu to :-)

V proměnné $write mám jen data, které mi script oddělí středníkem, a když dám echo hned pod proměnnou $write, tak mi to zobrazí správně, ale do souboru se uloží řádek navíc a ještě k tomu $data2 s uvozovkama. I když dám jen čistě, půl kódu viz. dole, uložení jenom samotného $write do souboru který zrovna i vytvoří.
define('S', ";");
$write = $data1.S.$data2.S.$data3.S.$data4; 

if (file_exists ("soubor.cgi")){
$fp = fopen ("soubor.cgi", "r");
$data = fread ($fp, filesize("soubor.cgi"));
fclose($fp);
}
$fp = fopen ("soubor.cgi", "w");
fwrite ($fp, $data.$write); 
fclose ($fp); 
No a používám fopen, fread a fwrite, protože soubor se musí vytvořit sám v tomto scriptu, do té doby neexistuje.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny