[ username1987 @ 24.12.2010. 21:31 ] @
Evo mene, sa novim pitanjem. Kupio sam knjigu "Razvoj web aplikacija sa PHP i MySQl 4ti dio i pokušavam da preradim jedan primjer.

Evo koda
upisi.php
Code:

<?php

$vrijednost= $_POST['nesto'];

$fp=fopen("folder/datoteka.txt", 'ab');

if(!$fp)
{
    echo "NIje moguce otvoriti datoteku";
    exit;
}

$outputstring = $vrijednost."\n";

fwrite($fp, $outputstring);
fclose($fp);

echo "Uspjesno upisano";


?>


citaj.php

Code:

<?php

$fp=fopen("folder/datoteka.txt",'rb ');

if(!$fp)
{
    echo "Nemoguce otvoriti";
    exit;
}


while(!feof($fp)) 
{
    $order= fgets($fp,999);
    echo $order."<br / >";
}





?>


Ovaj kod radi, uspješno upisuje u datoteku i čita iz nje.Ali me zanima slijedeće. Pri upisivanju u fajl, sve što unesem bi trebalo da se unosi u novi red. Medjutim, kod mene je sve što unesem u jednoj liniji, pa me to buni.Ovo "\n" sam stavio da bi kada bi isčitavao ,skripta znala gdje je kraj tog reda. Pretrazio sam manuel,pročitao opis funkcije ali ništa nisam našao. Hvala.d
[ Miroslav Ćurčić @ 24.12.2010. 22:06 ] @
A da umesto notepad.exe upotrebiš write.exe za čitanje datoteke ?
[ username1987 @ 24.12.2010. 22:13 ] @
Uz dužno poštovanje prema tebi, ne vidim u čemu je razlika. Oaj primjer sam prepisivao iz knjige,pa pokušavam neke svoje "verzije" da uradim. I u kodu koji je došao na cd-u je ovako uradjeno, samo što u knjizi piše da bi trebalo izgledati da svaka riječ se dodaje u novi red.
Ako je to problem, reci mi kako da uradim i u čemu sam pogriješio. Hvala
[ Jbyn4e @ 24.12.2010. 22:17 ] @
Razlika je predstavljanju novog reda. Na windozama je to \r\n , na *nix-ima \n a mac valjda bese \r samo. Write prepoznaje i \n kao novi red, a notepad ne, vec samo \r\n. Posto si upisivao samo \n, notepad ne zna da je to novi red iako ga ima.

Jasnije?
[ username1987 @ 24.12.2010. 22:42 ] @
Riješeno, hvala. Još jedno pitanje. Imam problema da ubacim tabulator da napravim potrebni razmak.
Code:

echo $vrijednost1."\t".$vrijednost2;

Uvijek mi napravi samo jedno mjesto ali ne napravi tabulator. Hvala
[ Aleksandar Ružičić @ 24.12.2010. 23:18 ] @
HTML po defaultu contract-uje sve whitespace karaktere u "obican" space. da bi se taj tab karakter i prikazao kao tab stavi to unutar <pre></pre> tagova.
[ username1987 @ 24.12.2010. 23:49 ] @
Ali zašto mi onda ovaj primjer radi a nije to uradjeno. Primjer je iz knjige uz koju dodje prateći cd.

Code:
    $outputstring = $date."\t".$tireqty." tires "\t".$oilqty." oil\t"
                    .$sparkqty." spark plugs\t\$".$totalamount
                    ."\t". $address."\n";


Uredno napravi tabulatore.
[ Jbyn4e @ 25.12.2010. 07:51 ] @
echo vrsi "output" na izlaz, u ovom sluicaju browser, koji prikazuje html. Zato na ekranu nemas tabulatore. Kad tabulatore snimis u fajl, pa ga gledas iz tekst editora koji zna da procita tabulatore, onda ih vidis. U slucaju koji si naveo si u promenljivu stavio tabulatore, koje ako snimis u fajl pa pregledas fajl, imace tabulatore. Ako izvrsis ispis (output) te promenljive nazad u browser, onda se tabulatori nece videti, vec obican razmak, kao sto ti je napisao kolega gore.
[ Miroslav Ćurčić @ 25.12.2010. 10:55 ] @
tačno, kad u browseru pogledaš "source" te stranice - videćeš tabulatore