[ manjuska @ 21.06.2009. 12:48 ] @
Kada postavim na server, ne radi!
Na lokalnom serveru radi i putanja je:
$upis = fopen("C:/Inetpub/wwwroot/megaSun/strane/komentari.txt", 'ab');
Zbog cega ne radi kada postavim na Internet?
Mozete baciti pogled na:
http://www.megasunstudio.co.rs/komentari.php
i nakon klika na pregled vec postavljenih komentara ne otvara mi stranu na kojoj bi trebao da bude pregled.
Inace upis mi se vrsi u .txt fajl i iz njega izvlaci.
Ako nisam najjasnija, sorry
[ madcama @ 21.06.2009. 13:06 ] @
Problem je u putanji ka txt fajlu.
To sto si ti dala je u odnosu na tvoj racunar, a za predpostaviti je da tako nije na serveru. Cak u 63% servera verujem da nema C:.

Ono sto hocu da kazem da treba da koristis relativne a ne apsolutne putanje.
[ manjuska @ 21.06.2009. 15:11 ] @
Pretpostavila sam da je u tome problem, ali ne znam kako da zadam putanju ka serveru. Nisam to ranije radila,pa... Gde bih to mogla da proverim?
[ deZio @ 21.06.2009. 16:45 ] @
Probaj napisati u php fajlu:
Code:
echo $_SERVER['DOCUMENT_ROOT'];

i saznaćeš putanju servera.

Ili ako hoćeš da saznaš koje sve podatke možeš dobiti iz $_SERVER niza, probaj ovako nešto:
Code:

foreach($_SERVER as $key => $value)
  {
     echo $key.' -> '.$value.'<br />';
  }


Objašnjenje $_SERVER niza možeš naći na PHP Manualu
[ zoxxxzoxxx @ 30.06.2009. 02:41 ] @
Koristi lokalnu putanju

Ako ti je php i txt u istom folderu, a verovatno jeste

Ako je isti folder nesto ovako:
$upis = fopen("komentari.txt", 'a'); // sta ce ti ono slovo 'b' ? ja mislim da ovako radi besprekorno. valjda mrzi me sad da proveravam, al provericu

Code:
$myFile = "komentari.txt";
$upis = fopen($myFile, 'a');
fwrite($upis, ...   );
fclose($upis);


Ako nije stavi da bude

Za citanje i ispis nesto ovako:

Code:
<?php

$file = "komentari.txt";
$file_pointer = fopen($file, "r");
$komentari = fread($file_pointer, filesize($file));   // umesto ovog  filesize($file)  stavis broj karaktera. u slucaju da bude fajl veliki ili sta vec

fclose($file_pointer);

echo $komentari;

// Rezultat je: ispis citavog file-a.

?>


Sad vidim da ti upis radi i da je php i txt u istom folderu.


Evo to je valjda to.

Ako nesto na radi kako treba, ili ja nesto nisam dobro razumeo (mada sumnjam), javi.


[izmenio Nemanja: Kôd stavljajte u CODE tagove.]

[Ovu poruku je menjao Nemanja Avramović dana 30.06.2009. u 10:32 GMT+1]
[ zoxxxzoxxx @ 30.06.2009. 03:01 ] @
php ti dodaje backslash-ove na posebne znakove tipa znak navoda ", apostrofi '

mozda ti je to i zbog onog b ('ab') mada sumnjam. noviji php-ovi umeju to sami da rade

probaj f-ju u php-u
stripslashes() - brise backslashes

Format: stripslashes($string)

Brise backslashes iz stringa. Npr. \' postaje ' , \\ postaje \.

probaj tako nesto, vidi, radi, nemoj sve ja da ti kucam

aj dosta od mene (i previse)
pozdravljam te puno
[ manjuska @ 01.07.2009. 21:23 ] @
Hvala puno Zoxxxzoxxx!
Uspela sam da resim problem pre par dana, ali radim po ceo Boziji dan, pa nisam stigla da to objavim
Funkcionisali su mi i upis i citanje na localhostu, ali kada postavim na net imala sam problem.
Problem sam resila jednostavnim pozivom provajderu i trazila sam apsolutnu adresu do servera na kom sam postavila i sajt i... Radi...
Hvala ti puno na trudu ,sorry sto nisam ranije javila da je probl resen
[ Nemanja Avramović @ 02.07.2009. 01:01 ] @
Ako praviš aplikaciju koja se distribuira krajnjim korisnicima, nikad nemoj (možeš, viđao sam takve skripte, ali nije baš user-friendly) da koristiš tako hardcoded apsolutne putanje. Ili koristi relativne putanje ("./fajl.txt", "../folder2/fajl.txt") ili izračunaj apsolutnu putanju tako što ćeš je ili pročitati iz _SERVER niza, ili uzeti __FILE__ konstantu (koja sadrži string, putanju do fajla u kom koristiš tu konstantu) pa iz nje izračunati folder aplikacije.

Pozdrav,
Nemanja
[ zoxxxzoxxx @ 04.07.2009. 15:54 ] @
Manja apsolutno se slazem sa Nemanjom!
Bas sam o tome i ja pricao.

Koliko ja vidim ta stvar na tom sajtu i dalje ne radi.
Mozda jos nisi stavila.

NE PISI CELU PUTANJU! NEMA POTREBE! - izvini sto ovo ovako naglasavam, ali moram :)

Znaci tamo gde ti stavis celu putanju tipa $upis = fopen("C:/Inetpub/wwwroot/megaSun/strane/komentari.txt", 'ab');
moze i samo ovako $upis = fopen("komentari.txt", 'ab'); kontas ;) jer se tebi taj php nalazi verovatno u istom fajlu
i onda ti pises putanju pocevsi od njega.

Vidis ovako je bolje, jer onda ne zavisi od nikakve putanje do fajla i radice gde god da stavis taj folder u kome ti se nalaze svi fajlovi.


I procitaj sta kaze Nemanja.

"Ako praviš aplikaciju koja se distribuira krajnjim korisnicima, nikad nemoj (možeš, viđao sam takve skripte, ali nije baš user-friendly) da koristiš tako hardcoded apsolutne putanje"


Ovako je pravilnije i cak je i pozeljno.


Resenje za tvoj problem je ovo:

Code:



<?php

$file = "komentari.txt";
$file_pointer = fopen($file, "r");
$komentari = fread($file_pointer, filesize($file));   // umesto ovog  filesize($file)  stavis broj karaktera. u slucaju da bude fajl veliki ili sta vec

fclose($file_pointer);

echo $komentari;     //  U OVOJ PROMENLJIVOJ $komentari TI JE SAD SMESTEN CEO TEKST IZ FAJLA "komentari.txt"

// Rezultat je: ispis citavog file-a.

?>




Ovo bi tebi trebalo da radi.
Ako nesto ne razumes u vezi mog koda pitaj.



Opet te puno pozdravljam :)

Izvini ako je bilo malo temperamentnije, ali mi se znamo pa moze i tako, je l da ;)




[ manjuska @ 15.07.2009. 12:04 ] @
zoxxxzoxxx naravno da nije problem, nego sam ja u nekoj stisci na faksu i poslu, pa nisam stigla do sada da isprobam savete
Konacno uhvatih malo vremena, pa cu danas u toku dana probati i javiti sta se deseva.
Hvala ti puno
[ manjuska @ 15.07.2009. 12:40 ] @
RADIIII!!!
zoxxxzoxxx hvala puno na sugestijama, verujem da sada mislis: "Pa naaaravno da radi!"
Puno pozdrava