2012-01-07 8 views
0

私のサーバーにpictruresのギャラリーがあります。画像は異なる外部サーバーに保存されます。私のサーバー上にサムネイルのみが配置されています。 どのように私は、ユーザーが外部サーバーからの大きな画像ファイルをダウンロードすることができるようにボタンで ""として保存することができます。私はjpgファイルをすべてのブラウザエージェントと異なる外部サーバーからダウンロードできる簡単なPHPスクリプトが必要です。ボタンはHTMLコード内で実装されます。このボタンは、CSSスタイルで構成された通常のリンクです。 それを正しく行う方法。ありがとう。画像ボタン「別名で保存」で外部サーバーからファイルを保存するPHPスクリプト

私は、ファイルのパスが何らかの形でPHPスクリプトに変数パラメータとして送信する必要があることもしたいと思います。私はあなたが写真が自動的にダウンロードされていしようとしている推測してい

+0

理由だけではなく、オリジナルのフルサイズの画像にユーザをリンクしていませんか? – Kenaniah

+0

私はそのユーザーにファイルのURLアドレスを見せたくないためです。 – kassprek

答えて

1

は(あなたは、ファイルを保存する場所]ダイアログボックスが求めるポップアップ表示します)。

php header function to force download

を使用して、このサイト上の偉大なチュートリアルでは、それをチェックアウトがあります:私は、次のPHPスクリプト

<?PHP 
// Define the path to file 
$file = $_GET['file']; 
$name = basename ($file); 
if(!file) 
{ 
// File doesn't exist, output error 
die('file not found'); 
} 
else 
{ 
// Set headers 
header("Cache-Control: public"); 
header("Content-Description: File Transfer"); 
header("Content-Disposition: attachment; filename=$name"); 
header("Content-Type: image/jpg"); 
header("Content-Transfer-Encoding: binary"); 

// Read the file from disk 
readfile($file); 
} 
?> 

といくつかの解決策を見つけたし、私のようなパラメータを送信することができますhttp://www.ryboe.com/tutorials/php-headers-force-download

+0

そうですが、ファイルを保存する場所を尋ねるダイアログボックスが表示されます。 – kassprek

0

をURLアドレスクロスhtmlコード

<a href="download.php?file=http://someserver/picture.jpg">download</a> 

唯一の問題は、すべてのサーバーで機能していないことです。そのファイルの例ではあまりにも多くのことがありません。

http://backalleypics.com/Pictures/Letter Je~Ju/Jessica Alba/Jessica Alba 230.jpg 

私は何をする必要がありますか?

+0

私は、URLアドレスがクロスhtmlコードを送信するときに問題が発生していることに気付きました。アドレスがそのようなPHPスクリプトに含まれている場合 $ file = "http://backalleypics.com/Pictures/Letter Je〜Ju/Jessica Alba/Jessica Alba 230.jpg";すべてが大丈夫です。しかし、私はちょうどURLクロスHTMLコードを送信したい。どのように私は問題なくそれを行うことができますか? – kassprek

0

ファイル名からスペースを削除します。

変更:http://backalleypics.com/Pictures/Letter Je~Ju/Jessica Alba/Jessica Alba 230.jpg

をする:http://backalleypics.com/Pictures/Letter_Je~Ju/Jessica_Alba/Jessica_Alba_230.jpg

関連する問題