Вход Регистрация
Файл: sys/core/getRemoteFile.php
Строк: 37
<?php

/**
 * @author PHP
 * @copyright 2015
 * функция может получать контент,
 * с отключеным url_fopen, и без библиотеки cURL
 */
 
function getRemoteFile($url)
{
    
// получаем имя хоста и путь
   
$parsedUrl parse_url($url);
    
$host $parsedUrl['host'];
    if (isset(
$parsedUrl['path'])) {
        
$path $parsedUrl['path'];
    } else {
        
$path '/';
    }

    if (isset(
$parsedUrl['query'])) {
        
$path .= '?' $parsedUrl['query'];
    }

    if (isset(
$parsedUrl['port'])) {
        
$port $parsedUrl['port'];
    } else {
        
// наиболее вероятный 80 порт
      
$port '80';
    }

    
$timeout 10;
    
$response '';

   
// Коннектимся к удаленному серверу
   
$fp = @fsockopen($host'80'$errno$errstr$timeout);

    if (!
$fp) {
        die(
"Не удалось получить $url");
    } else {
        
// отправляем заголовки
      
fputs($fp"GET $path HTTP/1.0rn" .
                 
"Host: $hostrn.
                 
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3rn" .
                 
"Accept: */*rn" .
                 
"Accept-Language: en-us,en;q=0.5rn" .
                 
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7rn" .
                 
"Keep-Alive: 300rn" .
                 
"Connection: keep-alivern" .
                 
"Referer: http://$hostrnrn");

      
// получаем ответ от удаленного сервера
      
while ($line fread($fp4096)) {
          
$response .= $line;
      }

        
fclose($fp);

      
// удаляем заголовки
      
$pos      strpos($response"rnrn");
        
$response substr($response$pos 4);
    }

   
// возвращаем контент
   
return $response;
}
Онлайн: 1
Реклама