Tom: Beispiel für Serialize(), Unserialize()

Beitrag lesen

Hello Maike,

gegeben ist ein array:

$ini_data = array();

$ini_data["password"] = "xyZ08/16k1e8ung";
$ini_data["username"] = "Hans Wurst";
$ini_data["last_log"] = date("d.m.Y  H:i:s");

Diese Daten wollen wir nun in einer Datei sichern, damit sie für dieses und andere Scripte fortan nutzbar sind:

$dateiname = "inidata.dat.php";

die Datei zum Schreiben öffnen

$fh = fopen($dateiname,"w");   .

Die zu sichernden Daten in einem Stream (~ String) verpacken

$file_data = serialize($ini_data);

Die verpackten Daten in die Datei schreiben

fwrite($fh, $file_data);

die Datei schließen

fclose($fh);

Nun haben wir ein weiteres Script, dass nur ausgeführt werden darf, wenn per Post das richtige Passwort und der richtige Username übermittelt wurden:

...
$pass = "";
if (isset($_POST["pass"])
{
  $pass = trim($_POST["pass"]);
}

$user = "";
if (isset($_POST["user"])
{
  $user = trim($_POST["user"]);
}

inidaten lesen

$file_data = file_get_contents("inidata.dat.php");

inidaten wieder in Array zurückverwandeln.

$ini_data= unserialize($file_data);

if (($ini_data["password"] != $pass)
    or ($ini_data["username"] != $user))
{
  echo "Sie haben keinen Zugang!<br />";
  exit;
}

echo "Herzlich Willkommen $user. Ihr letzter Login war ".
     "$ini_data["last_log"]."<br />";

$ini_data["last_log"] = date("d.m.Y  H:i:s");

und dann wieder wegschreiben:
Das ist der Text von oben. Da macht man am besten eine
schöne Funktion draus, die einen Rückgabewert liefert,
ob es geklappt hat.

$dateiname = "inidata.dat.php";

die Datei zum Schreiben öffnen

$fh = fopen($dateiname,"w");   .

Die zu sichernden Daten in einem Stream (~ String) verpacken

$file_data = serialize($ini_data);

Die verpackten Daten in die Datei schreiben

fwrite($fh, $file_data);

Nun hoffe ich, dass Die das als Beispiel für Serialize(), unserialize(), file_get_contents(), usw reicht.

Liebe Grüße

Tom

#... Rest vom Script...