2012-03-25 22 views
5

PHPとMySQLで自分のサイトを作成するプロセスを開始するにあたり、私が書いた最初のPHPスクリプトの1つは、自分のデータベースを初期化するスクリプトです。データベースを削除または作成します。各テーブルをドロップ/作成します。次に、スクリプト内のリテラルからテーブルをロードします。PHPで.TXTファイルを読むことはできますか?

これは問題ありません。 Whoohoo :-)

しかし、PHPスクリプトでハードコードするのではなく、ファイルからデータを読み取る方が好きです。

私はPHPについていくつかの本を持っていますが、それらはすべてMySQLを使ったWeb開発に向けられています。私は普通のファイルへの読み書きについては何も見つかりません。

はい、ここでは、TXTファイルを読むことについてのstackoverflowの質問がありますが、それぞれを見るとCまたはC#またはVBまたはPerlになります。私はPHPがファイルを読むことができないと思っています:-(

私が必要とするのは、サーバ上でTXTファイルを開き、それを順番に読み込んで画面にデータを表示する簡単なPHPの例です、この擬似コードのように、ファイルを閉じる:

program readfile; 
handle = open('myfile.txt'); 
data = read (handle); 
while (not eof (handle)) begin 
    display data; 
    data = read (handle); 
    end; 
close (handle); 
end;  

を、私はまた、私は、人々はアバターをアップロードする私のサイトの一部を取得する場合、サーバー上のファイルを記述する必要があり、JPGとして保存しますかGIFファイル。しかし、それは後のためです。

ありがとう!

+0

初期化スクリプトを1回だけ実行すると、データがデータベースに保存され、ファイルをもう読み込む必要はありませんか?私はあなたもPHPでコーディングを開始したばかりです。この素晴らしいリソースをブックマークすることを検討する必要があります:http://php.net/manual/ – Eric

+2

"はい、ここでは、TXTファイルを読むことについてのstackoverflowに関する膨大な質問があります。私はそれぞれを見て、彼らはCまたはC#またはVBまたはPerlのです。私はPHPがファイルを読み取ることができないと思うようになっています:-("質問がStackOverflowで質問されない場合は、それは非常に些細なことであり、明白な場所、例えばプログラミング言語のマニュアルで見つけられることを示す: – Eric

+0

しかし私はスクリプトにデータを埋め込みたくない。私はテキストファイルのデータを欲しがっています...そして、してください、私に卑劣な答えを与える前に、私の質問を完全にお読みください!私はPHPに関するいくつかの本を持っていますが、それらのどれもファイル処理について言及していません。彼らはWeb開発のためにPHPを使用することについて話していますが、ファイル処理については言及していません。 – Fredashay

答えて

3

さて、あなたは聞いているので、件名に関するリソースについては、にその全文があります。

基本的な例:PHP manual for fread()から

<?php 
// get contents of a file into a string 
$filename = "/usr/local/something.txt"; 
$handle = fopen($filename, "r"); 
$contents = fread($handle, filesize($filename)); 
fclose($handle); 
?> 
+0

ありがとう!それは私が必要なものに近いです。しかし、別々の読み込みでファイルの各行を読みたいので、各行をsubstrで個別に解析できます。ファイル全体を1つの長い長い文字列にすることは、解析する苦痛になります。 – Fredashay

22

<?php 
// get contents of a file into a string 
$filename = "/usr/local/something.txt"; 
$handle = fopen($filename, "r"); 
$contents = fread($handle, filesize($filename)); 
fclose($handle); 
?> 

EDITコメントあたり は、あなたが行毎にファイルを読み込むことができfgets()

<?php 
$handle = @fopen("/tmp/inputfile.txt", "r"); 
if ($handle) { 
    while (($buffer = fgets($handle, 4096)) !== false) { 
     echo $buffer; 
    } 
    if (!feof($handle)) { 
     echo "Error: unexpected fgets() fail\n"; 
    } 
    fclose($handle); 
} 
?> 
+0

ありがとう!それは私が必要なものに近いです。しかし、別々の読み込みでファイルの各行を読みたいので、各行をsubstrで個別に解析できます。ファイル全体を1つの長い長い文字列にすることは、解析する苦痛になります。 – Fredashay

+0

@Fredashayあなたは 'fgets'でそれを行うことができます、私は答えを更新しました – JKirchartz

+0

はい!それはまさに私が欲しいものです:-)もう一度おねがいします! – Fredashay

0

file_get_contentsあなたのためのすべてのことを行い、文字列内のテキストファイルを返します:)

2

あなたはおよそfopen

$file = fopen("source/file.txt","r"); 
    if(!file) 
    { 
     echo("ERROR:cant open file"); 
    } 
    else 
    { 
     $buff = fread ($file,filesize("source/file.txt")); 
     print $buff; 
    } 
+0

なぜあなたは私の質問を読まないのですか? – Fredashay

+1

phpはファイルを読むことができます。あなたがする必要があるのは、 'fopen()'と ' fread() '、php.netで大きく書かれています – Harry

0

あなたが行ずつ読みたいPHPのドキュメントを読んでいないのはなぜ? fgetsを使用してください。

$handle = @fopen("myfile.txt", "r"); 
if ($handle) { 
    while (($content = fgets($handle, 4096)) !== false) { 
     //echo $content; 
    } 
    if (!feof($handle)) { 
     echo "Error: unexpected fgets() fail\n"; 
    } 
    fclose($handle); 
} 
4

私は必要なのは、この擬似コードのように、サーバー上のTXTファイルを開く順次それを読んで、画面上のデータを表示し、ファイルを閉じる方法の簡単なPHPの例です。 :

echo file_get_contents('/path/to/file.txt'); 

はいその簡単で、file_get_contentsを参照してください、あなたは通常、ループを必要としません:

$file = new SPLFileObject('/path/to/file.txt'); 
foreach($file as $line) { 
    echo $line; 
} 
1

php-file readは、テキストファイルから読むことに関する簡単なチュートリアルです。非常に基本的なチュートリアルですが、ファイルの読み方のさまざまな側面についても説明します。

関連する問題