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