- 締切済み
ファイルアクセスについて
はじめまして。だいきといいます。 現在phpで htmlで商品コードを入力して、そこから別ファイルのshouhin.txtから商品名と単価を表示するプログラムを書いています。 が、なかなかこれが出来ず・・・ お願いします。 <?php $filename="ex13_11_shouhin.txt"; $errmsg=array(); if(($fp=@fopen($filename,"r"))){ $code=$_POST['code']; while(!feof($fp)){ $get=fgets($fp); if(strpos($get,$code)){ $a=strpos($get,",");//一つめのカンマ $get_a=substr($get,$a+1);//一つめのカンマから後ろ $b=strpos($get_a,",");//二つ目のカンマ $get_b=substr($get_a,$b+1);//二つ目のカンマから後ろ=単価 $get_c=substr($get_a,0,$b);//カンマとカンマの間=商品 } else { $errmsg[]="存在していません"; } } } if(count($errmsg)==4){ echo $errmsg[0]; } echo $get_c; fclose($fp); ?> <html> <head> <title>ex13_11</title> </head> <body> <h1>13</h1> <form action="ex13_11.php" method="POST"> <input type="text" name="code"> <br> <br> <input type="text" name="su"> <input type="submit" value="送信" name="btn"> </form> </body> </html> shouhin.txt A1,液晶テレビ,69800 A2,冷蔵庫,129800 A3,洗濯機,29800 A4,レンジ,5800 ってな感じになってます お願いします
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- taka451213
- ベストアンサー率47% (436/922)
こんにちは。 かなり端折りますが・・・、 <?php if(!($fp=@fopen('ex13_11_shouhin.txt','r'))){exit('ファイルのオープンに失敗しました。');} $isExists=FALSE; while(!feof($fp)){ $get=fgetcsv($fp); if($get[0]==$_POST['code']){echo $get[1].':'.$get[2];isExists=TRUE;break;} } if(!isExists){echo '存在していません';} fclose($fp); ?> みたいな・・・。
- shimix
- ベストアンサー率54% (865/1590)
カンマ区切りであれば(まぁ、カンマでなくてもいいんですが)fgetcsvで読み込んだ方がいいのでは? http://php.net/manual/ja/function.fgetcsv.php で、 >が、なかなかこれが出来ず・・・ >お願いします。 というのは、どういう質問なのでしょうか? 今現在『どういう動作をさせたいのに、どうなってしまっている』というのを正確に把握されていますか(把握されていれば記述してください)。