Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Klasa do obsługi folderów
potreb
post 12.08.2008, 08:47:18
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Witam. Napisałem pewną banalną klasę do wyświetlania folderów:
  1. <?php
  2. class Folders {
  3.  
  4. public function low($file) {
  5. $this->file = $file;
  6. if($this->file!="." && $this->file!=".." && !eregi("index.html",$this->file) && file_exists($this->getpatch().$this->file."/block.php"))
  7. {
  8. include $this->getpatch().$this->file."/block.php";
  9. echo "<tr><td class='plug_inst'>".$this->a."</td><td class='plug_inst'><a href='".$this->getpatch().$this->file."/admin.php'>".$titleblock."</a></td>
  10. <td class='plug_inst'>&nbsp;&nbsp;<a href='admin.php?co=blocks&id=install&file=".$this->getpatch().$this->file."&fa=yes'>Instaluj</a></td>
  11. <td class='plug_inst'>$author</td><td class='plug_inst'>".($add2menu==1 ? 'Tak' : 'Nie')."</td></tr>";
  12. $this->a++;
  13. }
  14.  
  15. }
  16.  
  17. }
  18.  
  19. include "includes/php/folders.php";
  20.  
  21. $new = new Pug;
  22. $new->Path = "modules/";
  23. $new->sche();
  24. ?>


folders.php
  1. <?php
  2. class Pug extends Folders{
  3. public $Path;
  4.  
  5. public function getpatch() {
  6. return $this->Path;
  7. }
  8.  
  9. public function sche()
  10.  {
  11.  
  12. if ($handle = opendir($this->getpatch())) 
  13. {
  14. $a=1;
  15. $this->a = $a;
  16. while ($file = readdir($handle))
  17. {
  18.  
  19. $this->low($file);
  20.  
  21. } 
  22. closedir($handle);
  23. }
  24. }
  25.  
  26. }
  27. ?>


Jest to dość banalnie zrobiona, ale ładnie chodzi.
Pytanie jest następujące:

Chcę stworzyć nową metodę np: install, która będzie odpowiadała za instalację. Tylko nie wiem jak ją wywołać, aby dodać jakiś rekord.


--------------------

Go to the top of the page
+Quote Post
wlamywacz
post 12.08.2008, 13:41:43
Post #2





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

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


Przykro mi ale tragedia. Do tego celu w php masz specjalny iterator
  1. <?php
  2. class filesmodel {
  3.  
  4. public function getFiles($patch) {
  5.  
  6. foreach(new DirectoryIterator($patch) as $file) {
  7. if(!$file->isDot()) {
  8. $array[] = array($file->getFilename(), $file->getPath());
  9. }
  10. }
  11. return $array;
  12.  
  13. }
  14. }
  15. ?>

Twoja klasa nie ma sensu bo zwraca html, a ma zwracać tablice aby w innej funkcji obrobić ją do własnych potrzeb. Temat na przedszkole pasuje bardziej
Go to the top of the page
+Quote Post
kszychu
post 12.08.2008, 15:25:15
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Przychylam się do wniosku i przenoszę.

--w związku z raportem i krótką dyskusją - przenoszę na PHP (cysiaczek)


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 09:19