2010-11-23 9 views
4

私は誰かに私にpaypalを通じてオンラインでpdfファイルを販売する正しい方法を表示できるかどうか疑問に思っていた。 基本的に私はPHPショッピングカートを使用しており、 PDFファイル名が買い物カゴに追加され、paypalを通じて支払われたら、どうすればいいですか?paypalを通じてオンラインでpdfファイルを販売する最良の方法

ありがとう

+0

ショッピングカートは、ファイルのダウンロードを処理することができるはずです。どのショッピングカートを使用していますか? – Martin

+0

私はjcartを使用しています – amir

+0

申し訳ありませんが、jcartはわかりません。オンラインマテリアルを販売することについては、Googleの検索でドキュメントやフォーラムのエントリーが表示されませんでした。 – Martin

答えて

7

あなたの目標は:

  1. PDFの名前を知っている人には無料でダウンロードできません。

  2. お支払い後にのみダウンロードが可能です。

したがって、PDFをドキュメントルートの外に保存するので、誰もブラウザに名前を入力できません。たとえば:

pdf_files/ 
    1.pdf 
    2.pdf 
    3.pdf 
public_html/ 
    index.php 
    something_else.php 

はその後、あなたのPHPスクリプトでこのように、直接ファイル出力を使用します。

<?php 
    //we are sure that we received the payment 
    if ($costumer_payed) { 
     $file_path = '../pdf_files/1.pdf'; //navigating outside the document root! 
     $file = basename($file_path); 
     $size = filesize($path); 

     //headers to show browser that this is a PDF file and that it should be downloaded 
     header ("Content-Type: application/octet-stream"); 
     header("Content-Disposition: attachment; filename=$file"); 
     header("Content-Length: $size"); 

     readfile($file_path); //giving file to costumer 
    } 
    echo { 
     echo "Sorry, pal, pay for your PDF first"; 
    } 
?> 
+1

Webルート以外の場所にpdfファイルを保存するための+1 – Martin

+0

$ contents = readfile($ file_path);エコー$内容; ? – Martin

+0

@マーティン、コメントありがとう。いいえ、readfileはファイルを出力します - echoはインクルードされています:)戻り値はファイルから読み込まれたバイト数です。 –

関連する問題