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

Форум PHP

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

 

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

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

тема: Размер файла на другом сервере и скрытая ссылка

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

 
 автор: cheops   (09.03.2005 в 00:44)   письмо автору
 
   для: JIEXA   (08.03.2005 в 23:55)
 

1) Требуется использовать примерно следующий код
<?php
$hostname 
"www.server_files.ru"//units.ru - имя сервера 
$filename "/files/super_file.zip"// интересующий на сервере 
файл 
get_size
($hostname$filename);
?>

C FTP данный код работать не будет - там другой порядок работы, отличается, порт и протокол, да и к сокетам прибегать нужды нет, так как в PHP имеется собственный набор функций для работы с FTP протоколом. http://www.softtime.ru/group/id_group=8

2) Для этого на странице http://www.my_site.ru/downloads?id=4 следует поставить перенаправление на файл
<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://www.server_files.ru/files/super_file.zip'>
</HEAD></HTML>

   
 
 автор: JIEXA   (08.03.2005 в 23:55)   письмо автору
 
 

1. Мне надо узнавать размер файла на другом
сервере. Я
нашел код в журнале "ХАКЕР":
<?php
$hostname 
"units.ru"//units.ru - имя сервера
$filename "/files/winamp.exe"// интересующий на сервере
файл
get_size
($hostname$filename);

function 
get_size($hostname$filename)
{
    
$end false;
    
$fp fsockopen($hostname80, &$errnr, &$errstr) or
    die(
"$errno:$errstr");
    
fputs($fp"HEAD ".$filename." HTTP/1.0\n\n");
    while (!
$end) {
    
$line fgets($fp2048);
    if(
trim($line) == "") {
    
$end=true;
    } else {
    
$sre explode(": "$line);
    if (
$str[0] == "Content-Length")
    print 
"Size of ".$filename." file ".$str[1]." bytes";
    }
    }
    
fclose($fp);
}
?>

Так как мне из этой функции сделать так, чтобы к примеру
есть ссылка
http://www.server_files.ru/files/super_file.zip
и имея эту ссылку определить размер файла super_file.rar
Я просто хочу сделать чтобы размеры файлов определялись
автоматически.
Учтите расширения файла может быть другим, и протокол может
быть ftp!
Если не трудно, то напишите готовый код.

2. Как сделать чтобы ссылка скачиваемого файла была
http://www.my_site.ru/downloads?id=4 , а по-натоящиму она
была такой
http://www.server_files.ru/files/super_file.zip . Только,
чтобы и в
качалках при скачивании отображалась
http://www.my_site.ru/downloads?id=4 , но скачивался файл
http://www.server_files.ru/files/super_file.zip

У меня есть кусок кода, но его надо дороботать, чтобы он
работал с url
а не с разбитым на куски url:
<?php
$files
=array( 'track01.mp3''escreen.exe');
$filenames=array( 'Thank ABBA for the music.mp3',
'Escreen.exe');
$additional_info=array( 'Various artists - Thanx ABBA for
the music : 4978602 bytes'
'Shareware program to make a
screenshot: 529920 bytes'
);
$url"/home/lemmen/public_html/data/";
/* When the files are on another server, use the
   whole address (http://www.server.com/dir/) in stead of
/home/lemmen... */

$referer=ereg_replace"\?.""",$HTTP_REFERER);
$thisfile"http://$HTTP_HOST$PHP_SELF";

if (
$referer!=$thisfile){
        echo 
"<center><big>Homepage: <a
href=\"http://home.support.nl/~lemmen\">http://home.support.
nl/~lemmen</big><br><hr><br><br></center>"
;
        for (
$i=0;$i<count($files);$i++)
        echo  
"<P><A HREF=\"$PHP_SELF?$i\">",$filenames[$i],
"</A> $additional_info[$i]\n";
}
else {
        
$i=$QUERY_STRING;
        
$total=$url $files[$i];
        
Header "Content-Type: application/octet-stream");
        
Header "Content-Length: ".filesize($total));
        
Header"Content-Disposition: attachment;
filename=
$filenames[$i]");
        
readfile($total);
}
?>

   

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

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

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