開発環境
- 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 コメント:
コメントを投稿