Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Remote download pomocu header();

[es] :: PHP :: Remote download pomocu header();

[ Pregleda: 2137 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ColdKeyboard
Sasa Karanovic
Hardware and Firmware Engineer
Toronto, Canada

Član broj: 31924
Poruke: 868
*.teol.net.

Jabber: ColdKeyboard
Sajt: www.SasaKaranovic.com


+11 Profil

icon Remote download pomocu header();28.10.2007. u 00:27 - pre 200 meseci
Potrebna mi je mala pomoc oko skriptice...

Naime postoje dva servera server.com i download.server.com koji su 2 razlicite masine.

U skripti treba da preko header-a downloadujem fajl (.mp3).

$fajl je ustvari putanja do fajla koja izgleda htt://download.server.com/muzika/nekifajl.mp3

E sada treba da uradim citanje sa tog servera, odredim filesize i posaljem fajl...

Evo nesto sto sam pokusao da prepravim i za ovo znam da sigurno ne radi :)

Ako moze pomoc...

Code:

$ime = isset($_GET['ime']) ? $_GET['ime'] : '';
$fajl = isset($_GET['fajl']) ? $_GET['fajl'] : '';

        header('Pragma: anytextexeptno-cache', true);
        header("Content-Type: audio/mpeg");
        header('Content-Transfer-Encoding: Binary');
        //header('Content-length: '.filesize($fajl));
        header("Content-Type: application/force-download");
        header("Content-Disposition: inline; filename=$ime");
        $stvarka = fopen($fajl, 'r');
        echo file_get_contents($stvarka);

 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
91.150.106.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Remote download pomocu header();28.10.2007. u 01:03 - pre 200 meseci
Ovako na brzinu:

1) header('Pragma: anytextexeptno-cache', true); zameni sa header('Pragma: no-cache');
2) ili izbaci $stvarka = fopen($fajl, 'r'); ili echo file_get_contents($stvarka); - odnosno odluči se da li ćeš fajl čitati preko fopen ili preko file_get_contents (i pogledaj manual za opis funkcije za koju se odlučiš)
2.1) u oba slučaja će allow_fopen_url morati da ti bude postaljeno na "On" na serveru
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

ColdKeyboard
Sasa Karanovic
Hardware and Firmware Engineer
Toronto, Canada

Član broj: 31924
Poruke: 868
*.teol.net.

Jabber: ColdKeyboard
Sajt: www.SasaKaranovic.com


+11 Profil

icon Re: Remote download pomocu header();02.11.2007. u 18:06 - pre 200 meseci
Evo sada radi download, ali naravno filesize je nepoznat a fajl, tj. pjesmu koju skinem je neupotrebljiva...

Velicina je 2x veca nego sto bi trebala da bude..

Jel moze pomoc sta kako da radim ?


$fajl = /muzika/06 - AFI - Decemberunderground - Love Like Winter.mp3
$ime = AFI - Decemberunderground

Code:

        header('Pragma: no-cache');
        header("Content-Type: audio/mpeg");
        header('Content-Transfer-Encoding: Binary');
        header("Content-Type: application/force-download");
        header("Content-Disposition: inline; filename=$ime");


    $fajl = str_replace("download.mrdnise.com", "", $fajl);


    $fp = fsockopen("download.mrdnise.com", 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
        $out .= "GET $fajl HTTP/1.1\r\n";
        $out .= "Host: download.mrdnise.com\r\n";
        $out .= "Accept: */*\r\n";
        $out .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9\r\n";
        $out .= "Connection: Close\r\n\r\n";
    
        fwrite($fp, $out);
        while (!feof($fp)) {
            echo file_get_contents($fp);
        }
    }


 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
212.200.213.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Remote download pomocu header();02.11.2007. u 18:48 - pre 200 meseci
Au... pa što komplikuješ toliko? Ne možeš sa file_get_contents da vadiš sadržaj fajla tako jer ta funkcija prima putanju do fajla, a ne pokazivač na fajl ($fp).

Dovoljno je da pošalješ hedere i posle toga:
Code:
echo file_get_contents('http://download.mrdnise.com/'.$fajl);

Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

[es] :: PHP :: Remote download pomocu header();

[ Pregleda: 2137 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.