【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/11/07(日) 17:11:24ID:???0483nobodyさん
2011/03/17(木) 08:29:52.77ID:???0484475
2011/03/17(木) 15:57:22.92ID:???テキストリンクの広告を扱っています。
SEO目的なのでできれば静的に処理されるPHPで
処理を行いたかったのですが、無理そうですので
アドバイスに従い iframe を使ってみようと思います。
jsonp のクロスドメインについても、勉強しながら後々には使えるようになりたいです。
ありがとうございました。
0485nobodyさん
2011/03/18(金) 18:37:32.02ID:???0487nobodyさん
2011/03/18(金) 21:12:42.56ID:???0488nobodyさん
2011/04/13(水) 01:23:37.18ID:3ZKLqUAhhoge1.phpは以下のようにしてhoge2.phpを呼び出すものとします。
header(location=”hoge2.php”);
この場合、WEBサーバーではhoge1.phpへのアクセス(プロセス?)は無く
なった物と認識して、hoge2.phpへ移るものと考えて良いのでしょうか?
それともhoge2.phpが表示されている最中もhoge1.phpにアクセスが
残っていると認識されるのでしょうか?
0489nobodyさん
2011/04/13(水) 01:34:51.75ID:???0490nobodyさん
2011/04/13(水) 09:37:32.13ID:???アクセスログも残るし処理も続いたような気が・・・
ただ画面遷移はされてるので処理してるかどうかとかはわからないはず
0491nobodyさん
2011/04/15(金) 23:38:33.44ID:???今の所プログラムの基本的な流れや仕組みは理解。
1から書けと言われれば本を見ながら。
特別な処理になるとちょっとお手上げというレベルですが…
こんなのを作りたいので以下。
1.ある2人が別々のフォームから6つの言葉を入力する。
2.お互いが何を入力したか相手(や第三者)には分からない。途中で書き直しもできる
3."開封日"を設定する(これはお互いが一緒でないといけない もしくは片方が決める)
4.開封日になると6つのボタンが表示される
5.1つめのボタンを押せば、2人が入力した1つめの言葉が公開される
6.そんな感じでボタンを押して開封していく
そんなシステムを作りたいんですが、これってかなり複雑ですか?
作りたいものが見えていると頑張れる気はします
0492nobodyさん
2011/04/16(土) 00:24:55.57ID:???勉強にもなるところがありそうだし、いいんでない?
ファイル入出力、ユーザ識別あたりが考えどころになるかな。
0493nobodyさん
2011/04/16(土) 10:29:29.46ID:???それと、「ある2人」が自分と友人とか決まった人同士なら楽だけど、
公開ウェブサービスのように不特定多数のユーザーから「ある2人」を選ぶならかなり難しいと思う。
0494nobodyさん
2011/04/16(土) 14:35:53.07ID:???ありがとうございます やはりデータベースは触ることになりそうですね…
MySLQ?でしたっけ、こちらも勉強していこうと思います。
ある2人については、不特定多数のユーザーですねorz
ただ、2人に予めパスワードなど決めてもらって
同じパス同士でやらないと作動しないという風には考えてあります。
余計ややこしくなるかな
0495nobodyさん
2011/04/17(日) 19:29:11.00ID:???これからはPostgreSQL
0498nobodyさん
2011/04/18(月) 20:51:30.94ID:???それにPostgreSQLってまともに使われてたの日本ぐらいじゃないか・・・
0499nobodyさん
2011/04/19(火) 12:44:28.65ID:???0500nobodyさん
2011/04/23(土) 14:29:20.27ID:???filetime的な
PHP5
0502nobodyさん
2011/04/23(土) 15:57:27.70ID:???0503nobodyさん
2011/04/28(木) 19:38:37.99ID:???最終的には2chの掲示板のようなのをつくりたいんですが、知識ゼロです。
ネットにも適当なサイトがなくて、本で勉強したいんですが、たくさんあってよく分かりません。
どういった本を読んでいけばいいんでしょうか。
お勧めの本とかあれば教えてください。
0504nobodyさん
2011/04/28(木) 20:07:39.10ID:???入門者なんてどれも似たり寄ったりだ
0505nobodyさん
2011/04/28(木) 20:36:35.26ID:???0506nobodyさん
2011/04/28(木) 20:38:59.67ID:???0507nobodyさん
2011/04/28(木) 21:19:15.48ID:???逆算して自分が覚えるべきことをリストにまとめろ
例えば
2ちゃんのような掲示板を作る
↑
スレッド式掲示板を作る
↑
記事とコメントフォームだけのシンプルな掲示板を作る
↑
コメントフォームをデザインする
↑
ファイルに文字列を書き込む&ファイルの内容を読み込むコードを書く
↑
http://localhost/にアクセスしてHello worldを表示させる
0508nobodyさん
2011/04/28(木) 23:16:15.39ID:P8KNi+qPreturn $arg;
}
これを一行で書きたいんだけどなにかあったら
教えてください
0509nobodyさん
2011/04/28(木) 23:17:17.28ID:???return $arg;
}
$b = a("aaaaaaa");
0510nobodyさん
2011/04/28(木) 23:39:24.90ID:???0511nobodyさん
2011/04/28(木) 23:40:49.93ID:???0512nobodyさん
2011/04/28(木) 23:52:31.78ID:???0513nobodyさん
2011/04/28(木) 23:59:31.65ID:???0514503
2011/04/29(金) 13:13:09.43ID:???phpの勉強する前に、htmlがほとんど分からないんですが、掲示板を作るにあたってhtmlから勉強したほうがいいんでしょうか。
それともphpの本を読んでいくと自然に掲示板を作るかぎりでのhtmlの使い方が分かるようになりますか。
教えて君ですみませんが、ウェブアプリを作るのははじめてでどうhtmlの知識が入ってくるのか想像ができないレベルです・・・。
一応学習計画としては、
よくわかるPHPの教科書→絵本→基礎からのMySQL→PHPによるWebアプリケーションスーパーサンプルを考えてますが、html部分もこれらで解説されているのでしょうか?
0515nobodyさん
2011/04/29(金) 13:57:22.06ID:???0516nobodyさん
2011/04/29(金) 14:00:34.46ID:???次に、「どのように出力するとどのようにブラウザに表示されるか?」を理解する意味でhtmlかな。
<ここはオプション>
見栄えを気にするならCSS
更に、クリックしたときに画像のアップを見せたい、とかいう感じの動的なページを望むならJavascript
</ここはオプション>
で、PHPかね
どこを重視するかによって、オプションは抜かしていくのがいいと思うが・・・
使い勝手を気にするならオプションは無視できんかな
0517nobodyさん
2011/04/29(金) 17:02:27.17ID:???0519nobodyさん
2011/04/29(金) 17:12:10.18ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
【PHP】下らねぇ質問はID出して書き込みやがれ 101
http://hibari.2ch.net/test/read.cgi/php/1289793607/
【PHP】下らねぇ試ソ問はID出して緒曹ォ込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/
【PHP】下らねぇ質問はID出して書き込みやがれ 99
http://hibari.2ch.net/test/read.cgi/php/1286938893/
【PHP】下らねぇ質問はID出して書き込みやがれ 98
http://hibari.2ch.net/test/read.cgi/php/1284805237/
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/
【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/
【PHP】下らねぇ質問はID出して書き込みやがれ 95
http://pc11.2ch.net/test/read.cgi/php/1271636105/
0520nobodyさん
2011/04/29(金) 17:12:33.60ID:???0521nobodyさん
2011/04/29(金) 19:48:26.54ID:???PHPの前にHTMLとCSSは必須。
半月からひと月くらいはHTML/CSSに時間を割いた方が良い。
PHPの読む本は挙げたのでok。
オススメの順番は、
PHPの絵本→基礎からのMySQL→よくわかるPHPの教科書→PHPによるWebアプリケーションスーパーサンプル
(理由:負担が軽い順だとこうなる)
0522503
2011/04/30(土) 10:51:16.37ID:???htmlとcssは本当によくわかってないんで、2ch風な掲示板を作るにはどうやって勉強したらいいかわからないです。
最終的には、スレッド式掲示板を作るにもphpだけではなくhtmlとcssが必要だと思いますが、ネットや本を読んでも文法の説明がほとんどで、どうやれば掲示板のhtmlが書けるのかわかりません。
学習計画としたら、どんな本(あるいはネット)を読めばいいでしょうか。
0523nobodyさん
2011/04/30(土) 10:59:38.68ID:???http://hibari.2ch.net/test/read.cgi/hp/1301891537/
0524nobodyさん
2011/04/30(土) 12:26:35.27ID:???って考えるだろう。それをコードにすれば掲示板が出来あがる。
0525nobodyさん
2011/05/01(日) 16:53:28.14ID:???/(\s|^)(I|you)(\s|$|\.)/という正規表現があるとして
「(I|you)」の部分だけキャプチャするのは正規表現だけで書けますか?
0526nobodyさん
2011/05/01(日) 17:00:36.21ID:????:について調べればいいんだけど、名前忘れた
/(?:\s|^)(I|you)(?:〜〜
としてみて
0527nobodyさん
2011/05/01(日) 18:56:18.17ID:???直接そのPCからブラウザで開いてみたりしたら遅くなりました^^;
別PCでもエクスプローラからはそのPC見れるんだけどなにが起きているのだろう・・・
ともかくやってみました。
preg_match("/(?:\s|^)(I|you)(?:\s|$|\.)/"," you ",$a);var_dump($a);
出力:array(2) { [0]=> string(5) " you " [1]=> string(3) "you" }
下記を見て「(?:〜)」もキャプチャされる気がするのですがやり方あるのでしょうか?
http://www.php.net/manual/ja/regexp.reference.subpatterns.php
0528nobodyさん
2011/05/01(日) 18:59:46.39ID:???0529525
2011/05/01(日) 19:07:51.11ID:???ちなみに別PCから見れなかったのはセキュリティソフト設定が戻ってたのが原因でした。
冷静なればなんでもなかった。
それとID・番号なかった・・・527も525です。
0530nobodyさん
2011/05/01(日) 19:15:39.73ID:???0531525
2011/05/01(日) 19:23:25.42ID:???というのが狙いで正規表現はPHP・JavaScriptでしかまともに使ったことがなかったので
ここで質問したのですが別の方法検討してみます。。
0532nobodyさん
2011/05/01(日) 21:20:32.58ID:???> preg_match("/(?:\s|^)(I|you)(?:\s|$|\.)/"," you ",$a);var_dump($a);
> 出力:array(2) { [0]=> string(5) " you " [1]=> string(3) "you" }
>
> 下記を見て「(?:〜)」もキャプチャされる気がするのですがやり方あるのでしょうか?
> http://www.php.net/manual/ja/regexp.reference.subpatterns.php
キャプチャされてない結果にしか見えない。
"you"だけが欲しいなら"you"だけにマッチする正規表現にすればいいだけ。
言明の項も読むといいよ。
0533525
2011/05/01(日) 23:28:06.45ID:???まだ言明の所を読んでいる途中ですが他にやっておくこともあるので時間切れです^^;
一応試した所まで書いときます。明日夜にまた試してみる予定です。
preg_match("/(?<=\s|^)(I|you)(?=(\s|$|\.))/"," you layout I ",$a);var_dump($a);
出力:array(3) { [0]=> string(3) "you" [1]=> string(3) "you" [2]=> string(1) " " } ?
> にしか見えない。
それとここが少し気になります。1つ目の要素は「((?:〜)」の部分に記述した内容にもマッチしてると
思うのですが、2つ目だけ見ればという意味なのでしょうか。
0534525
2011/05/01(日) 23:30:35.42ID:???0535nobodyさん
2011/05/01(日) 23:54:31.53ID:???0536nobodyさん
2011/05/01(日) 23:56:22.83ID:???そんな気にするほどの最適化にもなんないから無駄
0537nobodyさん
2011/05/02(月) 08:18:13.13ID:???>>532の前段
1番目の要素にはマッチした全体が格納され、2番目以降にはキャプチャされた内容が格納される仕様
キャプチャして欲しくないものには?:をつける
なので、正しく除外された結果になっている
>>532の後段
マッチした全体として "you" が欲しいなら言明の項を参照して、先(後)読み肯定(否定)を学んで
マッチした全体が "you" となる正規表現に書き換えればいい
その際に何もキャプチャして欲しくないのなら出現するグループすべてに?:をつければいい
0538nobodyさん
2011/05/02(月) 08:27:49.05ID:???preg_match("/(?<=\s|^)(?:I|you)(?=(?:\s|$|\.))/"," you layout I ",$a);var_dump($a);
preg_match("/(?<!\w)(?:I|you)(?!\w)/"," you layout I ",$a);var_dump($a);
結果の1番目と2番目以降の意味が違うことには気をつけて。
0539525
2011/05/02(月) 10:08:48.30ID:????:の使い方で見れば除外されているという意味だったのですかね。
なるほど「(?=と(?:の組み合わせ」と「\wを前後に持ってきて先・後読み否定」という考えでしょうか。
ではまた夜に。
0540nobodyさん
2011/05/02(月) 17:00:08.39ID:???1ディレクトリにたくさんのファイルが作成されると、ファイルシステムの性能が低下するという話をききました。
そしてPHPではそのための対策もされているそうで。すばらしい。
それで質問なんですが、1ディレクトリあたりどのくらいのセッションファイルが置かれると
性能が低下しますか。もちろんファイルシステムごとに違うと思いますので、
このファイルシステムなら1000個ぐらいから性能が低下したとか、
このファイルシステムでは10000ぐらい作ってもまったく問題ないとか、
教えてください。
0542nobodyさん
2011/05/02(月) 17:41:43.71ID:???cpuが化石でメモリがクソ小さい低スペ鯖と100万つぎ込まれて作られた鯖もあるのにどうやって答えろと
0543nobodyさん
2011/05/02(月) 19:59:15.88ID:???PHPでは、たとえばセッションIDが abc123 だとすると、先頭の何文字かを
使ってディレクトリをたどり、
a/b/sess_abc123
という名前のセッションファイルを作成することで、1ディレクトリ内での
ファイル数を抑える機能が標準であります。
これを知ったときはPHPすごいと思いました。
それで、具体的に1ディレクトリあたりどのくらいのファイル数だと
パフォーマンスが落ちるのかを知りたいと思いました。
>>542
はい、ですからスペック情報もこみで、こんなスペックだったらこのくらいの
パフォーマンスだったよというのを教えてください。
0544nobodyさん
2011/05/02(月) 20:25:37.32ID:???まぁ処理だけならext3で1万ぐらいは平気だと思うよ
0546525
2011/05/02(月) 21:21:58.17ID:???半信半疑ですが一応できたっぽいです。まだ言明最後までちゃんとは読んでなかったですが^^;
英文の単語の色分け表示をする為サクラエディタの正規表現キーワードに使うつもりですが、
他にもこうした方がいいとかあればよろしくお願いします。
preg_match_all("/(?<!\w)(?:I|you)(?!\w)/","you layout I.",$a);var_dump($a);
出力:array(1) { [0]=> array(2) { [0]=> string(3) "you" [1]=> string(1) "I" } } ?
そういえば複数マッチはall付でした。\wを使った方が短くなるのでこれを使おうと思います。
0547nobodyさん
2011/05/02(月) 21:25:36.03ID:???ありがとうございます。今はまだext3がいちばんよく使われてるみたいですね。
ReiserFSやXFSだとディレクトリあたりのファイル数が増えても性能劣化がほとんどないらしいですが
ext3でも1万くらいは平気なら、そう気にすることではないですね。
参考になりました。ext4ならどうなんだろう。
>>545
なにを怒ってるの?カルシウム足りてないんじゃ?
0548>>526=532=537=538
2011/05/02(月) 23:05:31.84ID:???できる方法を提示すればそれで良いかと思い、できないっていうレスはずっとスルーしてた。
サクラエディタのことは詳しくないが、キーワードリスト作る程度でハイライトしてくれても
よさそうに思うので、サクラエディタスレで聞いてみたらどうだろ。
>>544,547
ext3で6万ファイルぐらい入ってるのはみたことあるよ。
ファイル名を指定してアクセスする分には特に重くもなかった。
けど、ls -lなんかをやると非常に遅かったと思う。
0549nobodyさん
2011/05/02(月) 23:22:55.10ID:???まぁこれもカーネル弄ればどーとでもなる話だけど・・・
0550>>526=532=537=538
2011/05/02(月) 23:53:52.60ID:???0551nobodyさん
2011/05/02(月) 23:54:49.72ID:???0552nobodyさん
2011/05/03(火) 01:02:38.42ID:???まぁここらの話はスレチすぎると思うw
0553525
2011/05/03(火) 06:20:46.53ID:???少しググってみると.khp.kwdファイルを使ってもいける?みたいですね。
これも便利そうなので自分できなかったりしたらサクラエディタのスレでまた聞いてみます。
0554nobodyさん
2011/05/03(火) 09:44:03.93ID:???0555nobodyさん
2011/05/05(木) 22:36:12.53ID:xGGX9oCi<?php
$fp=fopen("012_count.txt","r+");// 読み書きモードでオープン
$n=fgets($fp); // 文字列の読み取り
$n++; // カウントアップ
echo $n,"人目"; // 表示
rewind($fp); // 読み書き位置を先頭に戻す
fputs($fp,$n); // 書き込み
fclose($fp); // ファイルを閉じる
?>
### 012_count.txt ###
0
…これでhttp://localhost/php/011_counter.phpにアクセスすると
0 人目
が表示されます。
ただ、F5を押しても、他のサイトを見てまたアクセスしても加算されません。
012_count.txtの内容を3にすると、3 人目になりますが加算はされません。
テキストには「0の後に改行を入れると加算されない」とあるので、特に注意して改行を入れないようにしています。
どこがおかしいのでしょうか?
上のを普通に実行させるとどうなりますか?
0556nobodyさん
2011/05/05(木) 22:45:23.58ID:???アクセスした時点でプラス1足して表示されるようにコード書いたんだから0人目って表示されるのはおかしいでしょ
0557555
2011/05/05(木) 22:57:59.84ID:xGGX9oCiレスありがとうございます!
ですよね?
大変申し訳ないんですが上のコードちょっと実行してくださいませんか?
というか、どこがおかしいか何か調べるデバッグの方法はないですかね?
0558555
2011/05/05(木) 23:03:45.73ID:xGGX9oCiたった今、$n++を$n=$n+1に変えたら加算されました。
これって$n++は何がしかの理由で動いていない、ということでしょうけど、
この原因に心当たりはありませんか?
0559nobodyさん
2011/05/05(木) 23:08:28.59ID:???$n++;
は本当に $n だったかどうか
0560555
2011/05/05(木) 23:15:08.05ID:xGGX9oCi先ほどの$n++を$n=$n+1の変更を011_counter_kai.phpという名前で保存して実行したのが>>558ですが、
元の011_counter.phpに戻しても加算されます!
いや、でも「間違いなく」改行コードは付けていませんでした。
と思ってもう一度実験してみました。
012_count.txtが28まで加算されてたんですけど、
消してまた"0"とだけ打って保存しました。
そうすると、また動かなくなりました。
それで011_counter_kai.phpを実行すると
また加算され始めます。
手打ちの"0"って改行コードか何か付いてしまうもんなんですか???
使ってるエディターはvimです。
気持ち悪いので説明をお願いします。
0561555
2011/05/05(木) 23:20:32.34ID:xGGX9oCiでは改めてコピペしてみます:
$n++; // カウントアップ
投稿前からまったくいじっていません。
こんなので躓いていたらこの先思いやられますね…。
ちなみに環境からなんからほぼすべての情報は
http://okwave.jp/qa/q6715796.html
に書きました('A`)<誰も答えてくれねぇ…
0562>>526=532=537=538
2011/05/05(木) 23:23:37.44ID:???改行コードつくよ。それがテキストファイルだから。
それより、それが問題で動かなくなるもんなの?
fputs($fp, "$n");
とかするとどうなるの
0563nobodyさん
2011/05/05(木) 23:24:12.54ID:???0564nobodyさん
2011/05/05(木) 23:29:36.04ID:???$n=(int)fgets($fp); // 文字列の読み取り
ってやるといいのかな。
0565nobodyさん
2011/05/05(木) 23:34:15.66ID:???この辺の影響かと
0566555
2011/05/05(木) 23:55:00.97ID:xGGX9oCiあ、それなら動きますね!
一つ不思議なことに
011_counter.phpだと
0 人目
と、0と人の間にスペースが一つ空くんですが、
011_counter_kai.phpや>>564さんのを参照して作った011_counter_kei.phpは
1人目
のように0と人の間にスペース空きません。
>>565
この辺ですか?
Note that the ++ and -- don't convert a boolean to an int. The following code will loop forever.
function a($start_index) {
for($i = $start_index; $i < 10; $i++) echo "\$i = $i\n";
}
a(false);
This behavior is, of course, very different from that in C. Had me pulling out my hair for a while.
なるほど、これが宣言無しで動いてしまうPHPの盲点なんですね(ただ、Perlでは今のところこんなのに出会ったことはないですね…)。
元々はC言語書きなんで宣言無いのは違和感あります。
確かに自分のコード(テキストの載っているそのままですが)を見ると、文字列で取得してそのままインクリメントしてますね。
「基礎から学べるPHP標準コースウェア」河西朝雄 記述評論者、って本です(晒し上げ)。
勉強になりました。これからも勉強し続けます。ありがとうございました!
0567nobodyさん
2011/05/06(金) 00:26:22.98ID:???> C では 'Z'+1 は '[' ( ord('Z') == 90, ord('[') == 91 ) を返します。
> 文字変数はインクリメントされることは可能ですがデクリメントは不可能であるということ、
> またプレーンな ASCII 文字 (a-z および A-Z) のみがサポートされるということに注意しましょう。
多分で申し訳ないんだけど、改行が含まれる文字列の場合、数値以外のものが含まれているため、
数値としてインクリメントは不可、また、文字列としてのインクリメントに関しては、[a-zA-Z0-9]以外の
文字が含まれているため不可、ということなんじゃないかなと。
> またプレーンな ASCII 文字 (a-z および A-Z) のみ
こう書いてるけど、Perlと同様、a-z および A-Z および 0-9 と思う。
0568555
2011/05/08(日) 02:20:11.69ID:???ありがとうございます。
なるほど、そっちの方でしたか。
こういう問題があるならやっぱり宣言を必須にしてほしいですね。
0569nobodyさん
2011/05/08(日) 02:29:31.79ID:???連想配列の宣言が必要そうなんですが、どこにどう入れていいのか思い付きません。文章を引用します:
連想配列を利用して、ファイル056_word.txtの単語の頻度を配列に取得する例を示します。
strtokは文字列をトークンに分ける関数です。Windowsファイルの改行は\n\rなので、
\rも区切りに含めないと\rが単語として配列にカウントされてしまいます。
### 055_hash3.php ###
<pre>
<?php
$word=file_get_contents("056_word.txt");
$tok=strtok($word,".\n\r ");
while ($tok!=false){
$tokcount[$tok]++;
$tok=strtok(".\n\r ");
}
print_r($tokcount);
?>
</pre>
実行結果
Array
(
[This] => 1
[is] => 2
[a] => 2
[pen] => 1
[That] => 1
[book] => 1
)
続きます。↓
0570nobodyさん
2011/05/08(日) 02:42:45.94ID:???### 056_word.txt ###
This
is
a
pen
That
is
a
book
…なのでしょう。それをそのまま実行すると、以下のメッセージと共に予想された実行結果が出ます:
Notice: Undefined index: This in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: is in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: a in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: pen in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: That in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Notice: Undefined index: book in /UNIONFS/opt/lampp/htdocs/php/055_hash3.php on line 7
Array
(
[This] => 1
[is] => 2
[a] => 2
[pen] => 1
[That] => 1
[book] => 1
)
…上のメッセージが出ないようにするにはどうすればよいのでしょうか?
あっ!今、気付いたんですが、インデックスが未定義と言っているんですね…。
そりゃ、今ファイルから切り取ってきたばかりの単語たちですから、定義されてたら逆におかしいですよね…?
しかも検索したら出てきました、エラーレベルを落とせばいいんですね。お騒がせしました。(^^ゞ
0571nobodyさん
2011/05/08(日) 03:17:31.53ID:???0572nobodyさん
2011/05/08(日) 05:05:26.21ID:???それに、>>568のような気持ちがあるなら警告レベルを落とすなんて雑なことをせず、
コードを直すほうがいい。
それはそれとして、問題がいくつかあるので指摘。
・Windowsの改行コードはCRLF(\r\n)
・どこかに0という単語が含まれてるとそこで終わる
・古いPHPだともっといろんなところで終わる
これらの問題は while ($tok !== false) とすれば解決するけれど、
なぜそうなるのかはマニュアルでも見て。
てか、その本ダメだと思うなら捨てちゃえばいいと思うよ。
著者サイトで正誤表が公開されてないかの確認はしてる?
# 昔は出版社に誤植の指摘すると図書券くれたりしたもんだけど今はないのかな。
0573nobodyさん
2011/05/09(月) 20:22:58.78ID:???ありがとうございます。
直せるんですか?
直せるなら直したいです。
今、正誤表あるのか調べてみましたけど、無いみたいですね。
でも、サンプルがダウンロードできました!
055_hash3.php、仰るとおり while ($tok !== false) に訂正されてましたよ。w
056_word.txtも二行で書かれてました。
!=と!==の違いはこの本で説明されてました。
でも、実行するとやっぱり同じメッセージが。
どうやってこれを直すのですか?
0574nobodyさん
2011/05/09(月) 20:36:04.22ID:???0576nobodyさん
2011/05/11(水) 02:04:30.40ID:???そんなに忙しくなったことないのは幸せなことだなぁ
0577nobodyさん
2011/05/11(水) 07:11:21.64ID:???0578nobodyさん
2011/05/11(水) 09:11:54.11ID:???http://gihyo.jp/book/2009/978-4-7741-3800-8/support
酷すぎて修正するだけ時間の無駄というか、別の本で勉強し直したら?
少なくとも仕事のために覚えたい人は読んじゃいけないコードばかり
0580nobodyさん
2011/05/14(土) 15:23:36.30ID:???if文の条件式に「もし改行があれば」ってどういう風に書けばいいでしょうか
今やりたいことは
あるテキスト(A.txt)を一行ずつ取得して
空行ならcontinue;みたいなことができれば最高です。
【ソース】
$text = fopen("C:/A.txt","r");
$i = 0;
while(($line = fgets($text))){
//もし改行のみならば飛ばして次の行に進むみたいなの作りたいけどwhile進まんお……^ω^;
if($line == \n){ //←これが不正
continue;
}else{
$i++;
file_put_contents("C:/".$i.".txt",$line);
}
}
0581nobodyさん
2011/05/14(土) 15:32:47.25ID:???■ このスレッドは過去ログ倉庫に格納されています