2016-09-14 23 views
-4

は、私は、ファイルとダウンロードページへのダウンロードファイルへのダウンロードリンクを大いに楽しむせずにファイルをダウンロードするPHPのページ、およびソースを作成する方法ポストPHPメソッドを使用してダウンロードページを作成するにはどうすればよいですか?

でウェブページに入れていることを知ってほしいです<form>...</form>

タグ..

同様:

<form action="example.com/download.php" method="post" target="_blank"> 
<input name="id" type="hidden" value="#"> 
<input name="filename" type="hidden" value="#"> 
<input name="filesize" type="hidden" value="#"><p></p><div 
align="center"> > > <input type="image"> </div> </form> 

ラスt入力はダウンロードボタンイメージのsrcです。

この全プロセスがどのように機能するのか、/download.phpページのソースコードにどのようなものを入れることができますか。 ...私のウェブページのため

をフォームを作るために実際に私が同じことをやっている人は、ウェブサイト上でこのすべてを見てきました。..

助けてください。事前に感謝...

+0

私は、ブラウザからダウンロードするファイルを必要とするあなたのダウンロードページでは、私の質問 – Duryab

+0

意味を編集するつもりですオーケー?ファイルがユーザーのどこに表示されていないのでしょうか? – masterFly

+0

はい、ダウンロードリクエストはフォームのhtmlタグを介してWebページからダウンロードページに送信されます – Duryab

答えて

0

一意のIDを与えて、このヘルパーがファイルへの実際のパスを明らかにせずに正しいファイルをエンドユーザーに返すようにする一般的なダウンロードヘルパーを作成したい。

これに取り組むために多くの方法がありますが、それはまた、あなたが達成しようとしているかに依存して、どのように多くのファイルがダウンロードして利用できるようになります(これは、実装の単純さや複雑さに影響します)

のために例:

もし何千ものファイルを扱うダウンロードサイトがあれば - N個のファイルに対してうまくいく方法を実装したいと思うでしょうが、これは複雑になるかもしれません。

一方、5-10個のファイルをサーバーするつもりならば、非常に単純なヘルパーを作成してジョブを完了させることができます。

簡単なヘルパーの短い例:

download.php

<?php 
    $fileId = $_GET['fileId']; 
    switch($fileId){ 
     case 1: 
      $fileName = 'myFile.pdf'; 
      break; 
     case 2: 
      $fileName = 'myOtherFile.doc'; 
      break; 
     default: 
     $fileName = null; 
    } 
    if($fileName){ 
     // $fileName is your file identifier 
     $fileFullPath = $_SERVER['DOCUMENT_ROOT'].'mySecretFolder/files/'.$fileName; 

     if (file_exists($fileFullPath)) { 
      header('Content-Description: File Transfer'); 
      header('Content-Type: application/octet-stream'); 
      header('Content-Disposition: attachment; filename='.basename($fileFullPath)); 
      header('Content-Transfer-Encoding: binary'); 
      header('Expires: 0'); 
      header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
      header('Pragma: public'); 
      header('Content-Length: ' . filesize($fileFullPath)); 
      ob_clean(); 
      flush(); 
      readfile($fileFullPath); 
      exit; 
     } 
    } 
?> 

HTML

<a href="https://www.my-domain.com/download.php?fileId=1"> Download PDF </a> 

これは、あなたがする必要がある場合に使用するだけの簡単な例であります少量のファイルを提供し、シンプルで迅速な実装を望みます。

無制限または不明な量のファイルをサーバーに送る場合は、高度なファイルサービスシステムを実装する必要があります(または既存のものをオープンソースとして使用する必要があります)。

はそれが役に立てば幸いビット

+0

こんにちは...この素晴らしいヘルプのために...しかし、私の質問をもう一度見てください私は質問内容にいくつかの変更を加えました詳細... – Duryab

+0

私は実際にHTMLでフォームを使用してダウンロード要求を提出したいと思います...ページのURLではありません... – Duryab

関連する問題