bağlantısını gizli indir

5 Cevap php

Ben bir dükkan sistemi üzerinde çalışıyorum ve aşağıdaki linki http://cmstutorials.org/shop/downloads/2793156879 var (orijinal bağlantı cmstutorials olduğunu. Org / shop / downloads.php? = 2793156879 indir)

ne yapmak için çalışıyorum kullanıcı dosyaya gerçek bağlantı gösteren withouth id 2793156879 ile eşleşen öğeyi karşıdan bildirin. Onlar themeforest.net üzerinde var gibi

Ben bunu nasıl yaparım?

5 Cevap

wooohoooo

D: çok teşekkürler çocuklar, bu site kuralları her zaman doğru cevabı almak

Ben header.php üzerinde bu yapıştırılan include ob_start( );

ve hemen önce başlık fonksiyonlar ob_ get_clean();

(: doğru görüntülemek istiyorsunuz ben den önce bir boşluk ekledik ikinci fonksiyonu için, u kullandığınız zaman kaldırmak unutmayın notu) insanlar için yararlı olabilir

Bu örnek size yardımcı olacaktır:

$len = filesize($filename);
header("Content-type: image/jpeg");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=\"$new_filename\"");
readfile($filename);

ya da başka bir, benim için basit görünüyor:

<?php
header('Content-type: image/jpeg');
$f = file_get_contents('path/to/image.jpg');
print $f;
?>

PS tabii ki, content-type dosyanıza uygun olmalıdır.

header (), aksi takdirde bu hata atmak olacaktır, herhangi bir gerçek çıktı (echo) gönderilmeden önce çağrılması gerekir.

http://www.w3schools.com/php/func%5Fhttp%5Fheader.asp: "Örnek 2" bakın

Hiç bu hizmeti denemek ve ölçek için gidiyoruz eğer, ben perlbal bir göz alarak öneririz. Öyle düzgün hileler biri app statik bir dosya başka bir sunucu bazı hizmet etmek perlbal söyleyen özel bir başlık göndermek olabilir. Bu şekilde bir istemci aşağı bit iterek bir PHP iplik bağlamak gerekmez.

İçeriğin Tamam, ama başka bir çözüm PATH_INFO kullanarak ve dosyayı bu şekilde almak olacaktır:

http://example.com/download.php/2793156879.zip

Sizin download.php gibi olacak

// handle path_info
$filename=$_SERVER['PATH_INFO']; // gets "/2793156879.zip" as $filename

// do smtg w/ $filename...
// ...

// download 
$len = filesize($filename);
header("Content-type: application/force-download");
header("Content-Length: $len");
readfile($filename);

Not: application / force-indirme orada olduğunu her tarayıcı ile indirme zorlamak için sadece var, orada değil. (Bazı MSIEs application / octet-stream ile sorun olmuş gibi görünüyor)

Hatta çok eski olanlar, destek değil "Content-Disposition:" başlığı Bu yaklaşım, tüm tarayıcılar ile çalışma avantajına sahiptir.

Bu PATH_INFO'yu dizeden () Ürün kodu kendiniz substr zorunda küçük dezavantajı vardır