Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Нужно пояснение

6.7K
01 июля 2006 года
Ginza9
96 / / 30.06.2006
Есть следующий класс:

Код:
<?
class MailCheck {
var $server;
var $user;
var $pass;
var $port;
var $socket;
var $array;
function  send_and_receive($string) {
    $date=date('d'.'m'.'Y');
    $time=date('H'.'i'.'s');
    fputs($this->socket,"$string\r\n");
    $str=fgets($this->socket, 512);
    if($string=="LIST") {
        $this->array=explode(" ",$str);
}
    $log=fopen("logs/$date-$time.txt","a+");
    fputs($log,$str."\r\n");
}
function dump_msg($msg_id) {
    fputs($this->socket,"RETR $msg_id\r\n");
    $file=fopen("logs/mail.txt","w+");
    $str=fgets($this->socket,1024); интересует работа двух этих строк
    fputs($file,$str);
}
function main() {
    $this->send_and_receive("USER $this->user");
    $this->send_and_receive("PASS $this->pass");
    $this->send_and_receive("STAT");
    $this->send_and_receive("LIST");
    $this->dump_msg(1);
}
}


Так вот. Обратите внимание на те 2 строки. Если оставить так, то в выходном файле mail.txt будет одна строка. Я прекрасно понимаю, что информация считывается неполностью. Но если в данную функцию вставить следующую конструкцию:

 
Код:
while(!feof($this->socket)) {
            $str=fgets($this->socket,512);
            fputs($file,$str);
}


то скрипт повисает, но всю информацию записывает. В файле mail.txt появляется вся инфа о письме. Подозреваю, что ошибка где-то в while(!feof($this->socket))
4
02 июля 2006 года
mike
3.7K / / 01.10.2002
А где инициализируется переменная $socket ??
6.7K
02 июля 2006 года
Ginza9
96 / / 30.06.2006
Переменную $socket я инициализирую из другого сценария.
$obj=new имя_класса;
$obj->socket=fsockopen($obj->server=$server,$obj->port=110);
6.7K
06 июля 2006 года
Ginza9
96 / / 30.06.2006
Кто-нибудь поможет?:)
[color="red"]Не нужно поднимать темы[/color]
6.7K
06 июля 2006 года
Ginza9
96 / / 30.06.2006
Ответят мне или нет?
[color="red"]Ещё один выпад и я вынужден буду закрыть тему. Отвечать не кто не обязан, это дело добровольное[/color]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог