• ベストアンサー

Resource id #3 と表示されますが、何を意味しているのでしょう?

いつもお世話になっています。 下記phpソースをブラウザで開くと、 ---------------------- <?php $fp = fopen("kadai2-1.txt","r"); print($fp."<br>"); ?> ---------------------- Resource id #3 ↑と表示されてしまうのですが、 「Resource id #3」は何を意味しているのでしょうか? 検索してみても明確なヒントが見当たりませんでした。。 どうぞ宜しくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • kurarigu
  • ベストアンサー率100% (8/8)
回答No.1

私も良くわかりませんが、リソース型(?)というらしいです。 $fp = fopen("kadai2-1.txt","r"); $size = filesize("kadai2-1.txt"); $data = fread($fp, $size); echo $data; という感じで取り出せると思います。

関連するQ&A

  • flockのファイル保持について

    一つのブラウザで以下のプログラムを動かしつつ、、 ---- lock.php ---- <?php $filnam = "./log.txt"; $fp = fopen($filnam,"w"); flock($fp, LOCK_SH); ?> ここでしばらく待つ。 <?php sleep(30); flose($fp); ?> ------------------ もう一つのブラウザで ---- if.php ---- <?php $filnam = "./log.txt"; $fp = fopen($filnam,"w"); // ・・・(1) if(!flock($fp, LOCK_EX)){ print ("ロックされています。<BR>"); }else{ print ("ロックされていません。<BR>"); } ?> ------------------ を動かしました。 期待していた結果は 「ロックされています。」の表示です。 ですが、lock.phpプログラムの終了を、(1)の部分で待っているようで、lock.phpプログラムが終了後、「ロックされていません。」の表示になります。 ロックされていたらすぐに「ロックされています。」の表示を出したいのですが、どうしたらいいでしょうか?何か勘違いをしている部分があればご教授ください。

    • 締切済み
    • PHP
  • ファイルの読み込みとnl2br

    いつもお世話になっております。 ちょっとわからないことがあり質問させていただきます。 ファイルの読み込みで $fp= fopen("1.txt","r"); list($i,$j,$k,$l) = explode(",",fgets($fp)); で1.txtの中身は 1,2,3,aaa\r\nbbbb というカンマ区切りのファイルになっています。 しかし print nl2br($l); をブラウザで見ると\r\nがそのまま表示されてしまいます。 gettype($l)はstringと表示されます。 ちなみに $l="aaa\r\nbbbb"; print nl2br($l); は改行されたものが表示されます。 php4.3.10でレンタルサーバです。 ファイルからの取り出し方に問題があるのでしょうか? もしくはデータのの書き出し方に問題があるのでしょうか?(1.txtはフォーム上から書きこみます) ご教授いただければ幸いです。

    • ベストアンサー
    • PHP
  • ページ表示ごとにカウントダウンをさせたい。

    こんばんわ。 こんなスクリプトを組んでみました。 phpは勉強を始めたばかりです。 <? echo "Hello world!!";?> <br> あなたのIPは <? echo $_SERVER["REMOTE_ADDR"]?> ですね? <br> ただいま<? print (date ("Y年m月d日(D) H時i分s秒"));?>です <br><br> <?php $fp = fopen ("count.txt","r+"); $count = fgets ($fp, 32); $count--; fseek($fp, 0); fputs($fp, $count); flock($fp,2); $count = sprintf("%05d", $count); fclose($fp); echo $count ?> ログファイルは初期値として、10としました。 が9までは正常に減っていくのですが、次に8にならずに 89になってしまいます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 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
  • ファイルを読み取り合格者のIDを表示するプログラム

    下のように左から ID,教科A,教科B,教科C となっている100人分のデータ(test.txtとする)があるとき、 各科目60点以上かつ3教科の合計点が200以上の者を合格とし、そのIDを表示するプログラムをつくりたいのですが、調べてみても FILE *fp; fp=fopen("test.txt","r"); でファイルをひらいてからどうやってデータを読みこめばいいのかがわかりません。 この表のようなときはどうすればいいのでしょうか? 1 76 38 53 2 87 72 75 3 8 23 41 4 99 54 38 5 55 65 83 6 1 28 3 7 77 83 79 ・   ・ ・ よろしくお願いいたしますm(_ _)m

  • Resource idの渡し方

    下のようにエラーメッセージが出ました。 Warning: PostgreSQL query failed: ERROR: pg_atoi: error in "Resource id #3": can't parse "Resource id #3" in /home/***/write.php on line 29 cannot connect データベースの主キー(serial)を別のテーブル(category_xref)で外部キーとして使おうとしたのですが、どうもテーブル(category_xref)でgcode がinteger で定義されているため、エラーが帰ってきているようなのです。 Resource idはどうやって別のテーブルに渡せばよいのでしょうか? すいません、どうぞご回答よろしくお願いいたします。 // serial 型のGCODE値の取得 $sql = "select currval('gurume_gcode_seq')"; $gcode = pg_exec($db_con, $sql); if($gcode == false) {print "cannot connect"; exit;} // category_xrefテーブルへの登録 for ($i=0; $i<count($cname); $i++) { // 配列 $cname をカウント。 count($cname)にはチェックボックスをチョイスした個数が入っている $sql = "insert into category_xref (gcode,ccode) values ('$gcode','$cname')"; // 店情報の登録 $rs = pg_exec($db_con, $sql); if($rs == false) {print "cannot connect"; exit;} }

    • ベストアンサー
    • PHP
  • 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
  • PHP5でCSVの指定行データだけを取得するには?

    PHP初心者です。 下記のような方法で全てのデータを取得する方法があると知りました。 $fp = fopen("url.csv", "r"); while ($data = fgetcsv($fp, 1)) { foreach ($data as $d) { print $d . "<br>\n"; } } しかし指定行、例えば10行目等だけを取得する方法がわかりません。 CSVは1列で1000行ほどあります。 恐れ入りますが具体的なソースを教えてくださいませ。

    • ベストアンサー
    • PHP
  • xreaで7行のプログラムがエラー

    <?php print '<body>'; print 'print関数は成功。<br>'; $fp = fopen('dat.dat', 'wb'); if(!$fp)print '失敗。'; else{print '成功。';fclose($fp);} ?> ブラウザは以下のように表示しました。 どこがいけないのでしょうか? print関数は成功。 Warning: fopen(dat.dat): failed to open stream: Permission denied in ****/foptest.php on line 4 失敗。

    • 締切済み
    • PHP
  • PHPカウンタのデータファイルのパスについて

    PHPカウンタのデータファイルをひとつ上の階層に置いて3つのページで共有したいのですが、 $fp="fopen("counter.dat"," "r+"); 上記パスを $fp="fopen("../counter.dat"," "r+"); このように記述するとエラーになってしまいます。 やり方が間違ってますでしょうか? 以下ソースです。 <?php $fp="fopen("counter.dat"," "r+"); $count=fgets($fp, 6); $count++; fseek($fp, 0); fputs($fp, $count); fclose($fp); ?><BR> <?php echo sprintf('%05d',$count); ?> 初心者の質問で申し訳ありませんが、 ご回答のほどよろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう