Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [Homepage] Erweiterungen für jedermann? (https://www.delphipraxis.net/126192-%5Bhomepage%5D-erweiterungen-fuer-jedermann.html)

Valle 19. Dez 2008 18:24

Re: [Homepage] Erweiterungen für jedermann?
 
Darfst du gerne verwenden, auch ohne irgendwelchen Lizenzangaben etc. ;-)

Code:
<?php

  class PageStorage {
 
    private $pages;
    private $filename;
 
    private function assert_index($index) {
      if (intval($index) >= count($this->pages))
        die("Fatal: Invalid index ".htmlspecialchars($index));
    }
   
    private function implode($pages) {
      $buffer = array();
      foreach ($pages as $page)
        if (trim($page) != "")
          $buffer[] = $page;
      return implode("\n", $buffer);
    }
 
    public function __construct($filename) {
      $this->pages = @file_get_contents($filename);
      if ($this->pages === false)
        die("Fatal: Couldn't open file ".htmlspecialchars($filename));
      $this->pages = explode("\n", $this->pages);
      $this->filename = $filename;
    }
   
    public function get_pages() {
      return $this->pages;
    }
   
    public function get_page($index) {
      $this->assert_index($index);
      return $this->pages[$index];
    }
   
    public function delete_page($index) {
      $this->assert_index($index);
      unset($this->pages[$index]);
    }
   
    public function set_page($index, $page) {
      $this->assert_index($index);
      $this->pages[$index] = $page;
    }
   
    public function add_page($page) {
      $this->pages[] = $page;
    }
   
    public function save($filename=false) {
      if ($filename !== false)
        $this->filename = $filename;
      if (!@file_put_contents($this->filename, $this->implode($this->pages)))
        die("Fatal: Couldn't save file to ".htmlspecialchars($this->filename));
    }
 
  }

  // Test:

  $pages = new PageStorage("seiten.txt");
  $pages->delete_page(1);
  $pages->set_page(0, "Test#0");
  $pages->add_page("Test#".microtime());
  var_dump($pages->get_pages());
  $pages->save();

?>
Mit freundlichen Grüßen,

Valle

BullsEye 19. Dez 2008 20:20

Re: [Homepage] Erweiterungen für jedermann?
 
Vielen Dank für all eure Tipps und Ratschläge und DANKE VALLE, für den Code.
Ich werde Ihn mir mal anschauen und auch die Links, die du mir gegeben hast.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:24 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz