Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Upisivanje u datoteku

[es] :: PHP :: Upisivanje u datoteku

[ Pregleda: 2648 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.broadband.blic.net.



+18 Profil

icon Upisivanje u datoteku01.03.2008. u 22:40 - pre 195 meseci
Napravio sam neki guest book gde se koment upisuju u kom.php fajl. Ono sto mene zanima je kako da kad upisem neki komentar on bude na prvom mjestu: evo stavio sam online ovo: http://nekretninebl.info/gb/ pa pogledajte o cemu je rijec

Evo i koda
Code:
<?php
$pod = $_POST['kom'];
$ime = $_POST['ime'];
$dat = "kom.php";
$datum = date("m.d.y");
$ud = fopen($dat, 'a+') or die("datoteka se ne moze otvoriti");
fwrite($ud, "Datum: ".$datum."<br>");
fwrite($ud,"Ime: ".$ime." <br>");
fwrite($ud,"Komentar:<br>".$pod);
fwrite($ud,"<hr>");

fclose($ud);
echo 'Vas komentar je upisan<br>Hvala! <p><a href=".">Nazad</a></p>';
?>


Molim pomoc ako neko zna

pozdrav i unaped hvala

edit: po mogucnosti bez bazi pod
 
Odgovor na temu

mulaz
Ljubljana

Član broj: 47602
Poruke: 2239
*.dial-up.dsl.siol.net.

Jabber: mulaz@elitesecurity.org
Sajt: www.mulaz.org


+184 Profil

icon Re: Upisivanje u datoteku01.03.2008. u 23:57 - pre 195 meseci
jedan ruzni workaround je, (ako radis na linuxu) da malo sa shell_exec prebacujes fajlove

znaci
Code:

mv kom.php temp.php
touch kom.php

onda upises tekst
i onda
Code:
cat temp.php >> kom.php
upi
Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.eunet.yu.



+13 Profil

icon Re: Upisivanje u datoteku02.03.2008. u 00:48 - pre 195 meseci
Izgubih pola sata trazeci odgovor na tvoje pitanje :-)

I slaganjem nekih kockica dobio sam sledece:

1. Prebacis ceo fajl u niz
2. Upises novi text u dokument
3. Vratis text iz niza :-)

Odnosno:

Code:

<?php
$file = "Ime fajla.txt";


// Sad prvo iscitamo sve iz njega .....

$handle = fopen($file, 'r');
while (!feof($handle)) {
    $line[] = stream_get_line($handle, 1000000, "\n");
}
print_r($line);
fclose($handle);

// Sada upisemo novi text u njega .....

$handle = fopen($file, 'w');

fwrite($handle, "Novi text \n");

// A zatim vracamo stari text u njega


foreach($line as $k)
{
  fwrite($handle, $k."\n");
}

fclose($handle);


?>



Tested & Working :-)

 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.broadband.blic.net.



+18 Profil

icon Re: Upisivanje u datoteku02.03.2008. u 23:23 - pre 195 meseci
@mulaz: ne radim na Linuxu ako mislis na moj OS, a ovo sto si ispisao ne kontam nista, pocetnik sam u PHP-u :S

@man-wolf:

Hvala za tvojih pola sata :)

Na localhostu mi radi a na serveru ne. Na localu mi izbaci ovo kad kliknem na submit dugme:

Code:

Array ( [0] => Ime: dsad
Komentar:
dsadIme: dsada
Komentar:
dsadasIme: Trece ime
Komentar:
Treci komentardj dsaldljaljsa d asdlj das jdsa dasdj daslj\'d aas\'ld a [1] => das lda\'jsIme: drugi
Komentar:
drugi komentarDatum:
Ime: boro
Komentar:
zadnji komentar za sad [2] => ) Vas komentar je upisan
Hvala!

Nazad


Ispise ovako i ja kliknem na nazad i sve bude fino upisano kako sam htio, medjutim na serveru izbaci

Fatal error: Call to undefined function: stream_get_line() in /home/triva/public_html/gb/dodaj.php on line 7

Mozes videti ovde to: http://nekretninebl.info/gb/

Evo koda datoteke salji.php pa vidi gdje sam pogrjesio :S
Code:

<?php
$pod = $_POST['kom'];
$ime = $_POST['ime'];
$dat = "ko.txt";
$ud = fopen($dat, 'r');
while (!feof($ud)){
$line[] = stream_get_line($ud, 1000000, "\n");
}
print_r($line);
fclose($ud);
$ud = fopen($dat, 'w');
fwrite($ud,"Ime: ".$ime." <br>");
fwrite($ud,"Komentar:<br>".$pod);
fwrite($ud,"<hr>");
foreach($line as $k)
{
fwrite($ud, $k."\n");
}

fclose($ud);
echo 'Vas komentar je upisan<br>Hvala! <p><a href=".">Nazad</a></p>';
?>

 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
77.46.211.*



+35 Profil

icon Re: Upisivanje u datoteku03.03.2008. u 21:08 - pre 195 meseci
Na serveru imas php4 a ovo(stream_get_line) je php5 funkcija.
Morace ovo nekako drugacije.
Code:

<?php
$pod = $_POST['kom'];
$ime = $_POST['ime'];

$dat = "kom.php";
$datum = date("m.d.y");

$niz=file('kom.php');
$stringi=implode("",$niz);
//echo $stringi;
$stringi_start="Datum: $datum <br>\n
Ime: $ime <br>\n
Komentar:<br>$pod \n
<hr>";
$new_stringi=$stringi_start.$stringi;

$ud = fopen($dat, 'w') or die("datoteka se ne moze otvoriti");
fwrite($ud,$new_stringi);


fclose($ud);
echo 'Vas komentar je upisan<br>Hvala! <p><a href=".">Nazad</a></p>';
?>



[Ovu poruku je menjao kelja dana 03.03.2008. u 22:29 GMT+1]
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.broadband.blic.net.



+18 Profil

icon Re: Upisivanje u datoteku03.03.2008. u 22:06 - pre 195 meseci
Kelja hvala puno, a hvala i ostalima na pomoci

@kelja: ako ti nije problem da mi malo pojasnis sledecih par linija koda posto bi zelio da razumijem ovo, da znam sam napraviti. Mogao sam gotovu skriptu skinut pa sam ubacit ali....

Code:
$niz=file('kom.php');

$stringi=implode("",$niz);

$stringi_start="....

$new_stringi=$stringi_start.$stringi;
 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
77.46.211.*



+35 Profil

icon Re: Upisivanje u datoteku03.03.2008. u 22:22 - pre 195 meseci
Naravno. :)
Funkcija file 'cita' fajl i pretvara ga u niz(jedan red->jedan clan niza).
U stvari, i nije bilo potrebe za njom, moze se sve i ovako uraditi:
Code:

$fp = fopen ("kom.php", "r");
$bytes = filesize('kom.php');
$stringi = fread($fp, $bytes);

Imam utisak da file radi malo brze...

Elem, cilj je da se sadrzaj fajla smesti u jedan string.
(Funkcija implode pretvara niz u string, ako koristis ovo gore, ne treba ti)
Taj string, nastao citanjem sadrzaja fajla smestamo u varijablu $stringi.

$stringi_start je varijabla koja sadrzi NOVI upis korisnika.

A $new_stringi je nova varijabla, nastala spajanjem NOvog upisa i starog sadrzaja. ($stringi_start.$stringi) - primecujes redosled!
Tacka se u php-u koristi za spajanje(konkatenacija, valjda to tako zovu programeri?) stringova.
 
Odgovor na temu

[es] :: PHP :: Upisivanje u datoteku

[ Pregleda: 2648 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.