Здравствуйте! Я новичок в php, нашел готовый код, который меняет местами значения написанной строки на заданную в массиве, в нем в строчке PHP: <?$strings = array_map(array($this,'splitStrings'),file($this->language.'.txt'))?> указано расположение файла, исходя из которого брать значения. Я пытался сменить местоположение так: PHP: <?$strings = array_map(array($this,'splitStrings'),file('..\..\pages\langs\'.$this->language.'.txt'))?> но php не мог определить его местоположение. Сам txt файл находится у меня по такому пути: ..\..\pages\langs\file_decoder.txt Если же я положу текстовый файл в ту же папку, что и php файл, то php скрипт работает нормально PHP: <?php class Translator { private $language = 'en'; private $lang = array(); public function __construct($language){ $this->language = $language; } private function findString($str) { if (array_key_exists($str, $this->lang[$this->language])) { echo $this->lang[$this->language][$str]; return; } echo $str; } private function splitStrings($str) { return explode('=',trim($str)); } public function __($str) { if (!array_key_exists($this->language, $this->lang)) { if (file_exists($this->language.'.txt')) { $strings = array_map(array($this,'splitStrings'),file($this->language.'.txt')); foreach ($strings as $k => $v) { $this->lang[$this->language][$v[0]] = $v[1]; } return $this->findString($str); } else { echo $str; } } else { return $this->findString($str); } } } ?>
так попробуй PHP: <?php class Translator { private $language = 'en'; private $lang = array(); public function __construct($language){ $this->language = $language; } private function findString($str) { if (array_key_exists($str, $this->lang[$this->language])) { echo $this->lang[$this->language][$str]; return; } echo $str; } private function splitStrings($str) { return explode('=',trim($str)); } public function __($str) { if (!array_key_exists($this->language, $this->lang)) { if (file_exists('../../pages/langs/'.$this->language.'.txt')) { $strings = array_map(array($this,'splitStrings'),file('../../pages/langs/'.$this->language.'.txt')); foreach ($strings as $k => $v) { $this->lang[$this->language][$v[0]] = $v[1]; } return $this->findString($str); } else { echo $str; } } else { return $this->findString($str); } } } ?>
Новое Теперь работает для всех файлов, кроме index.php, т.к он находится по такому пути: V:/home/maintest3.ru/www/, а остальные файлы со страницами по такому V:/home/maintest3.ru/www/pages/, если же ввести полный путь в php код выше: V:/home/maintest3.ru/www/pages/langs/ то все и для всех файлов работает, но это не целеобразно