AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [Homepage] Erweiterungen für jedermann?
Thema durchsuchen
Ansicht
Themen-Optionen

[Homepage] Erweiterungen für jedermann?

Ein Thema von BullsEye · begonnen am 19. Dez 2008 · letzter Beitrag vom 19. Dez 2008
 
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#11

Re: [Homepage] Erweiterungen für jedermann?

  Alt 19. Dez 2008, 18:24
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
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz