Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> chmody kilka pytań
ultra_18
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 4
Dołączył: 30.10.2008

Ostrzeżenie: (0%)
-----


Witam , od niedawna mam problemy z chmodami i tu moje kilka pytań :
1. czy są jakieś funkcje sprawdzające chmody oprócz is_writable , is_readable?
2. czy jest jakaś funkcja zmieniająca chmody?
3. Dlaczego polecenie `ls /home/plik.txt` może być wykonane na moim serwie a `chmod 777 /home/plik.txt` nie? Co trzeba zrobić żeby mógł wykonywac te polecenie oraz inne np kopiowanie ,usuwanie, zmiana nazwy za pomoca przegladarki.

4. Zaważyłem że na pewnym cmsie można zapisywać dane do pliku nawet jeżeli ma chmody 644 a u siebie na serwie musze mieć 777 inaczej nie ruszy :/ co trzeba zrobić aby móc zapisywac plik nawet z chmodami 644.


Z góry dzieki za odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jareeny
post
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

Ostrzeżenie: (0%)
-----


Cytat
chmod("plik.txt", 0755);
wystetla blad
Warning: chmod() [function.chmod]: Operation not permitted in ...


w komentarzach do funkcji chmod() jest na przykład takie coś:

If you get a warning like chmod(): Operation not permitted in ...

You can use the ftp_site() function to send a CHMOD command through.
  1. <?php
  2.  
  3.  $ftp_details['ftp_user_name'] = $row['username'];
  4.  $ftp_details['ftp_user_pass'] = $row['password'];
  5.  $ftp_details['ftp_root'] = '/public_html/';
  6.  $ftp_details['ftp_server'] = 'ftp'.$_SERVER['HTTP_HOST'];
  7.  
  8.  function chmod_11oo10($path, $mod, $ftp_details)
  9.  {
  10.      // extract ftp details (array keys as variable names)
  11.      extract ($ftp_details);
  12.      
  13.      // set up basic connection
  14.      $conn_id = ftp_connect($ftp_server);
  15.      
  16.      // login with username and password
  17.      $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  18.      
  19.      // try to chmod $path directory
  20.      if (ftp_site($conn_id, 'CHMOD '.$mod.' '.$ftp_root.$path) !== false) {
  21.          $success=TRUE;
  22.      }
  23.      else {
  24.          $success=FALSE;
  25.      }
  26.  
  27.      // close the connection
  28.      ftp_close($conn_id);
  29.      return $success;
  30.  }
  31.  ?>


The key thing to remember is that the document root and the ftp root are not the same.
e.g. document root may be "/home/folder/public_html/"
but the ftp root might be "/public_html/"

Hope this helps someone. You might need this solution if you are on a shared server.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 18:50