開発環境
- OS X Lion - Apple(OS)
- Apache (Web Server)
- PHP (サーバーサイドプログラミング言語)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
『初めてのPHP5』 (David Sklar 著、 桑村 潤 翻訳、 廣川 類 翻訳、 オライリー・ジャパン、2005年、ISBN978-4-87311-257-2)の10章(ファイルの操作)10.9(演習問題)2を解いてみる。
2.
Eメールアドレス尾を含むアドレスを1行ごとに作成したテキスト
aa@bb bb@cc cc@dd dd@ee ee@ff ee@ff DD@ee gg@hh hh@ii ii@jj
phpのコード
<?php $in = fopen('addresses.txt','rb'); if(! $in){ die("Error opening addresses.txt"); } $addresses = array(); for($line = fgets($in); !feof($in); $line = fgets($in)){ $line = trim($line); print "$line<br />"; if(array_key_exists($line, $addresses)){ $addresses[$line] += 1; } else { $addresses[$line] = 1; } } if(! fclose($in)){ print "Error closing Addresses.txt: {$php_errormsg}<br />"; } var_dump($addresses); print "<br />"; $out = fopen('addresses-count.txt', 'wb'); if(! $out){ die("Error: opening addresses-count.txt"); } foreach($addresses as $address => $count){ fwrite($out, "$address, $count\n"); } if(! fclose($out)){ die("Error:closing addresses-count.txt"); } ?>
ファイルの書き込みは上手くいってないけど(パーミッションの問題?)とりあえずこんな感じでいいのかな。。
0 コメント:
コメントを投稿