AKB Forums

Go Back   AKB Forums > Technical sections > Languages, Compilers and Interpreters > Web Development
Home Register Blogs FAQ Members List Calendar Downloads Arcade Mark Forums Read

Web Development Java/PHP/Perl/ASP and more

Troubles when posting message? Click here! :: Проблемы с отправлением сообщения? Нажмите сюда!

Reply
 
LinkBack Thread Tools Display Modes
Old Oct 29, 2003, 09:48   #1
Вечный Студент
 
Leo's Avatar
 
Join Date: Oct 2003
Location: Armenia
Posts: 69
Rep Power: 0
Reputation: 10
Send a message via ICQ to Leo
Head tag in download.php

U menya na saiyte imeetsya fail download.php dlya skachvaniya failov. (Ex. download.php?filename="foo.ext")
Problema:
kak osushestvit' vozmojnost' dokachki failov?
Spasibo.
Leo is offline   Reply With Quote Quote selected
Old Oct 29, 2003, 09:58   #2
Moderator
 
Join Date: Mar 2002
Location: Ukraine
Posts: 123
Rep Power: 7
Reputation: 10
Покажи код download.php
__________________
Життя - це не тільки будні © Nemiroff
hayk is offline   Reply With Quote Quote selected
Old Oct 29, 2003, 10:18   #3
¡no pasaran!
 
dolphin's Avatar
 
Join Date: Mar 2002
Location: localhost
Posts: 538
Rep Power: 7
Reputation: 23
Send a message via ICQ to dolphin
gy.. chitaj specifikaciju HTTP i http://am.php.net/get_all_headers

nu dal'she fseek() i vse takoe....

a zachem fignej stradat'-to.. pust' oni srazu file kachajut, zachem ty ego cherez php propuskaesh'?
__________________
[ que fors aus ne le sot riens nee ]
dolphin is offline   Reply With Quote Quote selected
Old Oct 29, 2003, 10:20   #4
Вечный Студент
 
Leo's Avatar
 
Join Date: Oct 2003
Location: Armenia
Posts: 69
Rep Power: 0
Reputation: 10
Send a message via ICQ to Leo
Quote:
Originally posted by hayk
Покажи код download.php
PHP Code:
$f=fopen($filename,"rb");
header("Content-type: x-audio/mp3");
header("Content-Disposition: attachment; filename=$filename");
fpassthru($f);
fclose($f); 
Leo is offline   Reply With Quote Quote selected
Old Oct 29, 2003, 10:23   #5
Вечный Студент
 
Leo's Avatar
 
Join Date: Oct 2003
Location: Armenia
Posts: 69
Rep Power: 0
Reputation: 10
Send a message via ICQ to Leo
->Dolphine
Mne nado tam statistiku vesti.

->All
Kstati srazu eshyo vopros:
Mojno li uznat' chto user skachal fail (ya imeeyu vvidu kon'chil DL)
10x.
Leo is offline   Reply With Quote Quote selected
Old Oct 29, 2003, 10:30   #6
¡no pasaran!
 
dolphin's Avatar
 
Join Date: Mar 2002
Location: localhost
Posts: 538
Rep Power: 7
Reputation: 23
Send a message via ICQ to dolphin
ne znaju.. vrjad-li.. IMHO zavisit ot nastroek http servera, bufferinga tam vsjakogo... timeoutov..

esli webserver svoevremenno prekratit rabotu skripta + budut poslany esche ne vse dannye, to est' shans uznat' ob etom s pomoschju register_shutdown_function()
__________________
[ que fors aus ne le sot riens nee ]
dolphin is offline   Reply With Quote Quote selected
Old Oct 29, 2003, 10:51   #7
Moderator
 
Join Date: Mar 2002
Location: Ukraine
Posts: 123
Rep Power: 7
Reputation: 10
Leo
1. Посмотри этот скрипт - http://www.phpclasses.org/browse.html/package/1134.html

