Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Konwertowanie chmodow, z 777 na rwx-rwx-rwx
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Witam mam pytanie nie wiem zabardzo co wpisac w google lub w wyszukiwarce na tym forum bo nigdy nie spotkalem sie z podobnym tematem chcialbym zmienic wyswietlanie chmodow z numerowego wyswietlania na rwx etc.

Robie taa funkcje:
  1. <?php
  2. function ConvertChmod($chmod) {
  3.  
  4. $number_chmod = explode(" ", $chmod);
  5. print_r($chmod);
  6. print_r($number_chmod);
  7.  
  8. if($number_chmod[0] == 4) $string_chmod .= 'r';
  9. else if($number_chmod[0] == 5) $string_chmod .= 'rx';
  10. else if($number_chmod[0] == 6) $string_chmod .= 'rw';
  11. else if($number_chmod[0] == 7) $string_chmod .= 'rwx';
  12.  
  13. if($number_chmod[1] == 4) $string_chmod .= 'r';
  14. else if($number_chmod[1] == 5) $string_chmod .= 'rx';
  15. else if($number_chmod[1] == 6) $string_chmod .= 'rw';
  16. else if($number_chmod[1] == 7) $string_chmod .= 'rwx';
  17.  
  18. if($number_chmod[2] == 4) $string_chmod .= 'r';
  19. else if($number_chmod[2] == 5) $string_chmod .= 'rx';
  20. else if($number_chmod[2] == 6) $string_chmod .= 'rw';
  21. else if($number_chmod[2] == 7) $string_chmod .= 'rwx';
  22.  
  23. return $string_chmod;
  24. }
  25.  
  26. //Wywoluje
  27.  
  28. $b = ConvertChmod(644);
  29. echo($b);
  30. ?>


I nic sie nie dzieje a te print_r w funkcjo zwracaja takie cos:
  1. <?php
  2. 644Array (     [0] => 644 )
  3. ?>

Czyli explode() nie dzieli tego chmod'a tak jak bym chcial poniewaz jest to int jak to poprawic lub wiem moglbym napisac wszytkie mozliwe kombinacje chmod'ow a nie pojedyncze cyfry ale nie chce.

Niby banalne ale cos mi nie wychodzi mam normalnie do funkcji dac jako argument tablice?Albo jak to inacze napisac?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Albitos
post
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 4
Dołączył: 6.08.2006
Skąd: Lublin

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


Niepotrzebnie całkowicie używasz tego explode'a. PHP pozwala na dostęp do dowolnego znaku w stringu tak jak do elemtu tablicy:
Kod
<?php
function ConvertChmod($chmod) {
   return getChString($chmod[0]).getChString($chmod[1]).getChString($chmod[2]);
}

function getChString($iNumber)
{
   switch($iNumber)
   {
       case 4:
         return 'r--';
         break;
       case 5:
         return 'r-x';
         break;
       case 6:
         return 'rw-';
         break;  
       case 7:
         return 'rwx';
         break;  
   }
}
?>


Bo ważna sprawa to poznanie możliwości języka... Na twoim miejscu rozejrzałbym się jeszcze po dokumentacji PHP. Kto wie, może jest do tego jakaś wbudowana funkcja.

Ten post edytował Albitos 21.09.2008, 14:48:06
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: 10.10.2025 - 06:50