#1 2015-01-09 19:08:54

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

PHP download pres readfile

Dobrý den,
dnes najednou přestal fungovat můj skript pro řízený download souborů , aniž bych na něm prováděl jakékoliv změny.

Skript má vytvořit header pro download a poslat data ze souboru, který čtu metodou readfile z url, které se nachází na stejné doméně.

Ještě včera vše fungovalo, dnes se skript zasekne na readfile a po vypršení timeoutu se stáhne prázdný soubor. Pokud readfile nahradím echo "test", tak se normálně stáhne textový soubor obsahující slovo "test"


Jaká změna to způsobila a jak to opravit ???

Děkuji za odpověď



Problematický kód jsem zkopíroval do tohoto skriptu:

http://knihovnaneeetest.8u.cz/MyDown_1.php

<?php
    $file_url = "http://knihovnaneeetest.8u.cz/nee/P/Pamuk_Orhan/Jmenuji_se_Cervena.mobi";
    
    header('Content-Type: application/octet-stream');
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 
        
    
    
    ob_clean();
    flush();
    
    //echo $file_url;
    readfile($file_url);
    
exit;
?>

Upravil kristianchytry (2015-01-09 19:21:22)

Offline

#2 2015-01-10 00:05:20

JF
Endora rádce
Místo: ....nice u Plzně
Registrován: 2010-06-22
Příspěvky: 11,876

Re: PHP download pres readfile

Skúšali ste použiť príklad ktorý je uvedený tu http://php.net/readfile ? Nechápem použitie celej url keďže obrázok sa nachádza na rovnakej doméne, tj postačuje zadať len

$file_url = "nee/P/Pamuk_Orhan/Jmenuji_se_Cervena.mobi";

Ján Fačkovec - Endora.cz by Webglobe
Email, Web, Webadmin, Webmail, Nápověda, Ceník

Offline

#3 2015-01-10 06:51:14

kristianchytry
Endora uživatel
Registrován: 2014-09-03
Příspěvky: 23

Re: PHP download pres readfile

Díky za rychlou odpověď, problém se zadáním relativní adresy místo kompletního url vyřešil! :-) SUPER

Pořád to ale nevysvětluje.

1)Proč to do včerejška čtvrt roku fungovalo?
2)Proč to včera přestalo fungovat?

Upravil kristianchytry (2015-01-10 07:04:28)

Offline

#4 2015-01-10 20:07:55

Lkopo
Podpora
Registrován: 2010-02-12
Příspěvky: 1,916
Web

Re: PHP download pres readfile

Nastavenie allow_url_fopen je On na každom serveri, takže by mala fungovať práve táto možnosť.

/e: Mne to funguje:

http://demo.karpiel.sk/readfile/

<?php
$file = 'http://demo.karpiel.sk/readfile/light.jpg';

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Length: ' . filesize($file));
readfile($file);

exit;

Portfólio
E-mail: eduard(at)karpiel.sk

Offline

Zápatí

Založeno na FluxBB | CZ a SK