2. Если ты хочешь просто собирать статистику, то лучше сделать так:
PHP Code:
update_stat();
header('Location : ' $filename); 
3. Посмотри ф-цию connection_status() - она возвращает текущий статус. В твоем скрипте, если после fpassthru($f); она вернет NORMAL - то файл нормально скачался.
__________________
Життя - це не тільки будні © Nemiroff
hayk is offline   Reply With Quote Quote selected
Old Oct 29, 2003, 11:50   #8
Вечный Студент
 
Leo's Avatar
 
Join Date: Oct 2003
Location: Armenia
Posts: 69
Rep Power: 0
Reputation: 10
Send a message via ICQ to Leo
Vot vse chto tam bylo poleznogo....
PHP Code:
    header ("HTTP/1.1 200 OK");
        
header ("Date: " $this->getGMTDateTime ());
        
header ("X-Powered-By: PHP/" phpversion());
        
header (HDR_X_SCRIPT);
        
header ("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
        
header ("Last-Modified: " $this->getGMTDateTime ($this->fileTime) );
        
header ("Cache-Control: None");
        
header ("Pragma: no-cache");
        
header ("Accept-Ranges: bytes");
        
header ("Content-Disposition: " $this->httpContentDisposition "; filename=\"" $this->fileName "\"");
        
header ("Content-Type: " $this->httpContentType);
        if (
$this->httpContentDescription)
            
header ("Content-Description: " $this->httpContentDescription );
        
header ("Content-Length: " $this->contentSize);
        
header ("Proxy-Connection: close");
        
header (""); 
Na skol'ko ya ponyal nado dobavit'

header ("Accept-Ranges: bytes");

No tak ya proboval paru dnej nazad; NE POMOGLO
Leo is offline   Reply With Quote Quote selected
Old Oct 29, 2003, 12:24   #9
Moderator
 
Join Date: Mar 2002
Location: Ukraine
Posts: 123
Rep Power: 7
Reputation: 10
Cмотри внимательней. Класс все делает сам. Анализируется http запрос и в зависимоти от него формируется тот (http200) или иной (http206) заголовок.
__________________
Життя - це не тільки будні © Nemiroff
hayk is offline   Reply With Quote Quote selected
Old Oct 29, 2003, 22:09   #10
ЙЦУКЕН
 
Join Date: Jul 2002
Location: 0x68,0x69,0x72, 0x69,0x6e,0x67, 0x20,0x6e,0x6f, 0x77
Posts: 3,114
Rep Power: 7
Reputation: 10
Send a message via ICQ to nm
йо!
1. для статистики анализируй лог файл сервера ....
я почти не поверю что тебе нужно ее иметь в реалтайме ... а обрабатывать докачку и обеспечивать крутую производительность - вебсервер умеет на порядок лучше любого твоего скрипта :) можно ваще отдельный шустрый, маленький вебсервер поставить дна другом порту именно для скачивания - thttpd скажем ;)

2. извращенство, но самый быстрый способ заставить работать :)
делаешь отдельную директорию, которая доступна через хттп, даешь доступ к ней только с локалхоста и потом просто все заголовки/запросы, которые приходят к тебе пробрасываешь в виде запроса к вебсерверу .... ответы отдаешь обратно клиенту (все-все-все, заголовки и данные, которые тебе отдаст вебсервер). но. создаешь двойную загрузку на вебсервер.

3. читаешь спецификацию http и либо реализуешь сам докачку, либо находишь скрипт, который это делает. если по-английски не воспринимаешь тексты, то скорми рфси какому-нить промпту :)
nm is offline   Reply With Quote Quote selected
Old Oct 30, 2003, 13:18   #11
Вечный Студент
 
Leo's Avatar
 
Join Date: Oct 2003
Location: Armenia
Posts: 69
Rep Power: 0
Reputation: 10
Send a message via ICQ to Leo
Basta

Vse.
Vsem spasibo!!! Done.
Leo is offline   Reply With Quote Quote selected
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 11:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
This board was founded on September 29, 2001
Powered by Viper Internet

Affordable Web Hosting | ParevNet

Buy text link