2016-09-29 3 views
1

私のデータベースにデータをインポートしていますが、テキストファイルでユーザーにエラー/フィードバックを提供したいのですが、どうやってアプローチするのか分かりません。私のコードは、私は、私は私のファイルに二回「ジョン・ドウ」をしたいと、ユーザーがダウンロードできるように、画面にアップロードします。この場合、ファイルPHPがファイルに書き込んで画面にアップロード

<?php 
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); 
$txt = "John Doe\n"; 
fwrite($myfile, $txt); 
$txt = "Jane Doe\n"; 
fwrite($myfile, $txt); 
fclose($myfile); 
?> 

に書き込むために、サンプルコードを入れますかなり長いですそれ

答えて

1

あなたは出力バッファにファイルを送信するために、PHP readfile()を使用することができます。あなたはこれを行う方法の例についてはPHPのドキュメントを見ることができます。 !Readfile()

サンプルでは、​​あなたは下のスニペットを試してみたいことがあり、この

if (file_exists($myfile)) { 
    header('Content-Description: File Transfer'); 
    header('Content-Type: application/octet-stream'); 
    header('Content-Disposition: attachment; filename="'.basename($myfile).'"'); 
    header('Cache-Control: must-revalidate'); 
    header('Content-Length: ' . filesize($myfile)); 
    readfile($myfile); 
    exit; 
} 
0

次のようになります。私は、ファイルを開くことができません `取得`保ついくつかの理由から

<?php 

    $fileName  = "data-log.txt"; 

    // IF THE FILE DOES NOT EXIST, WRITE TO IT AS YOU OPEN UP A STREAM, 
    // OTHERWISE, JUST APPEND TO IT... 
    if(!file_exists($fileName)){ 
     $fileMode = "w"; 
    }else{ 
     $fileMode = "a"; 
    } 

    // OPEN THE FILE FOR WRITING OR APPENDING... 
    $fileHandle  = fopen($fileName, $fileMode) or die("Unable to open file!"); 
    $txt   = "John Doe\n"; 
    fwrite($fileHandle, $txt); 

    $txt   = "Jane Doe\n"; 
    fwrite($fileHandle, $txt); 
    fclose($fileHandle); 


    // PUT THE FILE UP FOR DOWNLOAD: 
    processDownload($fileName); 

    function processDownload($fileName) { 
     if($fileName){ 
      if(file_exists($fileName)){ 
       $size = @filesize($fileName); 
       header('Content-Description: File Transfer'); 
       header('Content-Type: application/octet-stream'); 
       header('Content-Disposition: attachment; filename=' . $fileName); 
       header('Content-Transfer-Encoding: binary'); 
       header('Connection: Keep-Alive'); 
       header('Expires: 0'); 
       header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
       header('Pragma: public'); 
       header('Content-Length: ' . $size); 
       readfile($fileName); 
       exit; 
      } 
     } 
     return FALSE; 
    } 
?> 
+0

-_____- – Bobby

関連する問題