in eigener classe mache ich im destructor serialisieren von einer lokaler Variable und speichere das in eine datei und kontrolliere sogar ob die datei wirklich gespeichert ist.
im konstruktor kontrolliere ich ob diese datei mit serialisierem Inhalt da ist, und im fall, dass die datei existiert unserialisiere der inhalt und speichere es in lokale Variable.
Mein Problem liegt aber daran, dass der konstruktor die Datei nie findet,(auch bei 2-tem reload von dem script) obwohl im destruktor sie generiert und für testzwecke mit file_get_contents ausgelesen wurde.
Die Datei muss doch bei dem zweitem aufruf von dem Object, wenn ich reload mache schon da sein
was dabei komisch ist, dass ich die datei mit explorer auch nicht finden kann
vielleich habe ich einfach problem an betrieb System?
Aber ich will besser hoffen, dass ich ein logisches problem habe.
System Windows XP, xamp mit php 5.1.4
der script:
die ausgabe auch bei mehrfachem reload (sogar mit verschiedenen get-parameter)
--------------------------------
58)file ./serialconfig.php nicht gefunden
hallo
start von destruct
75)file ./serialconfig.php existiert, Inhalt:YToxOntzOjc6IndhcnR1bmciO3M6NToiaGFsbG8iO30=
76)ende von destruct
----------------------
ich kann komische weise kein Grund finden, warum die datei im constructor nie gefunden wird und warum sie nicht auf der festplate zu finden ist, obwohl ich sie im destructor extra mit file_get_contents auslese.
im konstruktor kontrolliere ich ob diese datei mit serialisierem Inhalt da ist, und im fall, dass die datei existiert unserialisiere der inhalt und speichere es in lokale Variable.
Mein Problem liegt aber daran, dass der konstruktor die Datei nie findet,(auch bei 2-tem reload von dem script) obwohl im destruktor sie generiert und für testzwecke mit file_get_contents ausgelesen wurde.
Die Datei muss doch bei dem zweitem aufruf von dem Object, wenn ich reload mache schon da sein
was dabei komisch ist, dass ich die datei mit explorer auch nicht finden kann
vielleich habe ich einfach problem an betrieb System?
Aber ich will besser hoffen, dass ich ein logisches problem habe.
System Windows XP, xamp mit php 5.1.4
der script:
PHP-Code:
error_reporting(E_ALL);
class Configuration{
private $file='./serialconfig.php';
private $werte;
public function __construct()
{
$this->werte=array();
if(file_exists($this->file)) //<-muss doch bei 2-tem aufruf da sein, schau destruktor.
{
$s=file_get_contents($this->file);
$this->werte=unserialize(base64_decode($s));
}else echo __LINE__.")file $this->file nicht gefunden<br />";//<-das bekomme ich ständig
}
public function getAll(){return $this->werte;}
public function __isset($var){return isset($this->werte[$var]);}
public function __set($was,$wert){ $this->werte[$was]=$wert;}
public function __get($was){return $this->werte[$was];}
public function __unset($var)
{
if(isset($this->werte[$var]))unset($this->werte[$var]);
}
public function __destruct()
{
echo "<br /> start von destruct <br />";
$s=base64_encode(serialize($this->werte));
//echo $s;
file_put_contents($this->file,$s);
if(file_exists($this->file))//hier habe ich extra zur kontrolle geprüft ob die datei geschrieben wurde
echo "<br />".__LINE__.")file $this->file existiert, Inhalt:".file_get_contents($this->file);
echo "<br />".__LINE__.")ende von destruct";
}
}
//Test
$con =new Configuration();//hier bekomme ich ständig meldung, dass die datei nicht existiert
$con->wartung='hallo';
echo $con->wartung;
//und hier kommt der destructor mit der bestätigung, dass die datei existiert.
--------------------------------
58)file ./serialconfig.php nicht gefunden
hallo
start von destruct
75)file ./serialconfig.php existiert, Inhalt:YToxOntzOjc6IndhcnR1bmciO3M6NToiaGFsbG8iO30=
76)ende von destruct
----------------------
ich kann komische weise kein Grund finden, warum die datei im constructor nie gefunden wird und warum sie nicht auf der festplate zu finden ist, obwohl ich sie im destructor extra mit file_get_contents auslese.
Kommentar