人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpテキストファイル読み込み関係についての質問です。

phpファイル
<?php
$fname = "test";
$lines = fopen($fname);
list($year, $mon, $day, $test) = split('[/.-]', $lines);
echo "$year年$mon月$dat日 $test<br />\n";
?>
testファイル
2006/01/01.1000
とします。 どうしてもtestのファイルを読み込めません。 どのようにすれば動くようになるでしょうか?

●質問者: zenval
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:2006 dat echo PHP test
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● technolize
●23ポイント

fopen はファイルを開くだけですので、読む処理が必要になります。

<?php
$fname = "test";
$fp = fopen($fname, 'rb');
$line = fgets($fp, 4096);
list($year, $mon, $day, $test) = split('[/.-]', $line);
echo "$year年$mon月$day日 $test\n";
fclose($fp);
?>

こんな感じでしょうか。

http://jp.php.net/manual/ja/function.fgets.php

◎質問者からの返答

やはり真っ白で何も表示がされないです…

大体はURLみたいな作業を行いたい感じです。


2 ● Mook
●23ポイント

まず動くように変更しました。

<?php
 $fname = 'C:\test.txt'; 
 $fno = fopen($fname, "r"); 
 $lines = fgets( $fno );
 fclose( $fno );

 print $lines."<br>\n";
 list($year, $mon, $day, $test) = split('[/.-]', $lines );
 echo "{$year}年{$mon}月{$day}日 $test<br />\n";
?>

問題点は、

の3点です。

PHP fopen等を参考にしてください。


3点目の変数は、変数名の直後に文字が続く場合、うまく変数として認識してくれないので、例示のように変数を{}で囲むとこれを回避できます。


3 ● kn1967
●22ポイント

$lines = fopen($fname);ではなく

$lines = file("$fname"));です。

できれば、下記のような感じでエラー時の対応を入れたほうが良いと思います。

$fname = "test";

if (false !== ($lines = file("$fname"))) {

list($year, $mon, $day, $test) = split('[/.-]', $lines);

echo "$year年$mon月$dat日 $test<br />\n";

} else {

echo "読み込みに失敗しました。<br />\n";

}

?>

fopenとfileの詳細は下記参照ください。

PHP: fopen - Manual

PHP: file - Manual


4 ● backupper
●22ポイント

以下で動くと思います。

<?php
$fname = "test";
$lines = file_get_contents($fname);
list($year, $mon, $day, $test) = split("[?/?.?-]", $lines);
echo "{$year}年{$mon}月{$day}日 {$test}<br />?n";
?>

fopenを使って同様に書くには、以下の様にします。

<?php
$fname = "test";
$h = fopen($fname, "r");
$lines = fread($h, filesize($fname));
fclose($h);
list($year, $mon, $day, $test) = split("[?/?.?-]", $lines);
echo "{$year}年{$mon}月{$day}日 {$test}<br />?n";

http://jp2.php.net/manual/ja/function.file-get-contents.php

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