[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: file_get_contents и параметр-текст
Nuzhser
Этот код работает, выводится содержание файла

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()?



Спустя 26 минут, 39 секунд (28.07.2011 - 10:55) mako написал(а):
" No such file or directory in" в тексте варнинга означает что не нашло открываемый файл.
define('DIR_SYSTEM', 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\system\'); // в конце слешем ошибся 

Спустя 1 минута, 56 секунд (28.07.2011 - 10:57) Nuzhser написал(а):
Мако!
Привет всей Беларуси.
Слеш ниче не меняет, аналогичный слеш прекрасно работает в коде что идет первым

Спустя 13 минут, 55 секунд (28.07.2011 - 11:11) mako написал(а):
ясн, я зря влез)

Спустя 7 часов, 28 минут, 34 секунды (28.07.2011 - 18:40) Winston написал(а):
Конечно же не хочет. Эта ф-я принимает в качестве параметра имя файла, а ты туда пихаешь черти-что. Объясни зачем такие танцы с бубном во втором коде?
Цитата (Nuzhser @ 28.07.2011 - 10:29)
но как ему правильно передать этот папраметр если он скажем получен путем preg_match_all()?

А ты покажи, что ищет preg_match_all и где ?
Цитата (mako @ 28.07.2011 - 11:11)
ясн, я зря влез)

Ничего не зря. Просто молча и наблюдая ты ничему не научишься.
Цитата (mako @ 28.07.2011 - 10:55)
define('DIR_SYSTEM', 'C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\system\');

Ты вот в конце строки, добавив обратный слеш ты экранировал апостроф, в следствии чего закрывающего апострофа не обнаружится и будет ошибка.


_____________
Лэт ит би
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.