Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: file_get_contents срабатывает через раз
Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
Доброе время суток !
Возникла такая вот проблема, что функция file_get_contents через раз (образно говоря) оказываеться пустая.
Теперь по порядку ... есть базовый шаблон (basic.php)
Максимально упростил, так как проблема явно не в нём )
Есть так же файл с самим контентом (content.php) ... содержит только html так, что писать его думаю не имеет смысла. И есть так же третий файл который собирает всё это в кучу )
Так вот на локалхосте работает всё отлично и без проблем ... залил на хост тоже вроде всё работает нормально ... но сейчас уже второй день наблюдаю такую картину, что загружается только базовый шаблон, а $content получается остаётся пустым. При этом если обновить страницу ... ну или два - три раза обновить (когда как получаеться) то в итоге загружаеться страница как следует.
Ну и собственно сам вопрос ... какие могут быть причины такой вот рандомности в работе функции и возможные пути решения данной проблемы ?
----- Судя по ходу мыслей, вас постоянно преследуют глупости.
Arni
Отправлено: 03 Августа, 2011 - 21:09:20
Гость
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июль 2011
Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
Arni пишет:
Плохо работает сервер который http://mysite.ru
То есть проблема не в скрипте ? .. Хм ... всё на много хуже чем я думал ))
----- Судя по ходу мыслей, вас постоянно преследуют глупости.
LIME
Отправлено: 03 Августа, 2011 - 21:28:55
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
если на локальной машине проблем не было значит точно не http://mysite[dot]ru виноват
попробуйте сами заходить на http://mysite[dot]ru/tpl/content.php через браузер
если и тут все хорошо то даже незнаю тогда
возможно в таймаут не укладываетесь (Добавление)
вставьте вывод всех ошибок в начало скрипта возможно что-то выплывет
Arni
Отправлено: 03 Августа, 2011 - 21:48:32
Гость
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июль 2011
Помог: 2 раз(а)
Инсеин пишет:
Arni пишет:
Плохо работает сервер который http://mysite.ru
То есть проблема не в скрипте ? .. Хм ... всё на много хуже чем я думал ))
Потому что вы не то делаете. php будет дожидаться когда file_get_contents полностью отработает, а это будет не быстро, еще как минимум 4 секунды. Если то что она получает, без изменений должно попасть в блок вашего сайта то я бы вам советовал например с помощью jquery сделать это легко и просто.
И если поищете, то тут еще и таймаут можно сделать, и сообщить что мол так и так не получен ответ от сервера. А то что делаете вы во всех отношениях не правильно. Еще учтите тот факт что сервера на отдачу быстрый канал получают, а вот на прием канал гораздо хуже как правило.
Инсеин
Отправлено: 03 Августа, 2011 - 21:51:12
Новичок
Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
Warning: file_get_contents(http://mysite.ru/tpl/content.php) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
Пока не заглянул в хтмл кривой страницы не видел предупреждения )
Я так понимаю запрещён доступ к файлу !?! ... Но вот только теперь не ясно почему ... права на папку 755 и на файл 644 ... значит читать файл можно ... тем более, что временами всё-таки страница грузиться норм (Добавление)
Arni пишет:
с помощью jquery сделать это легко и просто.
Ооо ... боюсь это будет ещё тяжелее )) ... ибо с jquery совсем не знаком ... пока что )
----- Судя по ходу мыслей, вас постоянно преследуют глупости.
OrmaJever
Отправлено: 03 Августа, 2011 - 22:00:29
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Проблема в скрипте, file_get_contents не рекомендуется использовать с виртуальными адресами,нужно использовать curl
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
White
Отправлено: 03 Августа, 2011 - 22:04:16
Частый посетитель
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
Инсеин и все таки предпочтительней в таком случае импользовать file_get_contents с локальным путем, например (если из корневой папки сайта) file_get_contents(tpl/content.php).
и еще если вам надо вставить html файл целиком, почему бы не использовать include_once?
----- if(time()>1356048000) die();
Arni
Отправлено: 03 Августа, 2011 - 22:12:31
Гость
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июль 2011
Помог: 2 раз(а)
Инсеин пишет:
Ооо ... боюсь это будет ещё тяжелее )) ... ибо с jquery совсем не знаком ... пока что )
Я вам уже даже код дал. Как хотите, но вы там что-то не то делаете однозначно, а если этот файл еще и доступен вам в вашем хосте, то это вобще фиг знает что. Я думал вы с стороннего сайта хотите подгрузить.
Кстати может у хостера резолвит внутри сети хреновато? поробуйте через localhost чтоли. Если это ваш хост.
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
Arni jquery для таких дел +100 килограмм лишнего трафика
----- if(time()>1356048000) die();
Arni
Отправлено: 03 Августа, 2011 - 22:19:19
Гость
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июль 2011
Помог: 2 раз(а)
White пишет:
+100 килограмм
89,4 КБ
OrmaJever
Отправлено: 03 Августа, 2011 - 23:01:33
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Arni пишет:
89,4 КБ
а теперь ещё добавим время парсинга javascript'а браузером и добавление в память кучи ненужных переменых, методов и это ради того чтобы использовать только 1 простенькую функцию.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Arni
Отправлено: 03 Августа, 2011 - 23:13:46
Гость
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июль 2011
Помог: 2 раз(а)
OrmaJever пишет:
а теперь ещё добавим время парсинга javascript'а браузером и добавление в память кучи ненужных переменых, методов и это ради того чтобы использовать только 1 простенькую функцию.
Та будет вам, с таким подходом строить сайты образца прошлого века чтоли?
White
Отправлено: 04 Августа, 2011 - 08:00:26
Частый посетитель
Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011 Откуда: Днепропетровск
Помог: 28 раз(а)
Arni JQuery - это фреймворк написанный на JS, любую из его функций возможно повторить на чистом JS, и если вы не используете хотя бы до 50% его функционала, то его использование вряд ли можно назвать оправданным.
----- if(time()>1356048000) die();
Arni
Отправлено: 04 Августа, 2011 - 08:53:31
Гость
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июль 2011
Помог: 2 раз(а)
White пишет:
Arni JQuery - это фреймворк написанный на JS, любую из его функций возможно повторить на чистом JS, и если вы не используете хотя бы до 50% его функционала, то его использование вряд ли можно назвать оправданным.
Как правило использую на всю катушку. И неоднократно убеждался, что попытки нагородить свои мемуары на js приводят к куда более большим временным затратам, тормозам, глюкам и весу.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.