| |
|
|
| | Подскажите как это можно сделать ?
на примере для ХТТП протокола :
<?php
set_time_limit(0);
$host = "space14.nash.net.ua:2121";
$path = "/36/14082/faceless.avi";
if ( !$buffer = getdata($host, $path) ) {
exit("Ошибка");
// функция получения страницы с удаленного хоста.
function getdata($host, $path)
{
$buffer = true;
$fp = @fsockopen("tcp://".$host, 80, $errno, $errstr, 10);
if (!$fp) {
return false;
} else {
$out = "GET $path HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Referer: $host$path\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n";
$out .= "Connection: Close\r\n";
$out .= "\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$buffer .= fgets($fp, 1024);
}
fclose($fp);
}
return $buffer;
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: dima2207
(14.02.2008 в 04:52)
| | | Если вы хотите закачать файл с FTP зачем вас сокет и HTTP, используйте функции для работы с FTP | |
| |
|
|
| |
|
|
| |
для: mihdan
(14.02.2008 в 10:51)
| | | он сказал что код этот "на примере ХТТП"
что то мне подсказывает, что в случае с ФТП будет не один шаг "запрос-ответ"
если не устраивают встроенные ф-ции работы с ФТП, а требуется именно через сокеты, то придется нарыть словарь команд для общения по фтп
типа открываешь сокет, пишешь туда "USER vasya", читаешь ответ "Password required for user vasya", пишешь "PASS myBIGpassword" и т.д... | |
| |
|
|
| |
|
|
| |
для: dima2207
(14.02.2008 в 04:52)
| | | При доступе к FTP следует использовать протокол FTP, а не HTTP.
PS Кстати, у вас порт указан 2121, а вы пытаетесь установить соеднение по 80 порту. | |
| |
|
|
| |
|
|
| |
для: cheops
(14.02.2008 в 13:46)
| | | в переменной $host вообще порта не должно быть, только IP или DNS имя сервера | |
| |
|
|
| |
|
|
| |
для: mechanic
(14.02.2008 в 15:08)
| | | Я просто уже и незнаю что делать .
Почему в браузере нормально открывает страницу , а из скрипта нехочет :
<?php
// Определяем переменные
$host='ftp://space14.nash.net.ua';
$connect = ftp_connect($host,'2121','80');
if(!$connect)
{
echo("Ошибка соединения");
exit;
}
else
{
echo("Соединение установлено");
}
?>
|
Warning: ftp_connect() [function.ftp-connect]: php_network_getaddresses: getaddrinfo failed: Этот хост неизвестен. in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\cron1.php on line 5
Ошибка соединения | |
| |
|
|
| |
|
|
| |
для: dima2207
(14.02.2008 в 23:14)
| | | В хосте не нужен префикс "ftp://" | |
| |
|
|
| |
|
|
| |
для: Unkind
(14.02.2008 в 23:49)
| | | Unkind , нет некатит ! итак итак ошибку выдает ! | |
| |
|
|
| |
|
|
| |
для: dima2207
(14.02.2008 в 23:59)
| | | В чем-же ошибка ? | |
| |
|
|
| |
|
|
| |
для: dima2207
(14.02.2008 в 23:59)
| | | > итак итак ошибку выдает !
Да ну? У Вас установлен брандмауэр (firewall)? Выполняются ли другие запросы на удаленные хосты корректно?
<?php
echo gethostbyname('example.com');
?>
|
| |
| |
|
|
| |
|
|
| |
для: dima2207
(14.02.2008 в 23:14)
| | | Проверьте брендмаузер - у меня работает! | |
| |
|
|
| |
|
|
| |
для: mihdan
(15.02.2008 в 01:21)
| | | Ага , спасибо ! Я просто недавно переехал с винды на FreeBSD и пока еще немогу привыкнуть ! | |
| |
|
|
| |
|
|
| |
для: dima2207
(15.02.2008 в 02:30)
| | | Чудеса какието , я уже и фаервол отключил (ipfw flush):
Fatal error: Call to undefined function ftp_connect() in /data/www/apache22/data/cron1.php on line 9
Это-ж как я понимаю встроеная функция !
Куда -ж подевалась функция ?
в пхп.ини у меня прописано - disable_functions =
ничего непонимаю !!!
---------------------------------------------------------------------------------------
Все , разобрался ! расширение не было подключено ! | |
| |
|
|