Force DW на снимка от сайт

vaster

Registered
Здравейте, колеги.
Трябва ми примерен работещ код с който като въведа, да речем по най-простия $_GET метод линк към снимка въпросната снимка да изкарва диалог за сваляне (force download). Пробвах с няколко кода от Google, но без успех.
Искам да мога да свалям снимки, като тази например: http://www.bezposrednik.net/thumbs/370/1399632029.jpg/1/

Тази с Chrome излиза не като снимка, а като йероглифи, което е неудобно при сваляне на снимката.

Благодаря, +1 :?:
 
Мисля че функцията force_download() в codeigniter се справяше с картинки:

Това е кода:
https://github.com/EllisLab/CodeIgniter/blob/develop/system/helpers/download_helper.php
 
Нестана за съжаление. Тегли снимката повредена в 0 кб. Пробвай с линка, който ти дадох горе да пробваш да свалиш снимката чрез някой скрипт. Това доста ме затрудни... :/
По принцип това не би било проблем, но отвори снимката със Google Chrome да кажем 1-2 пъти и виж как ще ти се появи не снимка, която да запазиш със дясното копче, а сорс кода на снимката.
 
Така ? (не е тестван)
PHP:
$link = "twoq link";
$filename = substr(md5(time()),0,10);
// Generate the server headers
 header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Expires: 0');
header('Content-Transfer-Encoding: binary');
 ob_clean();
 flush();
readfile($file);
    exit;

Едит: погледни и това - http://www.php.net/manual/en/function.readfile.php#86244
 
Нестава колега. Явно в конкретния случай няма решение с php, или поне никак не е просто. Реших проблема по най-простия начин с html5:
HTML:
<a href="http://www.bezposrednik.net/thumbs/370/1399632029.jpg/1/" download="<?php echo time(); ?>.jpg"><img src="" width="200" /></a>
Чрез този таг "download" можеш да предизвикваш принудително сваляне на файлът, както и да го преименуваш.
 
Все пак трябва да се има предвид, че това няма да работи коректно при IE.

http://www.w3schools.com/tags/att_a_download.asp

The download attribute is supported in Firefox, Opera and Chrome.

Note: The download attribute is not supported in Internet Explorer, Safari or Opera 12 and earlier versions.
 
Първо скрит iframe:
Код:
<iframe id="remoteImage" src="" style="display:none; visibility:hidden;"></iframe>

След това посочваме кой е сорса за iframe:
Код:
$("#remoteImage").attr("src","image.php?option1=apple&option2=orange");

И накрая файла, който ще чете снимката :)
Код:
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename=image.jpg ");
header("Content-Transfer-Encoding: binary");
 

Back
Горе