Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы при открытии файла, Использование fopen, fread 
:(
    Опции темы
dimcat
Дата 7.3.2008, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 15.5.2007

Репутация: нет
Всего: нет



Цитата

человек явно не заинтересован чтоб ему помогали, я считаю нужно закрыть тему 


Это вы каким образом пришли к столь однозначному умозаключению?))))

Цитата

думаю что проблема всетаки в его скрипте 


Ну какая проблема может быть в скрипте? Попробуйте отдельно взять подключаемый файл - он же работает без проблем...

http://hotelsandtours.ru/events/hopy2.php

Сюда поключаем: http://hotelsandtours.ru/events/inc.php - дословный код:
Код

<?
$file = fopen("http://hotelsandtours.ru/events/hopy2.php","r");
$buf=fread($file, 3000000);
fclose($file);
echo $buf;
?>


Главный вопрос: Если файл сам по себе работает, то почему он не работает при чтении?
PM MAIL   Вверх
Feldmarschall
Дата 7.3.2008, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



dimcat, твоя логика здесь не работает. Откровенно говоря, её здесь вообще нет.
Из того, что отдельно подключаемый работает, не следует, что проблема не в нем.

У тебя, собственно, выбор-то небольшой.
Или согласиться, что проблема в скрипте, и заняться его отладкой.
Или продолжать спорить на форуме. 
Но последнее не сильно тебе поможет в решении проблемы.

PM   Вверх
MoLeX
Дата 7.3.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



dimcat потести вариант 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
awers
Дата 7.3.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



если нужно получить просто данные можно и curl использовать... 
PM MAIL WWW ICQ Skype   Вверх
MoLeX
Дата 7.3.2008, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



вылаживаю скрипт, не знаю возможно даже и не пригодится... так на всякий случай...
Код

<?php
class StealText
{
    public function UrlGetContents($url, $timeout = 5)
    {
        $url_parsed = parse_url($url);
        $host = $url_parsed["host"];
    
        if ($url == "" || $host == "") 
        {
            return false;
        }
    
        $hostName = gethostbyname($host);
        $ip = ip2long($hostName);
           
        if ($ip === -1 || $ip === false) 
        {
            return false;
        }
            
        $port = ($url_parsed["port"] == 0 ? 80 : $url_parsed["port"]);
        $path = (empty($url_parsed["path"]) ? "/" : $url_parsed["path"]);
        $path.= (!empty($url_parsed["query"]) ? "?".$url_parsed["query"] : "");
        $out = "GET ".$path." HTTP/1.0\r\nHost: ".$host."\r\nConnection: Close\r\n\r\n";
        $fp = fsockopen($host, $port, $errno, $errstr, intval($timeout));
            
        if (!$fp) 
        {
            return false;
        }
               
        stream_set_timeout($fp, intval($timeout));
        fwrite($fp, $out);
    
        $headers = "";
        $content = "";
        $buf = "";
        $isBody = false;
            
        while (!feof($fp)) 
        {
            $buf = fgets($fp, 1024);
            
            if ($isBody) 
            {
                $content .= $buf;
            } 
            else    
            {
                $headers .= $buf;
            }
                    
            if ($buf == "\r\n") 
            {
                $isBody = true;
            }
        }
               
        preg_match("#HTTP/1.[0-9]{1}\s+([0-9]{3}).*#is", $headers, $match);
        fclose($fp);
        if($match[1] != 200) 
        {
            return false;
        }
               
        return array("headers" => $headers, "body" => $content);
    }
    
    public function ErrorUrl()
    {
        echo "Хм, урл какой то кривой однако.";
    }
    
    public function PrintContents($msg, $Value)
    {
        if($Value == "true")
        {
            echo $msg.str_repeat("<br>", 3)."\n";
        }
    }
    
    public function PrintHeaders($msg, $Value)
    {
        if($Value == "true")
        {
            echo $msg;
        }
    }        
}



$go = new StealText();

if (($HTML = $go->UrlGetContents("http://hotelsandtours.ru/events/hopy2.php")) === false) 
{
    $go->ErrorUrl();

else 
{
    $go->PrintHeaders($HTML["headers"], true);
    $go->PrintContents($HTML["body"], true);
}
?>


если не работает, значит у твоего хостера запрещены сокеты


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
dimcat
Дата 7.3.2008, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 15.5.2007

Репутация: нет
Всего: нет



MoLeX, спасибо огромное... Пусть не универсальное решение, но хотя бы могу предложить тем у кого сокеты не отключены. Кстати, эту настройку делает только сам хостер или есть пользовательские возможности?
PM MAIL   Вверх
mishaSL
Дата 7.3.2008, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Цитата(dimcat @  7.3.2008,  17:12 Найти цитируемый пост)
Кстати, эту настройку делает только сам хостер или есть пользовательские возможности? 

Если у вас нет доступа в php.ini то только хостер.

Вот вариант для cUrl


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
MoLeX
Дата 10.3.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(dimcat @  7.3.2008,  17:12 Найти цитируемый пост)
но хотя бы могу предложить тем у кого сокеты не отключены.

они отключены в основном тока у бесплатных хостеров и то не у всех, из 5-ти халявных хостингов (котороыми пользуюсь для разных тестов), сокеты отключены тока у одного, и еще у одного подключают по просьбе (типо если он действительно тебе нужен)...


Цитата(dimcat @  7.3.2008,  17:12 Найти цитируемый пост)
Пусть не универсальное решение

хм, а что в твоем виде - универсальное должно быть? 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0678 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.