Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sprawdzanie chmodów
Forum PHP.pl > Forum > Przedszkole
alkesz1718
Witam przy pliku instalacyjnym mam taki kod na sprawdzanie chmodów dla poszczególnych plików:
  1. ######## Sprawdzanie CHMOD ########
  2. if($step == 2){
  3. $i = array('./engine/ajax/bbcode.php',
  4. './engine/classes/js/bbcodes.js',
  5. './engine/classes/parse.class.php',
  6. './engine/inc/options.php',
  7. './engine/inc/sound.php',
  8. './engine/inc/inclide/inserttag.php',
  9. './engine/modules/bbcode.php',
  10. './engine/skins/default.skin.php'
  11. );
  12.  
  13. $chmod_errors = 0;
  14. $not_found_errors = 0;
  15. foreach($i as $file){
  16.  
  17. if(!file_exists($file)){
  18. $file_status = "<font color=red>Not found!</font>";
  19. $not_found_errors ++;
  20. }
  21. elseif(is_writable($file)){
  22. $file_status = "<font color=green>writable</font>";
  23. }
  24. else{
  25. @chmod($file, 0777);
  26. if(is_writable($file)){
  27. $file_status = "<font color=green>writable</font>";
  28. }else{
  29. @chmod("$file", 0755);
  30. if(is_writable($file)){
  31. $file_status = "<font color=green>writable</font>";
  32. }else{
  33. $file_status = "<font color=red>forbidden</font>";
  34. $chmod_errors ++;
  35. }
  36. }
  37. }
  38. $chmod_value = @decoct(@fileperms($file)) % 1000;
  39.  
  40. }
  41.  
  42. $content = <<<HTML
  43. <h1>Sprawdzanie CHMOD</h1>
  44. Moduł Sprawdza czy potrzebne pliki przy instalacji są dostępne<br /><br />
  45. <ul><li>$file<span>$file_status</span></li></ul> // span ma przeniesienie na prawą stronę
  46. Aby kontynuować, kliknij przycisk 'dalej'.
  47. HTML;
  48.  
  49. }

Problem mam taki że przy wyświetlaniu zamiast tych wszystkich katalogów z plikami z statusem dostępu pokazuje mi tylko 1 ostatni czyli ./engine/skins/default.skin.php a powinno mi wyświetlać wszystkie a obok status. Może znajdziecie gdzie mam tu błąd że mi nie wyświetla wszystkiego
CuteOne
  1. }//koniec pętli foreach
  2.  
  3. $content = <<<HTML
  4. <h1>Sprawdzanie CHMOD</h1>
  5. Moduł Sprawdza czy potrzebne pliki przy instalacji są dostępne<br /><br />
  6. <ul><li>$file<span>$file_status</span></li></ul> // span ma przeniesienie na prawą stronę
  7. Aby kontynuować, kliknij przycisk 'dalej'.
  8. HTML;

podmień na
  1. // tu jest .=
  2. $content .= <<<HTML
  3. <h1>Sprawdzanie CHMOD</h1>
  4. Moduł Sprawdza czy potrzebne pliki przy instalacji są dostępne<br /><br />
  5. <ul><li>$file<span>$file_status</span></li></ul> // span ma przeniesienie na prawą stronę
  6. Aby kontynuować, kliknij przycisk 'dalej'.
  7. HTML;
  8. } //koniec pętli foreach
  9. echo $content;

I nie zapomnij zainicjować zmienną $content tuż przed pętlą
alkesz1718
Przerobiłem trochę to co podałeś na to:
  1. $con .= <<<HTML
  2. <ul><li>$file<span>$file_status</span></li></ul>
  3. HTML;
  4. }
  5. $content .= <<<HTML
  6. <h1>Sprawdzanie CHMOD</h1>
  7. Moduł Sprawdza czy potrzebne pliki przy instalacji są dostępne<br /><br />
  8. $con<br /><br />
  9. Aby kontynuować, kliknij przycisk 'dalej'.
  10. HTML;


gdyż twój kod powodował że to co było w content powielało się ale już wyświetlało prawidłowo wszystkie pliki jakie miał kod sprawdzać... a w takim kodzie co ja zrobiłem bazując na twoim udało się zrobić poprawnie i teraz mam jeszcze jedno pytanie jak zrobić kod php by przykładowo:
z pliku /engine/data/sound.php (plik configuracyjny jak na wielu stronach jest config.php to u mnie jest do modułu sound.php) z zmiennej:
  1. 'version' => '1.0'

wyciągało 1.0 pokazywało tekst: "Posiadasz starą wersję modułu. Instalator automatycznie zaktualizuje ją do najnowszej wersji"; po czym edytowało 1.0 na 2.0 po czym również pokazywało tekst że poprawnie (bądź wystąpił błąd) zaktualizowano moduł

Dodam również że tekst podczas instalacji zawsze wyświetlany jest w zmiennej:
  1. $content = <<<HTML
  2. <h1>Tytuł</h1>
  3. tekst/informacje i wgl bzdety bajery<br /><br />
  4.  
  5. Aby kontynuować, kliknij przycisk 'dalej'.
  6. HTML;
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.