|
|
|
| Добрый день! Есть вопрос. Необходимо написать скрипт, который будет подключатся к фтп серверу и скачивать первые и последние 64 байта у каждого файла. Все почти готово, кроме одного маленького момента. Каким образом можно скачать первые 64 байта файла, не скачивая при этом его целиком. Для последних 64 байт все просто - есть команда REST, которая устанавливает байт, с которого нужно продолжить скачивание или закачивание файла (REST 1234). А как быть с началом файла? Как вовремя остановить загрузку? | |
|
|
|
|
|
|
|
для: aievengo
(27.01.2012 в 11:11)
| | Вы ведь используете асинхронную загрузку данных с сервера (ftp_nb_fget())? Может просто покинуть цикл, когда будет загружено достаточно данных? | |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 13:27)
| | Я использую конструкцию
$sock = fsockopen(server, port);
fputs($sock, "RETRt\r\n");
$result = fgets($sock1);
По условию нельзя использовать php функции для работы с ftp, только через сокеты. | |
|
|
|
|
|
|
|
для: aievengo
(27.01.2012 в 14:12)
| | может
$result = fread($sock1,64);
? | |
|
|
|
|
|
|
|
для: aievengo
(27.01.2012 в 14:12)
| | Функция fgets() имеет второй необязательный параметр, в котором вы можете указать, сколько байт вы желаете принять. | |
|
|
|
|
|
|
|
для: cheops
(27.01.2012 в 17:32)
| | Большое спасибо. Запнулся на мелочи. | |
|
|
|