2009-08-31 5 views
1

mysqlテーブルをテキストファイルに変換するためのPHPスクリプトとは何ですか?私はそれをExcelファイルとして開くCSV形式に変換しました。私はまた、テーブルファイルをテキストファイルにしたい。どうすればいいのですか?PHPでmysqlテーブルをテキストファイルに変換するには?

$filename = "export_".date("Y-m-d_H-i",time()); 
header("Content-type: application/vnd.ms-excel"); 
header("Content-disposition: csv" . date("Y-m-d") . ".csv"); 
header("Content-disposition: filename=".$filename.".csv"); 

Iヘッダを使用してみました:

csv形式に変換するために、私はヘッダデータを使用する( "コンテンツタイプ:text/plainの")。 .txt拡張子を使用しました。それは動作しませんでした..誰かが私をご案内ください。

答えて

-1

.doc拡張子を持つms単語アプリケーションとして保存されたテキスト形式でテーブルを保存する方法。そして、ヘッダは

header("Content-Type: application/msword"); 
header("Content-disposition: attachment" . date("Y-m-d") . ".doc"); 
header("Content-disposition: filename=".$filename.".doc"); 

の下に与えられている。しかし、それは任意のアライメントなしのジャンクデータのように見えるので、今は..テキストファイル内の表形式で表示しようとしています。タブスペースを追加しても助けにはなりません。

+0

質問であなた自身の質問に答えて、その答えとして「回答」を選択しましたか? – Benjam

1

mysqldumpはあなたのためにCSV形式でファイルを作成します。

mysqldump -u User1 -p -t -T/path/to/sav [database] --fields-enclosed-by=\" --fields-terminated-by=, --lines-terminated-by=\r\n --no-create-db --no-create-info 

--fields-enclosed-by=\"は、あなたのすべてのフィールドが引用によってカプセル化されることを保証し、そして--fields-terminated-by=,は、これらのフィールドは、カンマで区切られます。

1

この1つのについての何 - OUTFILE 「file_nameにINTO

SELECT   * 
FROM   TABLE1 
INTO   OUTFILE 'path\file.sql' 

mysql doc

SELECT ... - SQL(CVS)

SELECT   * 
FROM   TABLE1 
INTO   OUTFILE 'path\file.cvs' 
       FIELDS TERMINATED BY '\,' 
       OPTIONALLY ENCLOSED BY '\"' 
       LINES TERMINATED BY '\n' 

あなたはプレーンテキストをしたい場合'形式のSELECTは、選択された行 をファイルに書き込みます。ファイルは がサーバーホスト上に作成されているので、 には この構文を使用するFILE特権が必要です。ファイル名は 既存ファイルではありません。 の中には、 /etc/passwdなどのファイルや、 のデータベーステーブルが破棄されるものがあります。 MySQL 5.0.19では、 character_set_filesystemシステム 変数は、ファイル名の解釈 を制御します。

+0

私はこれを試してみましたが、ファイルは保存されません。 – Angeline

+0

宛先の書き込み権限がありますか? –

+0

はい、私は持っています。 – Angeline

1

.csvファイルあなたはちょうどそれがExcelで開くことになりヘッダを送っている、プレーンテキストファイルです。

header("Content-type: application/vnd.ms-excel"); 
header("Content-disposition: csv" . date("Y-m-d") . ".csv"); 
header("Content-disposition: filename=".$filename.".csv"); 

を、代わりに、これは1つの送信:

あなたが同じ形式のファイルをしたいが、Excelで開かれていない場合は、単には、これらのヘッダを送信しない

header('Content-Type: text/plain'); 

したい場合テキストファイルを強制的にダウンロードするには、次を試してください:

header('Content-Type: application/force-download'); 
+0

もしそうすると、内容はブラウザに表示されます。テキストファイルとして保存されません。 – Angeline

+0

テキストファイルを強制的にダウンロードする例で更新されました。 –

関連する問題