Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zdalne ustawianie chmodów
Forum PHP.pl > Forum > Przedszkole
3miel
Witam,

napisałem takie cos:

  1. <? 
  2. if(chmod('../'.$_POST['nazwa'], 0777)) 
  3. {echo '<div align=center>Nie można zmienić chmodów!</div>'; } 
  4.  
  5. if($_POST['nazwa'] != $_POST['nazwa_2']) 
  6. {rename ('../'.$_POST['nazwa'], '../'.$_POST['nazwa_2']);} 
  7.  
  8. echo '../'.$_POST['nazwa_2']; 
  9. if(!$fp=fopen('../'.$_POST['nazwa_2'], 'w')) 
  10. { echo '<div align=center>Nie można odnalezć pliku!</div>'; } 
  11.  
  12. flock($fp, 2); 
  13.  
  14. $_POST['tresc']=str_replace(&#092;"'\", \"'\", $_POST['tresc']); 
  15. $_POST['tresc']=str_replace('\"', '\"', $_POST['tresc']); 
  16.  
  17. if(fwrite($fp, $_POST['tresc'].&#092;"n\")) 
  18. {echo '<div align=center>Zmiany zostały prawidłowo zapisane!</div>'; 
  19. }else{echo '<div align=center>Wystąpił bład podczas zapisu zmian!</div>';} 
  20.  
  21. flock($fp, 3); 
  22. fclose($fp); 
  23.  
  24. chmod('../'.$_POST['nazwa_2'], 0644); 
  25. ?>


ale wywala mi za kazdym razem takie błędy:

../gazetka.html
Warning: chmod(): Operation not permitted in /home/trzymiel/public_html/gimbuda/galeria/podstrony_edycja_usun.php on line 20
../gazetka.html
Warning: fopen(../gazetka.html): failed to open stream: Permission denied in /home/trzymiel/public_html/gimbuda/galeria/podstrony_edycja_usun.php on line 27

Nie można odnalezć pliku!

Warning: flock(): supplied argument is not a valid stream resource in /home/trzymiel/public_html/gimbuda/galeria/podstrony_edycja_usun.php on line 30

Warning: fwrite(): supplied argument is not a valid stream resource in /home/trzymiel/public_html/gimbuda/galeria/podstrony_edycja_usun.php on line 35

Wystšpił bład podczas zapisu zmian!

Warning: flock(): supplied argument is not a valid stream resource in /home/trzymiel/public_html/gimbuda/galeria/podstrony_edycja_usun.php on line 39

Warning: fclose(): supplied argument is not a valid stream resource in /home/trzymiel/public_html/gimbuda/galeria/podstrony_edycja_usun.php on line 40

Warning: chmod(): Operation not permitted in /home/trzymiel/public_html/gimbuda/galeria/podstrony_edycja_usun.php on line 42


Chmod pliku który zmeinia zawartość tego pliku jest ustawione na 777 i folder też ma ten sam argument, w którym jest ten plik.

Jak recznie zmienie chmody to wszystko smiga, ale równierz wyświetlają sie błędy chmodów. Ale to jest beznadziejne jak trzba recznie ustawiać do każdego pliku chmody!!!

Potrzebuje tego, wiec licze zę mi pomorzecie.
Guest
Cytat
Note:  When safe mode is enabled, php checks whether the files or directories you are about to operate on have the same UID (owner) as the script that is being executed. In addition, you cannot set the SUID, SGID and sticky bits


sprawdziłeś ? bo nie napisałeś czy w safe_mode masz włączone, a ta informacja jest w manualu przecież
3miel
a mozna to jakos samemu sprawdzic czy trzeba skontaktować się z adminem serwa ?
Guest
phpinfo(); powinno pisac
3miel
ale gdzie to ma być? chyba nie bede całego pliku wam przesyłał :]
bela
W sekcji php Core, pole safe_mode
3miel
Kod
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off


chyba jest dobrze co nie? wiec dlaczgo nie działa?
dr_bonzo
1. wypisuje ci blad "Nie można odnalezć pliku!"

2.odnosi sie to do kodu
  1. <?php
  2.  
  3.  if(!$fp=fopen('../'.$_POST['nazwa_2'], 'w')) 
  4. { echo '<div align=center>Nie można odnalezć pliku!</div>'; }
  5.  
  6. ?>

czyli nie mozna OTWORZYC PLIKU DO ZAPISU

3. np dla tego ze serwer ww nie ma prawa do zapisu tego pliku
-- czyli nie udalo sie chmodowac pliku
kod:
  1. <?php
  2. if(chmod('../'.$_POST['nazwa'], 0777)) 
  3. {echo '<div align=center>Nie można zmienić chmodów!</div>'; }
  4. ?>


jest bledny: wypisze ci "nie mozna..." jesli funkcja chmod() ZMIENI prawa dostepu

4. Nie mozesz chmodowac (a konkretnie serwer) pliku $_POST['nazwa']
sprawdz czy serwer ma mozliwosc zapisu (np. 0777) w katalaogu zawierajacym nie plik skryptu tylko plik $_POST['nazwa'].
3miel
rozumiem o co chodzi w moim kodzie i dlatego zadałem pytanie o chmodzie smile.gif

WIec moge zpaisywac pliki w katalogu wyszym z obojętnie jakim chmodem, ale z tego co teraz zauażyłem to w katalogu niżej nie da rady ]: szkoda, bo to jest bardoz wżne (cms dla gimnazjum [: )

A nie da sie tego jakoś obejść? chyba że recznie pozwmianiam chmody:P ale to troche niewygodne jak na kilkanaści/set plików sad.gif
sf
Hm, ja nie bardzo wiem dlaczego chcesz skorzystać z chmod. Dane przeważnie zapisuje się w jakieś bazie danych i to jest najlepsze rozwiązanie. Jeżeli potrzebujesz jednak zapisać dane do jakiegoś pliku to utwórz go przy pomocy fopen z parametrem 'w'.
3miel
to chyba przerobie to do MySQL i bedzie świety spokój :]

dzieki :]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.