Автор оригинала: SelenIT
Это не так. [m]fopen[/m] делает немного другое. Но узнать размер файла через HTTP она действительно не поможет, поскольку в HTTP нет понятия "файл".
а HTTP headers fopen может дать?
-~{}~ 25.03.05 20:17:
От блин, спецами еще называетесь. Экскаваторы с лопатами, я нашел яму, которая присыпана листьями, справился веником.
Типа использовать fopen/fsockopen, это же вам не перл, ПХП. В нем уже заложены такие функции как curl_
Короче я посмотрел тут ваш форум и не нашел ни одной решенной проблемы до конца. Вы только косточки друг другу промываете…
А вот решение моей проблемы. Кому надо пользуйтесь, мне не жалко
<?php
$ch = curl_init(); // create cURL handle (ch)
if (!$ch) {
die("Couldn't initialize a cURL handle");
}
// set some cURL options
$ret = curl_setopt($ch, CURLOPT_URL, "ftp://ftp.tm.odessa.ua/pub/Windows/Office/OpenOffice/OOo_1.1beta_Win32Intel_install.zip");
$ret = curl_setopt($ch, CURLOPT_HEADER, 1);
$ret = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
$ret = curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
$ret = curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$ret = curl_setopt($ch, CURLOPT_NOBODY, 1);
// execute
$ret = curl_exec($ch);
if (empty($ret)) {
// some kind of an error happened
die(curl_error($ch));
curl_close($ch); // close cURL handler
} else {
$info = curl_getinfo($ch);
curl_close($ch); // close cURL handler
if (empty($info['http_code'])) {
die("No HTTP code was returned");
} else {
// load the HTTP codes
// $http_codes = parse_ini_file("path/to/the/ini/file/I/pasted/above");
// echo results
echo "The server responded: <br />";
echo $info['http_code'] . " " . $http_codes[$info['http_code']];
}
}
?>