tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Flex
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
218
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Hallo,

    ich will Arrays in eine Datei binär speichern.
    Ich kenne bisher nur die Funktionen serialize/unserialize, doch die speichern im Textformat, sodass man die Datei nur per Texteditor öffnen muss und schon sieht man das Array.

    Zum Beispiel kann man in C++ aus die Speicheradresse von Variablen zugreifen, geht sowas auch in PHP?

    Vielen Dank im Voraus!
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Eventuell helfen dir da die Semaphore Funktionen. Ansonsten wäre ich da überfragt, da ich es so noch nie gebraucht habe...

    Was für Daten möchtest du denn zwischenspeichern? Denn immerhin gibt es ja die Möglichkeit die Daten außerhalb des Documents Root zu lagern, so dass es keinen Zugriff von außen gibt. Falls du auch noch den Zugang von Innen ausgrenzen möchtest, wird das schwierig bis unmöglich... Höchstens mit einer Verschlüsselung mit Keyphrase, die eben nicht auf dem Server gelagert ist.
    ComFreek bedankt sich. 
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Erstmal Danke für deine Antwort.
    Wenn ich das richtig verstanden habe, dann verschlüsseln die Semaphore Funktionen Verzeichnisse oder Archive ?

    Zitat Zitat von Felix Jacobi
    Was für Daten möchtest du denn zwischenspeichern? Denn immerhin gibt es ja die Möglichkeit die Daten außerhalb des Documents Root zu lagern, so dass es keinen Zugriff von außen gibt. Falls du auch noch den Zugang von Innen ausgrenzen möchtest, wird das schwierig bis unmöglich... Höchstens mit einer Verschlüsselung mit Keyphrase, die eben nicht auf dem Server gelagert ist.
    Ich habe mir schon überlegt, XML zu verwenden.
    Aber binäre Daten können schneller eingelesen werden - wobei bei den heutigen Prozessoren und so macht das keinen großen Unterschied mehr (sind eher kleine Arrays).
    Außerdem soll man sie nicht einfach so lesen können.

    Aber wenn man die Daten verschlüsselt, dann müssen sie wieder entschlüsset werden ==> Zeit
    Ich optimieren nämlich auf Zeit.

    Falls jemand noch etwas einfällt, kann er ja antworten
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  4. #4
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Wie wäre es denn, wenn du das array serialisiert in einer Variablen speicherst und diese dann binär in eine Datei schreibst?
     

  5. #5
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Wie speichert man denn etwas in eine Datei binär? Bei fopen(...) gibt es ja keinen Parameter bzw. Flag "binär".

    So weit komme ich:
    Code php:
    1
    2
    3
    4
    5
    6
    7
    
    $MyArray = array("a"=>"apfel", 
                                "b"=>"birne",
                                "c"=>"Cocusnuss");
     
    $MyArrayAsString = serialize($MyArray);
     
    // $MyArrayAsString binär speichern, wie?

    Edit: Ich habe die pack(...) Funktion gefunden. Bei den Kommentaren war folgender Code:
    Code php:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    public function unpack_str($str, $len)
    {
      $tmp_arr = unpack("c".$len."chars", $str);
      $out_str = "";
      foreach($tmp_arr as $v)
      {
        if($v>0)
        {
          $out_str .= chr($v);
        }
      }
      return $out_str;
    }
       
     public function pack_str($str, $len)
     {       
       $out_str = "";
       for($i=0; $i<$len; $i++)
       {
         $out_str .= pack("c", ord(substr($str, $i, 1)));
       }
       return $out_str;
     }
    Den werde ich mal ausprobieren.

    PS: Wieso gibt es im Forum zwei BB-Tags für PHP ([highlight=php][/highlight] und [php][/php])? Obwohl die erstere Variante besser ist, da da Verknüpfungen zur php.net Seite sind.
    Geändert von ComFreek (06.08.10 um 15:30 Uhr)
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  6. #6
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    fopen() kennt den Schlussparameter "b" und fwrite() ist binary-safe.

    Das eine ist wahrscheinlich ein Standardfeature während das andere eine GeSHi Variante o. ä. ist.
    Die Wahl welches dir eher zusagt, bleibt dir überlassen
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  7. #7
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    @Felix Jacobi: Ich habe gerade meinen Beitrag editiert.
    Ich hatte mir bei fopen nur die Tabelle durchgelesen, nicht die weiße Box

    Edit: Aber beide schreiben nur den serialisierten String in die Datei. Gibt es wirklich keine Variante, die binär schreibt? Wenn ich in C++ Arrays oder anderes in eine Datei speichere, sehe ich später - wenn ich die Datei im Textformat öffne - nur komische Zeichen.
    Geändert von ComFreek (06.08.10 um 15:41 Uhr)
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

Ähnliche Themen

  1. Objekte/Arrays Speichern
    Von Raven280438 im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 24.06.10, 17:25
  2. Antworten: 24
    Letzter Beitrag: 05.11.08, 14:52
  3. XML Daten in mehrdimensionalen Arrays speichern
    Von bolshi im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 21.04.08, 19:44
  4. Arrays Speichern / Laden optimieren
    Von Cusco im Forum PHP
    Antworten: 8
    Letzter Beitrag: 07.11.07, 20:57
  5. Speichern eines Arrays
    Von Despair Blue im Forum .NET Archiv
    Antworten: 4
    Letzter Beitrag: 12.04.05, 19:45

Stichworte