2017-10-24 22 views
-7

私はフォーラムで次のスクリプトを見つけました。 問題は、ソースファイルがバーチカルバーの区切り文字 "|"を持つPHPファイルであることです。ダウンロードした結果をCSVファイルにして、 "|"ファイルを保存するとExcelで開くことができるように、 "、"で囲みます。 '|' は おかげテキストファイルの区切り文字をPHPで変更する

<?php 
    $local_file = 'memberslogin.php'; 
    $download_file = 'memberslist.php'; 

    // set the download rate limit (=> 20,5 kb/s) 
    $download_rate = 20.5; 
    if(file_exists($local_file) && is_file($local_file)) 
    { 
     header('Cache-control: private'); 
     header('Content-Type: application/octet-stream'); 
     header('Content-Length: '.filesize($local_file)); 
     header('Content-Disposition: filename='.$download_file); 

     flush(); 
     $file = fopen($local_file, "r"); 
     while(!feof($file)) 
     { 
      // send the current file part to the browser 
      print fread($file, round($download_rate * 1024)); 
      // flush the content to the browser 
      flush(); 
      // sleep one second 
      sleep(1); 
     } 
     fclose($file);} 
    else { 
     die('Error: The file '.$local_file.' does not exist!'); 
    } 
?> 

答えて

0

str_replace("|", ",", $some_string);は、すべての出現箇所を置き換えますあなたの助けに感謝します"$ some_string"で '、'

最初から書き込むと、私はそれとは違うことになるでしょう。しかし、あなたのQNのコードあなたはこの1つで「印刷のfread」ラインを交換してみてください作品のように:

print str_replace("|", ",",fread($file, round($download_rate * 1024))); 

その私はExcelを使用していたので、長い時間が、ダウンロードはご自身の使用のために、あなたの場合"|"を指定してファイルをインポートすることもできますあなたの区切り記号として。セルに引用符が含まれていると、ダウンロード/インポートが問題になる可能性があることを覚えています。

+0

感謝のscytale、私の最初の考えは、2つのステップに変換し、最初に結果をダウンロードして、私はあなたの提案が良いと好きなのが好きです。私はデータ入力を制御しており、カンマをデータベースに保存する前に取り除いています。クラブ財務担当者は、コンピュータの知識が豊富ではなく、年配の人で、私が "|"分離されたファイル。私はあなたがこの仕事をする良い方法を提供できるかどうかを見て興味を持っています...乾杯 –

関連する問題