Bu kolay bir olmalı, diye düşünüyorum. Ben bir paginated resim galerisi var, ve her bir görüntünün altında "Zorunlu indirin" diyor küçük bir bağlantıdır. Bu, insanların hızlı bir şekilde bilgisayarınıza (PHP oluşturulan filigran ile). Jpg dosyasını indirmek için izin vermelidir.
Şimdi, ben sadece. Jpg dosyasına düz bağlantı biliyorum, ama bu doğru ben "Zorunlu indirin" istiyorum, yerine, Save As ... vb tıklayın, yeni bir pencerede aç imaja sahip kullanıcı gerektirir hemen dosya yüklemeyi başlatmak için bağlantı.
PHP.net readfile () kullanarak önermek gibiydi, böylece her "Zorunlu indirin" link "? Indir = true & g = {$ gallery} & i = {$ image}" olarak yankılandı ediliyor.
Sonra sayfanın üstünde görmeyi yakalamak eğer $ _GET ['download'] var isset, ve eğer öyleyse, ben aşağıdaki kodu çalıştırın:
if(isset($_GET['download'])) {
$gallery = $_GET['g'];
$image = $_GET['i'];
$file = "../watermark.php?src={$gallery}/images/{$image}";
header('Content-Description: File Transfer');
header('Content-Type: application/jpeg');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: public');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
}
Bağlantı lonnnnnnnnng zaman alır, ve sonra bu dosyayı açmak veya kaydetmek isteyen bir iletişim istemi getirir, ama kaydedin ve açmayı deneyin bir kez, o dosya bozuk ve açılamaz diyor.
Herhangi bir fikir?