Этот код работает, выводится содержание файла
define('DIR_SYSTEM', 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\system/');
$test = DIR_SYSTEM . 'engine/action.php';
$data = file_get_contents($test);
$data = htmlspecialchars($data, ENT_QUOTES);
echo $data;
Этот не выводит ничего кроме ошибки Warning: file_get_contents(DIR_SYSTEM . 'engine/action.php'): failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\php-LIBRARY\Test.php on line 24
define('DIR_SYSTEM', 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\system/');
$fg = "require_once(DIR_SYSTEM . 'engine/action.php')";
$find = array("require_once(", "require(", ")");
$df = str_replace($find, "", $fg);
//echo $df; - отобразит на экране - DIR_SYSTEM . 'engine/action.php'
echo $df;
$cache = file_get_contents($df);
$cache = htmlspecialchars($cache, ENT_QUOTES);
echo $cache . "<br>";
Насколько догадываюсь file_get_contents() не хочет понимать текст - "require_once(DIR_SYSTEM . 'engine/action.php')", но как ему правильно передать этот папраметр если он скажем получен путем preg_match_all()?
Спустя 18 минут, 24 секунды (28.07.2011 - 11:59) Nikitian написал(а):
echo $df;[php]
Замените на
[php]
eval($df);
Но это какой-то извращенческий способ. Старайтесь не использовать eval() и код, записанный в строковые переменные.
Спустя 3 часа, 14 минут, 4 секунды (28.07.2011 - 15:13) twin написал(а):
Как то так?
define('DIR_SYSTEM', 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\system/');
$df = "require_once(DIR_SYSTEM . 'engine/action.php')";
$find = array("require_once(", "require(", ")", "'");
$df = str_replace($find, "", $df);
$df = str_replace('DIR_SYSTEM . ', DIR_SYSTEM, $df);
Спустя 16 минут, 48 секунд (28.07.2011 - 15:30) Nuzhser написал(а):
eval я уже использовал он не работает. по крайней мере так как вы и я пробовал
Twin привет!
$df = str_replace('DIR_SYSTEM . ', DIR_SYSTEM, $df); - хорошая идея но тоже не работает видно DIR_SYSTEM все равно остается текстом и не читается функцией file_get_contents()
Это тоже не работает
$pieces = explode(".", $df);
if(count($pieces)>1){
$con = $pieces[0];
$constant = constant($con);
$fullpath = $constant . $pieces[1] . "." . $pieces[2];
А прописать просто - работает
$test = DIR_SYSTEM . 'engine/action.php';
$data = file_get_contents($test);
$data = htmlspecialchars($data, ENT_QUOTES);
echo $data;
но мне надо именно с текста вытянуть поскольку текст я получаю
через file_get_contents с другого файла
Может я хочу невозможного?
Twin привет!
$df = str_replace('DIR_SYSTEM . ', DIR_SYSTEM, $df); - хорошая идея но тоже не работает видно DIR_SYSTEM все равно остается текстом и не читается функцией file_get_contents()
Это тоже не работает
$pieces = explode(".", $df);
if(count($pieces)>1){
$con = $pieces[0];
$constant = constant($con);
$fullpath = $constant . $pieces[1] . "." . $pieces[2];
А прописать просто - работает
$test = DIR_SYSTEM . 'engine/action.php';
$data = file_get_contents($test);
$data = htmlspecialchars($data, ENT_QUOTES);
echo $data;
но мне надо именно с текста вытянуть поскольку текст я получаю
через file_get_contents с другого файла
Может я хочу невозможного?
Спустя 19 минут, 48 секунд (28.07.2011 - 15:50) twin написал(а):
Все работает. Внимательнее просто разберись.
Спустя 1 час, 34 минуты, 56 секунд (28.07.2011 - 17:25) Nuzhser написал(а):
Twin я же все таки хотел чтобы ты разобрался а мне на все готовое прошу-с.
Спасибо за умную подсказку. Всетаки русские сильнее чем англичане(в этот раз) - те уже два дня думают что мне надо от них.
Чтобы заработало мне пришлось добавить еще одну строчку дабы убрать лишние апострофы в конце пути, сразу после твоей строчки
Спасибо за умную подсказку. Всетаки русские сильнее чем англичане(в этот раз) - те уже два дня думают что мне надо от них.
Чтобы заработало мне пришлось добавить еще одну строчку дабы убрать лишние апострофы в конце пути, сразу после твоей строчки
$df = str_replace("'", "", $df);
_____________
Лэт ит би