Проблема с чтением файла

Статус
В этой теме нельзя размещать новые ответы.
1) файл menu.txt.php
Проверь, чтобы были установлены права на чтение для владельца и others: r--r--r--

Проверь, что ненулевая длина файла. (хотя и так должен открываться)
Проверь, что название целиком состоит из маленьких букв, нигде нет больших.
Проверь, что в названии нигде не затесался пробел.
Проверь, что в названии все буквы английские.


2) файл menu.php

Проверь, что ты открываешь именно 'menu.txt.php', а не 'menu.txt' 'menu.php.txt' и тому подобное.

Если не работает
PHP:
$nmenu = file('menu.txt.php');
попробуй
PHP:
$nmenu = file(dirname(__FILE__).'/menu.txt.php');

Если все еще будет ошибка, попробуй
PHP:
include 'menu.txt.php';

Если так заработает, то читай файл себе в переменную через ob_start() и include. Это конечно изврат, но раз по-другому не работает..

чрез инклюд пашет, но это изврат, с правами и путями все нормально, сменил хостинг, буду ждать апдейта днс, затем проверю на новом хостинге :nezn:
 
А, ну так великолепно!

PHP:
ob_start();
include 'menu.txt.php';
$str = ob_get_contents();
ob_end_clean();

Все, теперь в строке $str у тебя теперь содержимое файла. Дальше его хочешь разбивай на строки (через split), хочешь так юзай..

Работать эта вся тема будет не медленнее, чем через fopen. Сервак не завалит, глюков не добавит.. Так что юзай на здоровье и перестань тратить время на войну с непонятными глюками. Нам же что нужно, шашчеки или ехать? :)
 
PHP:
<?php
$nmenu=array();//нахрен не нужно!
$nmenu = file('/home/vol1/сайт.com/htdocs/site/menu.txt.php');
foreach($nmenu as $line) echo $line;
?>
первая строка имеет смысл только если дальше ты массив собираешься заполнять поэлементно, а ты его целиком заполняешь ф-ией file!
если охота сделать скрипт рабочим в других папках - поиграйся с переменной $_SERVER - это суперглобальный массив, в нем точно есть путь к исполняемому файлу (вроде $_SERVER['script']) - и ... :В
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху