• ベストアンサー

TSVファイルを読み込んで表示したい

$file="sample.txt"; // 変換対象TSVファイル $fpw = fopen($file,'r'); while (!feof($fpw)) {   $data = fgets($fpw));   $line = explode("\t", $data);   print "line= ".$line[0]."<br>";   print "line= ".$line[1]."<br>"; } としましたがうまく内容が表示されません。 どのようにしたら良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

Parse error: syntax error, unexpected ')' in tsv.php on line 5 <?php $file="sample.txt"; // 変換対象TSVファイル $fpw = fopen($file,'r'); while (!feof($fpw)) { $data = fgets($fpw); $line = explode("\t", $data); print "line= ".$line[0]."<br>"; print "line= ".$line[1]."<br>"; } ab cd ef gh x t y z line= ab<br>line= cd<br>line= x<br>line= t<br>line= <br>line= <br>

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • TSVファイルを読み込んでCSV形式に変換したい

    PHP4でTSVファイルを読み込んでCSVファイルに変換しようとしています。下記のようにしましたがうまくいきません。 どこがおかしいでしょうか? $file="sample.txt"; // 変換対象ファイル $contents =file_get_contents($file); $contents =str_replace("\t", ",", $contents); $fp = fopen ($contents, "r"); while(($line= fgetcsv($fp,1024,","))) { print "line= ".$line[0]."<br>"; print "line= ".$line[1]."<br>"; } よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ファイルを読み込んで表示すると文字化けします

    次のようにファイルを読み込んでIEやGoogle Chromeで表示させると 日本語の文字化けが起こってしまいます・・・ どのようにすれば解決できるのでしょうか? [1.txt] ああ いい $file_name = "./1.txt"; if(is_file($file_name)){ $text = fopen($file_name,'r'); for($line = 1; !feof($text); $line++){ $lines = fgets($text); if($lines){ //print $lines; $pairs[] = preg_split('/ /', $lines); } } fclose($text); }else{ exit; } print_r($pairs);

    • ベストアンサー
    • PHP
  • tsvファイルの読み込みエラー

    ファイル読み込み後、内容表示するプログラムをつくったのですが、tsvファイルを読み込むとWEB画面には何も表示されず真っ白になってしまいます(普通のtxtファイルでもタブが入っていると表示しません)。tsv読み込み時は何か設定が必要なのでしょうか? #!/usr/local/bin/perl print "Content-Type: text/html\n\n"; print "<html>\n"; print "<head><title>サンプル</title></head>\n"; print "<body>\n"; if (open(FH, "data/block.txt")) { @file = <FH>; close(FH); print "<p>ファイルの内容は、<br>\n"; foreach $data (@file) { print "$data<br>"; } print "です。</p>\n"; } else { print "ファイルを読み込めません。"; } print "</body>\n"; print "</html>\n"; exit;

  • fgetsの使い方について

    こんばんわ。phpでラジオボタンを使用して投票フォームを作っています。 投票した値をログファイルに書き込んで4項目をカウントできるように格納したいのですが、エラーも出ずにスルーして原因がわからず困っています。 イメージでは ログファイル↓ 24 もちろん 11 するかも 5  わからない 12 ない 問題のソースは以下の通りです。 $write = "$radiobutton"."\n"; $fp = fopen("../php/test1.txt","a+"); $line1=fgets($fp); $line2=fgets($fp); $line3=fgets($fp); $line4=fgets($fp); fputs($fp,$write); fclose($fp); print "fgets1回目=".$line1."<br>\n"; print "fgets2回目=".$line2."<br><br>\n"; print "fgets3回目=".$line3."<br><br><br>\n"; print "fgets4回目=".$line4."<br><br><br><br>\n"; わかる方いましたらご教授お願いします。

    • ベストアンサー
    • PHP
  • PHPでファイルポインタの移動

    現在。[EOF]になるまで1行読込んでは、ファイルポインタを移動させ すべての行を出力しています。 これをテキストの[EOF]よりも1行上のbbbbbbbbがある行(見た目上の最終行)のみを 出力したいのですがどうすればいですか? while(!feof($filepointer)){ $line = fgets($filepointer); print($line."<br />"); } ~log.txt~ aaaaaaaaaaaaa[改行コード] bbbbbbbbbbbbb[改行コード]←ココのみ取り出したい [EOF]

    • ベストアンサー
    • PHP
  • phpでファイルが削除できない

    こんにちは。 ファイル名の書かれたdir.txtを開いて、その中から1日以上経過したファイルを削除するtime.phpを作成しようと思っています。 実行してみると、24時間経過したファイルがあっても 「Warning: unlink() [function.unlink]: Permission denied in C:\Program Files\xampp\htdocs\test\time.php on line 33」 というエラーがでて削除できない 実行結果にprintするように指定していない$imaの数値「1128673152」が表示される。 のですが、どこに間違いがあるのでしょうか? time.phpの内容 ---------------------------------------------------------------------- <html> <body> <?php // ファイルを読み込み専用でオープンする $fp = fopen('dir.txt', 'r'); // 終端に達するまでループ while (!feof($fp)) { // ファイルから一行読み込む $line = fgets($fp); $line = rtrim($line); // ファイルの更新時間を調べる $kousin = filemtime("$line"); // 今の時刻 $ima = time(); // 経過時間を計算する $keika = $ima - $kousin; // 出力する print $line; print "<br>\n"; print $ima; print "<br>\n"; print $kousin; print "<br>\n"; print $keika; print "<br>\n"; clearstatcache(); if ( $keika > 86400 ) { unlink( "$file" ); } } // ファイルをクローズする fclose($fp); ?> </body> </html> ----------------------------------------------------------------------

    • ベストアンサー
    • PHP
  • textファイルについて

    あるディレクトリーに test.txt aaa.txt があるのですが、 二つのテキストを開いて もし text.txtの3行目に http://www.goo.ne.jp/ があり aaa.txtの10行目にも http://www.goo.ne.jp/ があるとすれば aaa.txtの10行目を消したいのですが、 そんな事って可能ですか?? 色々考えたのですが、aaa.txtの10行目を消す時に 10行目を空にすると言う指定が出来なくて困ってます。 どうしてもaaa.txtの削除が出来ません。 参考までにスクリプトを載せておきます <?php $file_name = array("aaa.txt", "test.txt"); $list = fopen($file_name[0], "a+"); $delete_list = fopen($file_name[1], "r"); $listfile = file($file_name[0]); $listmax = count($listfile); $listfile = file($file_name[1]); $delete_listmax = count($listfile); if ($delete_listmax > 0){ for ($delete_line = 1; !feof($delete_list); $delete_line++){ $delete_lines = fgets($delete_list); $delete_lines = trim($delete_lines); if ($delete_lines){ if (is_file($file_name[0])){ for ($line = 1; !feof($list); $line++){ $lines = fgets($list); $lines = trim($lines); if ($lines){ if ($delete_lines == $lines){ //ここの部分がわからないです fputs($list, "あああ"); echo "O,K\n"; } } } } } } } fclose($delete_list); fclose($list); echo "\n終了\n"; ?> 詳しい方がいましたら宜しくお願いします

    • ベストアンサー
    • PHP
  • 古くなったファイルを削除するには?

    あるファイルを読み込んで、その中に書かれたファイル名の中で10日以上、経過したファイルを削除するphpを作ろうとしています。 index.htmlまで削除してしまうとフォルダの中が他人に除かれてしまうおそれがあるので、index.htmlは10日以上経過してもそのまま残しておきたいと思っています。 初心者なりにいろいろな本やphpの礼を参考にしながら下記のphpを作ってみました。 試してみるとindex.htmlまだ削除されていました・・・・ どこにミスがあったのでしょうか? 教えて頂ければ幸いです。 ---------------------------------------------------------------------- // ファイルを読み込み専用でオープンする $fp = fopen('dir.txt', 'r'); // 終端に達するまでループ while (!feof($fp)) { // ファイルから一行読み込む $line = fgets($fp); $line = rtrim($line); // ファイルの更新時間を調べる $kousin = filemtime("$line"); // 今の時刻 $ima = time(); // 経過時間を計算する $keika = $ima - $kousin; // 出力する // print $line; // print "<br>\n"; // print $kousin; // print "<br>\n"; // print $keika; // print "<br>\n"; clearstatcache(); if ( $keika > 864000 && $line != index.html ) { @unlink( "$line" ); } } // ファイルをクローズする fclose($fp);

    • ベストアンサー
    • PHP
  • 他のサーバーのファイルを大量に読み込んだら迷惑?

     他のサーバーにアクセスして、大量のhtmlファイルを開き、fgets()でそれらを読み込んだら、相手方のサーバーには迷惑になるでしょうか?  (以下のような感じです。URLの部分は、hを大文字で記述しています) <?php $fp = fopen("http://somewhere.org/page1.html","r"); while(!feof()){ $line = fgets($fp); fwrite($fp,$line); } fclose(); $fp = fopen("http://somewhere.org/page2.html","r"); while(!feof()){ $line = fgets($fp); fwrite($fp,$line); } fclose(); //・・・これを数十回くらい。 ?>  又、迷惑になる場合、ファイルを1つ読み込んだあと、sleep();で何秒か停止すれば迷惑かけずに済むでしょうか? もしそうなら、大体何秒くらいでしょうか?

    • ベストアンサー
    • PHP
  • ランダム表示について

    ランダム表示について煮詰まってしまって 何とか改善したく思い書き込ませていただきました。 --------------------------------- 表示結果 --------------------------------- データ1 test02 データ2 sample02 データ1 test01 データ2 sample01 データ1 test05 データ2 sample05 データ1 test02 データ2 sample02 --------------------------------- 表示結果がどうしても被ってしまって これを何とか被らないようにしたく 色々模索したのですが解決策が見つかりません。 csvの中身とソースは下記となります。 test.csv --------------------------------- test01 sample01 test02 sample02 test03 sample03 test04 sample04 test05 sample05 test06 sample06 test07 sample07 --------------------------------- ソース --------------------------------- <?php $handle = fopen("test.csv", "r"); while (($data= fgetcsv($handle, 1000, ",")) !== FALSE) { $line[]= $data; } fclose($handle); for($i=0;$i<5;$i++){ $rand= rand(0,count($line)-1); print <<<eof データ1{$line[$rand][0]}<br> データ2{$line[$rand][1]}<br><br> eof; } ?> --------------------------------- 毎ループ、総データ数から一つランダムで選ぶ処理になっているのが原因だと思うのですが その部分を改善しようと調べては試しての繰り返しをしているのですが 一向に改善しません。。。。 どなたかアドバイスを頂ければと思います。 宜しくお願い致します。

    • 締切済み
    • PHP