Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 752
от 29.08.2007, 17:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 435, Экспертов: 54
В номере:Вопросов: 1, Ответов: 2


Вопрос № 99448: Всем привет! У меня вопросик появился. Точнее три. Вы уж простите, что, возможно не совсем, может быть, по теме данного раздела русфака, но все же. Первый связан с правами доступа к файлам и папкам. Конкретней. У меня на km.ru имеется сайт. Ну и ...

Вопрос № 99.448
Всем привет!
У меня вопросик появился. Точнее три. Вы уж простите, что, возможно не совсем, может быть, по теме данного раздела русфака, но все же. Первый связан с правами доступа к файлам и папкам. Конкретней. У меня на km.ru имеется сайт. Ну и на некоторых страницах имеется РНР-скрипты - счетчики. Все работает. Однако как-то раз я обнаружил, что один из моих счетчиков не работает. Странно. Год нормально работал, а тут... Начал разбираться. Оказалось, что у файла, в который записывается результат счетчика, поменялся chmod. И у папки, в которой располагался счетчик. Ну я обратно выставил нужные мне значения. Через несколько месяцев ситуация повторилась. Вопрос: от чего это происходит. Это глюк хостинга, или я что-то не понимаю и не то делаю?
Вопрос второй. Я на своем сайте предоставляю места под ссылки. Участвую в системе sape.ru. Недавно узнал еще об одной подобной системе XAP.RU. Решил поучаствовать и в ней. Для участия в ней надо выполнить следующее:
==========================
1. Скачайте к себе на компьютер этот zip-архив
2. Распакуйте архив. Внутри архива будет лежать папка cache. Название папки ОБЯЗАТЕЛЬНО поменяйте на что-то длинное - минимум 12 символов - и сложное (даже система не будет знать ее адрес), изменив /cache/ в php-коде
3. Скопируйте эту папку к себе на сайт. Положите ее в корень вашего сайта.
4. Выставите права доступа 777 на эту папку (но не на файл tnx.php).
5. Вставьте на все страницы сайта следующий код, предварительно указав там правильное название папки (после установки кода на страницах будет пустое место, ссылки появятся только после их продажи и генерации):
<?php
//<div style=""font-size:" 16px;">Eсли вы видите эту строку в браузере, значит у вас в месте установки кода не исполняется php, уточните у разработчика или хостера, куда можно вставить php-код</div>
/*ОШИБКА<!--*/

$cache_dir = '/cache/'; // здесь ОБЯЗАТЕЛЬНО укажите свое название папки вместо cache, минимум 12 символов!

include_once($_SERVER['DOCUMENT_ROOT'] . $cache_dir . 'tnx.php');
$tnx = new TNX_n('mylog', $cache_dir); // ваш логин в системе
echo $tnx->show_link(1); // выводим первую ссылку
echo $tnx->show_link(1); // выводим вторую ссылку, желательно в другом месте страницы, ниже
echo $tnx->show_link(1); // выводим третью ссылку, желательно в другом месте страницы, ниже
echo $tnx->show_link(); // выводим оставшиеся, желательно в другом месте страницы, ниже
/*-->*/
?>
==========================
В общем, все понятно. Подобную операцию и для участия в SAPE.RU проделывал. Скачал архив, распоковал, закинул, предварительно переименовав папку cache, на сервер сайта. Поставил я и код на свой сайт. Загрузил в браузере страничку сайта. Однако вместо ссылок вывелась запись:
2007-08-19 23:40:23 - Ошибка, fsockopen не поддерживается, попросите хостера включить внешние коннекты или попробуйте CURL
У меня к Вам вопрос: что это за ошибка такая, и как от нее избавится? Обращался в тех.поддержку хостинга с этим, но от туда тишина.
Ну и третий вопрос. Как уже выше писал, у меня сайте имеются счетчики закачки файлов написанные на РНР. Не буду их описывать, так как это не важно. А важно то, что для закачки файла я использую РНР-функцию Header("Location: INSTALL.EXE"). На сервере сайта она прекрасно работает. Я же для тестирования сайта при его корректировки использую так называемый Джентльменский набор Web-разработчика "Денвер". Думаю, многие о нем слышали. Так вот, этот домашний сервер ругается на Header("Location: INSTALL.EXE"):
==================
Warning: Cannot modify header information - headers already sent by (output started at z:homemysite.ruwww 001load.php:2) in z:homemysite.ruwww 001load.php on line 20
==================
Можно ли икак его избавить от этой привычки и заставить скачивать файл?
Отправлен: 23.08.2007, 21:09
Вопрос задал: Бурда Александр Михайлович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Nexus
Здравствуйте, Бурда Александр Михайлович!

1) это может быть связано с профилактическими работами на сервере, или чем-то еще. Т.е. к вашему скрипту никакого отношения не имеет - все вопросы к хостеру

2) на сервере запрещена ф-ция fsockopen(), довольно распространенная ситуация, и, на самом деле, вряд ли хостер вам ее разрешит. На счет CURL'а - я так понял у ХАРа есть какой-то альтернативный режим работы - пробуйте его, но это нужно ман по их модулю

3) HTTP-заголовки должны отсылаться до первой передачи данных браузеру. судя по сообщению вы на 2й строке файла load.php выводите что-то браузеру, а после этого на 20й пытаетесь менять http-заголовки. на сервере сообщение об ошибке может не выдаваться из-за того что отключены варнинги
Ответ отправил: Nexus (статус: 9-ый класс)
Ответ отправлен: 23.08.2007, 21:32
Оценка за ответ: 5
Комментарий оценки:
Спасибо!

Отвечает: Azrr
Здравствуйте, Бурда Александр Михайлович!
1. Ваша проблем достаточно просто решается, если у вас есть соответствующие права(вернее у apache'a). Перед записью в файл вы можите выставить его права функцией chmod ("/somedir/somefile", 0777);
2. Это означает, что скрипт лезет в сеть через сокеты, а ваш хостер этого не разрешает, вам нужно либо попросить хостера включить сокеты(что маловероятно), либо как там написано воспользоваться CURL
3. Вы не должны выводить ничего в браузер, до функции HEADER(), оптимально она должна идти первой.
Ответ отправил: Azrr (статус: 3-ий класс)
Ответ отправлен: 24.08.2007, 02:28
Оценка за ответ: 5
Комментарий оценки:
Спасибо!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.57 от 25.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное