Ответов: 4 Просмотров: 1125
|
Подскажите, пожалуйста, почему неправильно работают файловые функции, расположенные в __destruct(), они обращаются к файлу расположенному по адресу Z:\usr\local\apache\bin\, хотя сам код находится в Z:\home\test1.ru\www\. При этом чтение файла в __construct() происходит правильно.
Конфигурация веб-сервера: Denwer3_Base_2012-09-16_a2.2.22_ p5.3.13_m5.5.25_pma3.5.1_xdebug на Видовс7. В денвере, вроде, никаких настроек не ковырял.
Спойлер (Отобразить)
PHP:
скопировать код в буфер обмена
<?PHP class logIni{ const LOG_NAME = 'arr.txt'; private $_log; private $_logArray; private static $_instance = null; private $strIni; private function __construct(){ $this->_log = file(self::LOG_NAME); foreach($this->_log as $key=>$value){ $this->_logArray [trim("$keyVal[0]")]=trim("$keyVal[1]"); } } public function __destruct(){ // в деструкторе все функции, которые работают с файлами foreach($this->_logArray as $key=>$value){ // обращаются хрен знает куда $this->strIni.="{$key}={$value}\r\n"; } } } private function __clone(){} public static function getInstance(){ if( self::$_instance === null ){ self::$_instance = new logIni(); return self::$_instance; } } function __set($key, $value){ $this->_logArray["$key"] = $value; } function remove($key){ unset ($this->_logArray ["$key"]); } } $iniRead = logIni::getInstance(); $iniRead->safe_mode=on; $iniRead->GPC=ok; $iniRead->remove('GPC'); ?>
|