scandal
Новичок
Можно как-то определить, не скачав файл, что в нем контент?
Доброе утро!
Можно как-то определить, не скачав файл, что в нем текст? Так как не нужно скачивать по ссылке, если там картинка, прога, архив и прочее. Нужно скачивать, только в случае, если это вебстраница.
Для скачивания я использую следующую функцию:
а еще в инете нашел вот такой кусок:
Можно ли как-то использовав то, что в этом куске, переделать функцию get_content для решения моей задачки?
Только не посылайте, пожалуйста, читать RFC2616 - Hypertext Transfer Protocol. Вряд ли я на такое способен.
Доброе утро!
Можно как-то определить, не скачав файл, что в нем текст? Так как не нужно скачивать по ссылке, если там картинка, прога, архив и прочее. Нужно скачивать, только в случае, если это вебстраница.
Для скачивания я использую следующую функцию:
PHP:
function get_content($hostname, $path)
{
$line = "";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
$headers = "GET $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Connection: Close\r\n\r\n";
fwrite($fp, $headers);
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
return $line;
}
PHP:
<?php
// preconditions
$port = 80 | 443
$host = "www.example.com";
$method = "POST" | "GET";
$contenttype = "text/html" | "text/plain" | "text/xml" | ...;
$data = "<something>";
// script
if($port == 443)
$sslhost = "ssl://".$host;
else
$sslhost = $host;
$fp = fsockopen($sslhost, $port);
fputs($fp, "$method $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Content-type: $contenttype\r\n");
fputs($fp, "Content-length: ".strlen($data)."\r\n");
fputs($fp, "Connection: close\r\n");
fputs($fp, "\r\n");
?>
Только не посылайте, пожалуйста, читать RFC2616 - Hypertext Transfer Protocol. Вряд ли я на такое способен.