PDA

Pogčedajte punu verziju : file_put_contents() iz klase?


Bojan Zivanovic
09. 06. 2005., 16:09
Mrzim da postavljam ovakva pitanja i da trazim pomoc, ali nema mi druge,...

Ne rade mi ni file_put_contents(), ni fopen() kada ih pozivam iz klase.
Znaci imam metodu SaveContent() u klasi, i kada je pozovem dobijem:

Warning: file_put_contents(bojan.html) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/localhost/htdocs/WebObjects/src/webform/webform.php on line 202]

Isti kod radi ako ga jednostavno prekopiram u glavni fajl (znaci iz index.php jednostavno pozovem file_put_contents()), ali ako idem preko metode nece...
Znaci, dozvole su ok, sve je ok, ali nece... Mozda je do safe moda?

dinke
09. 06. 2005., 16:28
Iako kazes da je sa permizijama sve ok, poruka koju si dobio je tipicna za problem sa permizijama. No zbunjuje me da ti ista stvar radi van klase.

Bilo bi korisno i da nam pastujes delove koda koji pominjes.

Bojan Zivanovic
09. 06. 2005., 17:15
public function SaveContent($file)
{
$content = $this->GetContent();
file_put_contents($file, $content);
}
Kada ovo pozovem iz glavne skripte:
$form->SaveContent('bojan.html');
Dobijem gorenavedenu gresku.
Medjutim, ako jednostavno uradim ovo:
$content = 'Nekakav string';
$file = 'bojan.html';
file_put_contents($file, $content);
Fajl se normalno kreira i to radi...
Probao sam da stavim chmod 777 na ceo direktorijum,, nece...
Isto se desava bilo da fajl postoji, bilo da ne postoji...

bluesman
09. 06. 2005., 17:28
Meni bode oči što nisi naveo putanju do fajla. Možda tvoja klasa pokušava da kreira fajl u nekom foleru gde nemaš write access. A kada probaš van klase - radi. Probaj da dodaš:


$form->SaveContent ($_SERVER['DOCUMENT_ROOT']."/bojan.html");

Bojan Zivanovic
09. 06. 2005., 19:50
Bravo bluesman, to je to,,,
Hvala svima na pomoći, zakon ste :)
Znam da je forum DevPRO, ali mora nekad i ovakva pitanja :D

bluesman
09. 06. 2005., 20:05
Ma najgore je debugovati jednostavne stvari, meni se desi da celu noc gledam zasto nesto ne radi, i sutra kada ustanem provali na prvi pogled.