Что означает ошибка?

Главные вкладки

Аватар пользователя SuperCargo SuperCargo 12 мая 2007 в 12:24

Что означает ошибка:

warning: filesize() [function.filesize]: stat failed for D:/Apache Group/Apache2/htdocs/books/index.php in D:\Apache Group\Apache2\htdocs\drupal-5.1\includes\common.inc(1342) : eval()'d code on line 16

Строка, на которую ругается:
$razm = filesize($_SERVER["DOCUMENT_ROOT"]."/books/index.php");

В includes\common.inc на 1342 строке такая функция:

function drupal_eval($code) {
ob_start();
print eval('?>'. $code);
$output = ob_get_contents();
ob_end_clean();
return $output;
}
А именно ругается на print eval('?>'. $code);

Что делать и как бороться?

Причем, строкой ниже обычное echo текст выводит на страницу - все нормально работает.

Я понял - или функция eval('?>'. $code); или функция filesize() не понимает русских букв в параметре, проверил это экспериментом. Что делать?

Комментарии

Аватар пользователя SuperCargo SuperCargo 12 мая 2007 в 13:11

У меня куча файлов с русскоязычными именами, подскажите пожалуйста, как конвертировать на php не меняя структуры и названий самих файлов, чтобы eval не спотыкался на них...

Аватар пользователя blackvl@drupal.org blackvl@drupal.org 12 мая 2007 в 16:00

Можно попробовать использовать php функцию iconv к имени файла
iconv("WIN-1251", "UTF-8", "This is a test."); (или CP1251 в первом параметре),
Но, боюсь тогда filesize просто не найдет файл...
Надо писать скрипт по переименованию файлов в транслит или в utf8, но винда последнее может не понять. Опять-таки, проблема в вашей оси... Если файлы под *nixами, это элементарно скриптом на bashе, а вот под M$...ищите ответ сами.
Если затолкаете на линукс/фрибсд хостинг с шелл-доступом (и кодировкой локали utf8 иначе сами не сможете нормально просматривать файлы с русским текстом), то могу кинуть скрипт.