Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: считать файл с sendspace.com

Сообщения:  [1-3] 

 
 автор: cheops   (04.04.2007 в 12:11)   письмо автору
 
   для: Lstasss   (28.03.2007 в 15:57)
 

Не очень понятно, что вызывает затруднения?

   
 
 автор: Lstasss   (04.04.2007 в 08:25)   письмо автору
 
   для: Lstasss   (28.03.2007 в 15:57)
 

да, жалко, что никто не смог помочь :-(

   
 
 автор: Lstasss   (28.03.2007 в 15:57)   письмо автору
 
 

ситуация: есть таблица в БД с адресами файлов на сервере sendspace.com, адреса имеют вид http://sendspace.com/file/{file_id) (http://sendspace.com/file/v4n9zr, например). файлы после заливки через некоторое время (которого я точно не знаю, к сожалению) с сервера удаляются :-(. а заливаем мы много, и они нам нужны.
задача: написать робота, который будет имитировать скачивание файлов.
что я смог сделать сам:
ссылка на файл генерируется не на http://sendspace.com/, а на файл на моём сервере, который с использованием класса Snoopy получает с сервера страницу со ссылкой на файл. нужно заметить, что ссылка генерируется через JavaScript, так что скачивание по клику осуществить мне не удалось. зато удалось сделать переадресацию через тот же JavaScript на тот же файл на сервере с параметром /my_dir/index.php?link={ссылка_на_файл}, только эта ссылка_на_файл - не просто URL, а <a href="URL">file_name</a> :-(. так что параметр чистится и делается вторая переадресация (уже через PHP напрямую на файл).
В итоге всё выглядит красиво - выбираем ссылку в списке, кликаем и через две-три секунды (пока загрузится страница и выполнится JavaScript) вылетает окошко о сохранении файла. :)
Но как я уже сказал, этого мало, ибо нужно организовать весь процесс автоматически, чтобы робот читал таблицу и по ней скачивал файлы.
вот используемый код:


<?
if(isset($_GET['fileid']))
  {
$fileid $_GET['fileid'];
$filename $_GET['filename'];
include 
'Snoopy.class.php';
    
$snoopy = new Snoopy;

$snoopy->fetch("http://www.sendspace.com/file/$fileid");
$content $snoopy->results;

$content str_replace('<script>document.write(link_dec)</script>''<big><b><script>document.write(link_dec)</script></b></big>-hoi-'$content);

$content str_replace('-hoi-'"<script language='JavaScript'><!-- //
window.location.href = 'http://nepopsisty.net/filemanager/uploads/?link=' + link_dec;
// --></script>"
$content);
$content str_replace("<head>""<head><BASE href='http://sendspace.com'"$content);
print 
substr(trim($content), 0strpos($content'<b><i>send</i>space</b> is the best file transfer and exchange'));
  }
elseif(isset(
$_GET['link']))
  {
$link str_replace('http://sendspace.com/%3Ca%20id=%22downlink%22%20href=%22<a id="downlink" href="''' ,$_GET['link']);
$first =  strpos($link'">') + 2;
$second strpos($link'</a>');
$name substr($link$first$second $first);
$link str_replace('<a id="downlink" href="'''str_replace('">'$name '</a>'''$link));

Header('Location: ' $link);
  }
?>

просмотреть работу можно так: http://nepopsisty.net/filemanager/uploads/?fileid=v4n9zr&filename=Maxima.rar

крон на сервере есть, запускать можно раз в 15 минут.

   

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования