[ RAZZLEDAZZLER @ 20.05.2002. 15:16 ] @
Ako fajl nece da se na sistemu napravi na nijednu od sledecih funkcija/komandi:

fopen("file.txt", "w");
popen("file.txt", "w");
touch("file.txt");
system("touch file.txt");
echo system("touch file.txt"); [???]
exec("touch.file.txt");
passthru("touch.file.txt");
$file = `touch file.txt`;
shell_exec("touch fajl.txt");

... da li to 100% znachi da server ne dozvoljava pravljanje fajlova preko php-a ili mozda postoji josh neki nachin?
[ dwarf @ 20.05.2002. 17:19 ] @
Pa koju ti gresku javlja?? Da, ako nece bas ni na jedan od tih nacina, onda imas problem i verovatno se ne da lako. :)) Mozda da probas preko FTP f-ja.
[ 01011011 @ 20.05.2002. 17:54 ] @
Normala ukoliko nemas napravljenog fajla nece da ti ga stvori, jer umesto ovoga w, moras da stavis a.
[ Zoran Rašković @ 20.05.2002. 18:29 ] @
Da skratimo prichu, dobro bi bilo kad bi se prelistao manual: http://www.php.net/manual/en/function.fopen.php

Naravno da je moguce napraviti novi fajl ako on vec ne postoji. A postoji i caka da ako ovo isporbavas na Win sistemu onda u z one parametre npr "w" obavezno staviti i "b", npr:

$fp = fopen ("file.txt", "wb");

Ovo bi npr otvorilo fajl (ili kreiralo novi ako ne postoji) file.txt, samo za pisanje i pointer bi se nalazio na pocetku fajla.

w+b je npr isto to samo sto je pointer na kraju fajla, ab bi bilo i za citanje i za pisanje sa pointerom na pocetku fajla itd itd. Ima sve lepo u manualu.
[ leka @ 20.05.2002. 21:08 ] @
To je veoma cudno, ja sam toliko PHP skripti napisao na Linuxu i Windows-u (Apache, PHP i MySQL) od 1996. godine pa na ovamo i prvo sto mi je palo na pamet je "da slucajno nesto nisu promenili u novom PHP-u". Nakon toga sam se SSH-ovo na Windows 2000 masinu (cisto da proverim hipotezu), editovo ovaj skript:
Code:

<?php
    $fp = fopen("C:/p/Apache/htdocs/src/test.txt","w");
    fwrite($fp, "EliteSecurity");
    fclose($fp);
?>


- i sve je radilo kao sto sam ocekivao... Ne znam zasto se insistira na "b" flegu, jer on je koliko sam upucen (ne samo u PHP-u) fleg koji kaze da se fajl otvara za "binaran zapis" (ili upis, zavisi od drugog(ih) flega(ova)).

Nesto nije dobro u konfiguraciji... Sumnjan da Apache radi eventualno kao neki korisnik i nema eventualno privilegije da upise podatke tamo gde decko zeli da ih upise (u prevodu, Apache ne zeli da dozvoli da se fajl upise svuda po sistemu, sto je sasvim normalno i DOBRO!).

Znaci, proverite da li vlasnih Apache procesa (SYSTEM na NT-u) ima pravo pisanja po direktorijumu!

Pozdrav
[ RAZZLEDAZZLER @ 21.05.2002. 01:11 ] @
Prvo da kazem neshto shto je ochigledno bilo bitno, a prvi put sam zaboravio. U pitanju je Linux server ..
Kod mene u localu, na Win98 sve radi normalno, .. ali na netu, ,na tom linux serveru ... nece.
Shto je najgore od svega, nikakvu greshku nece da mi javi. Probao sam da uhvatim u varijablu ono shto izvrshi funkcija system ili ono shto je u okviru onih backtick operatora ... ali nishta.

A sada odgovori na vashe komentare

Citat:
01011011:
Normala ukoliko nemas napravljenog fajla nece da ti ga stvori, jer umesto ovoga w, moras da stavis a.


Nije tachno uopshte. Chim mora da neshto upisuje funkcija u fajl [bilo da dodaje ili gazi pa pishe ispochetka] ... funkcija pokushava da napravi fajl ako ne postoji. Uostalom, onda mi ne bi ni u localu radila.

Citat:
Judge Dred:
Da skratimo prichu, dobro bi bilo kad bi se prelistao manual: http://www.php.net/manual/en/function.fopen.php


Uf, da samo ti znash koliko puta sam ja prelistavao tu stranicu manuala.

Citat:
Judge Dred:
A postoji i caka da ako ovo isporbavas na Win sistemu onda u z one parametre npr "w" obavezno staviti i "b"..........Ima sve lepo u manualu.


Prochitao sam i ja ovo mnogo puta, ali to je samo razlog vishe da ne treba 100% verovati nichemu, pa ni chuvenom manualu :D
K'o shto rekoh [nekoliko puta] taj moj primer radi savrsheno dobro na Win98 + Apache ... bez b, bez ichega ...sasvim najnormalnije.

Videcu sa ovim ftp funkcijama .. toga se nisam setio... mada mi to izgleda malo glupachki ... konektuje se na ftp server, pa pravi fajl ..pa ... bezveze, nesigurno
Uopshte nisu predvidjenje za to te ftp funkcije, al' ajd' sad
[ RAZZLEDAZZLER @ 21.05.2002. 01:49 ] @
Chisto da vas obavestim da je uspelo sa ftp funkcijama ... i samo tako radi
[ 01011011 @ 21.05.2002. 10:51 ] @
Da ali ne zaboravi da solucija sa 'w' na kraju ce ti prebrisati fajl ukoliko imas nesto na njemu svaki put kad se napravi novi fajl, a solucija sa 'a' ce ti dodati ono sto treba da se doda na kraj fajla.
[ RAZZLEDAZZLER @ 21.05.2002. 14:27 ] @
a prste ne treba gurati u struju ...

Znam to, nishta se ne brini ... ni ne treba da mi dodaje, treba svaki put nov fajl da pravi
[ Goran Rakić @ 23.05.2002. 10:14 ] @
A da li si probao da CHMOD-ujes direktorijum tako da omogucis pisanje u njega?
[ RAZZLEDAZZLER @ 23.05.2002. 16:58 ] @
prob'o

...ne radi ni tako
[ leka @ 23.05.2002. 18:21 ] @
Pa ako je Linux u pitanju odgovor na tvoje pitanje je vrlo jednostavan. Child procesi od Apache-a su najcesce vlasnistvo nobody.nogroup "korisnika" i kad kreiraju fajl onda taj fajl bude takodje vlasnistvo pomenutog usera... E sada , tamo gde zelis da kreiras taj fajl (tj. tvoja skripta gde treba da kreira) korisnik nobody.nogroup NE MOZE DA PISE!
[ RAZZLEDAZZLER @ 24.05.2002. 23:58 ] @
Ma znam ja to, samo mi chudno kako to da u web-tree direktorijumu ne mogu da kreiram, obichno moze

..a i deshavalo se ljudima da jedna php funkcija radi, ,a druga ne .. pa rekoh da nema neka shesnaesta koja nekim chudom radi [ne ulazim u to kako da ne bih poludeo]