[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/10 00:01 / Filesize : 191 KB / Number-of Response : 862
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】ID出さなくても質問OKなスレ【初心者歓迎】



1 名前:nobodyさん mailto:sage [2009/02/03(火) 01:09:36 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

330 名前:nobodyさん mailto:sage [2009/04/27(月) 17:31:11 ID:???]
img src=〜を書き出すPHPをincludeすればいいんでないの

331 名前:nobodyさん mailto:sage [2009/04/27(月) 17:39:04 ID:???]
まあどっちにしても1個のIMGタグで複数画像を表示するのは無理。

方法としては、複数の画像をPHPで1個にくっつけて出力。
IMGタグを複数書く手段を考える。

のどっちか。
IMGタグをPHPの出力で複数にしつつ、SRC="xxxx.php?param=1"とかやればいいように思うけど

332 名前:327 mailto:sage [2009/04/27(月) 17:42:52 ID:???]
HTMLにincludeとなるとSSIのincludeで埋め込むという事でしょうか?
実際に試してみましたがうまくいかないようです。
今だに>>323のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。

333 名前:nobodyさん mailto:sage [2009/04/27(月) 17:54:20 ID:???]
>>332
includeについては、HTML側を.phpにしてincludeすれば良いだけよ

PHP入門サイトを適当に流し読みして、
せめて何が出来るのかを理解してみたほうがよい

334 名前:nobodyさん mailto:sage [2009/04/27(月) 18:06:26 ID:???]
>>332
>今だに>>323のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。

コーラを飲んだらゲップがでるるくらいあたりまえなんだが
HTML自体わかってないのか

335 名前:nobodyさん mailto:sage [2009/04/28(火) 05:11:21 ID:???]
Googleとかで適当に検索して ”この先を見るにはログインする必要があります”
ってサイトに巡り合ったとします。
それでGoogleにあるキャッシュってを押しても中身を見れず
ログインする必要がありますって言われるのはなんでですか?
GoogleのROBOTがそのページを収集してると思うんですけど
PHPでは何の関数を使ってるんですか?


336 名前:nobodyさん mailto:sage [2009/04/28(火) 11:29:29 ID:???]
はい?
上:クローラーがログインできるわけないから
下:GoogleがPHPの何の関数を使ってるかということ?

337 名前:nobodyさん mailto:sage [2009/05/01(金) 17:40:52 ID:???]
質問です。

foreachで値を.","で区切って

 12,14,33,11,18,

ってなるまではいいのですが、最後の値18の次の","は消すことできますか?

 12,14,33,11,18

にしたいのですが、お願いします。



338 名前:nobodyさん mailto:sage [2009/05/01(金) 17:58:39 ID:???]
implode(',', $array)とか



339 名前:nobodyさん mailto:sage [2009/05/01(金) 18:02:40 ID:???]
>>338
解決しました。thank you so much

340 名前:nobodyさん [2009/05/02(土) 11:01:45 ID:V+mNLWbo]
PEAR:Net_IMAPで、
PHP上で生成したメールメッセージをGmailのINBOXに保存したいんだけど、
mail_composeとかmove関数が実装されてない?

341 名前:nobodyさん [2009/05/02(土) 11:36:05 ID:V+mNLWbo]
自己レス。できた。

342 名前:nobodyさん mailto:sage [2009/05/02(土) 17:12:13 ID:???]
PECLで魅力的な関数があるけど
みんなPEARとか使ってんの?

343 名前:nobodyさん [2009/05/02(土) 21:20:35 ID:+TEZ3ZO9]
お願いです。教えてください。
smartyで年月選択のセレクトボックスをつくりたいのですが、リストの内容を、「現在の年からさかのぼって30年」というふうにしたいのです。
また、それとは別に「現在年から3年後」までのリストも表示したいです。
どこに何をいれれば表示できるのかさっぱりわかりません。
よろしくお願いします。

Apache 2.2.11
MySQL 5.1.33
PHP 5.2.9 です。

344 名前:nobodyさん mailto:sage [2009/05/02(土) 21:54:01 ID:???]
誘導厨


345 名前:nobodyさん mailto:sage [2009/05/02(土) 22:47:23 ID:???]
>>343
思いっきり標準であるが
www.smarty.net/manual/ja/language.function.html.select.date.php

346 名前:nobodyさん mailto:sage [2009/05/03(日) 05:25:43 ID:???]
問い合わせフォーム等を、ググりまくりながらギリギリコピペなしで自作できるようになったレベルの準初心者です
今参考にしてるソースに一見簡単そうなのに未知の記号が出てきて、完全読解不能に陥ってます
ググりたいんですが何でググればいいか手がかりがなくてちょっと質問させてください

$number = ($_GET['n']) ? $_GET['n'] : count($r->getItems());

この行の「?」と「:」と「->」はいったいPHPの何を勉強すれば出てくるんでしょうか
この行が何をしてるのかわからないばっかりに変にいじってAnhttpdが強制終了しまくりますw

347 名前:nobodyさん mailto:sage [2009/05/03(日) 06:31:10 ID:???]
三項演算子とアロー演算子

348 名前:346 mailto:sage [2009/05/03(日) 07:49:18 ID:???]
ありがとうございます
ひょっとして三項演算子ってifとelseでいいんじゃとか思うのは素人だからですね・・・



349 名前:nobodyさん mailto:sage [2009/05/03(日) 10:06:03 ID:???]
>>345
ありがとうございます。
実はここに書き込む前にこのページを検索して見つけてはいたのですが、どうやって記述すればよいのかまったくわかりません。
ためしにsmartyのなかに{html_select_date}とかいてみましたがそのまま出てきてしまいました 汗
まったくのど素人で申し訳ないのですがよろしくお願いします。



350 名前:nobodyさん mailto:sage [2009/05/03(日) 10:30:25 ID:???]
>>349
別にif-elseでいいよ
三項演算子は可読性が悪いから
会社とかだと大抵コーディング規約で禁止されてる
変数に入れられるのは結構いい場面もあるけどね
例にもあるように$_GETや$_POSTなんかをセットするときには便利

351 名前:350 mailto:sage [2009/05/03(日) 10:31:06 ID:???]
↑アンカーミス
>>348宛ね

352 名前:nobodyさん mailto:sage [2009/05/03(日) 10:37:40 ID:???]
三項演算子なんてほとんどの言語に用意されてるわけだしわざわざ禁止する会社があるのか?

353 名前:nobodyさん mailto:sage [2009/05/03(日) 10:43:38 ID:???]
三項演算子を入れ子にされるとわかりにくくなることはあるなw

354 名前:343=349 mailto:sage [2009/05/03(日) 10:57:52 ID:???]
なんとか試行錯誤して表示することができました。
これって平成〜年とか昭和〜年とか表示するドロップダウンリストをつくることはできないのでしょうか?

355 名前:nobodyさん mailto:sage [2009/05/03(日) 12:40:21 ID:???]
>>352
グループで開発するってのはそういうことなんだよ

356 名前:nobodyさん mailto:sage [2009/05/03(日) 13:04:05 ID:???]
複数人で作業するときとかスクリプトを縮小化とき以外に三項演算子使うやつはバカ

357 名前:nobodyさん mailto:sage [2009/05/03(日) 13:21:09 ID:???]


358 名前:nobodyさん mailto:sage [2009/05/03(日) 15:01:30 ID:???]
そろそろ話し控えないと参考演算子クンが荒らしに変貌しそうだよ!



359 名前:nobodyさん mailto:sage [2009/05/03(日) 15:06:48 ID:???]
参考演算子てwwwwwww

360 名前:nobodyさん mailto:sage [2009/05/03(日) 16:44:20 ID:???]
三項演算子を規約で禁止しちゃうような会社はいろんな意味でダメだろうなぁって気はする。
まぁバカでも組めるものを組ませるって考えはあるんだけどさ。

361 名前:nobodyさん mailto:sage [2009/05/03(日) 16:56:31 ID:???]
>>360
残念
社会では三光演算子は嫌われます

362 名前:nobodyさん mailto:sage [2009/05/03(日) 17:00:05 ID:???]
>>358
残念
社会では三光演算子は嫌われます

363 名前:nobodyさん mailto:sage [2009/05/03(日) 17:06:02 ID:???]
確かにドカタの監督からは嫌われるだろうね。

364 名前:nobodyさん mailto:sage [2009/05/03(日) 21:25:24 ID:???]
CSVにデータを書き出すスクリプトで、一行終わったら改行が入るようにしているんですが、
処理の途中で止まって(とめて)改行が行われないことがあります(あるとします)。その時に、ファイルの最後に
改行が入ってないことを検知して、改行をした上で新しいデータを次の行から作りたいんですが、
改行の有無はどうやったら検知できますでしょうか?今使っているエディタ(EmEditor)では
「↓」という記号で改行がマークされ、ググったりしましたが、どうしていいものやらよく
わかりません。


1,2,1,2,3,2[改行]
1,1,1,2,3,3[改行]
1,1,2,[処理ストップ、改行なしの行]  <-- [改行]が無いことを検知して改行追加したい

常に改行を冒頭に入れるようにすると、データのない行ができて、のちのち面倒なので、
それは避けたいと思っています。

365 名前:nobodyさん mailto:sage [2009/05/03(日) 21:31:37 ID:???]
\n

366 名前:364 mailto:sage [2009/05/03(日) 21:43:26 ID:???]
fseek($file, -4, SEEK_END);
$string = fgets($file, 1000);
var_dump($string);

dumpしても改行部分は空白になりますよね。
例えば、検索かけて、"\n"でマッチするんでしょうか?

367 名前:364 mailto:sage [2009/05/03(日) 21:56:26 ID:???]
マッチしますね。失礼しました。m(._ _)m

368 名前:nobodyさん [2009/05/04(月) 13:26:07 ID:0LqkTRhF]
POSTで送った引数がIE6,7では表示されない
firefoxでは表示されてる。。。
php.iniの設定変更がいるのですか?



369 名前:nobodyさん mailto:sage [2009/05/04(月) 13:40:32 ID:???]
いらん

370 名前:nobodyさん [2009/05/04(月) 13:53:15 ID:0LqkTRhF]
ある掲示板でvariables_orderを「EPGS」にすればとありましたが、
それでも表示されないまま。
HTMLやCSSの問題ですか?

371 名前:nobodyさん mailto:sage [2009/05/04(月) 14:09:38 ID:???]
>HTMLやCSSの問題ですか?
それ疑う前に
ソースみて反映されてるかどうか確認してみなよ

372 名前:nobodyさん [2009/05/04(月) 14:22:28 ID:0LqkTRhF]
list.phpからdetail.phpにsubmitしてます。
ソースは以下です。
「list.php」
<html>
<body>
<form action="detail.php" method="POST">
<input type="image" src="img/detail.gif" name="submit" value="0001">
</form>
</body>
</html>
「detail.php」
<html>
<body>
<p>詳細情報</p>
<?php
print "submit:".$_POST["submit"]."<br>";
?>
取得情報:
<?php
print $_POST["submit"]."<br>";
?>
</body>
</html>

373 名前:nobodyさん mailto:sage [2009/05/04(月) 14:34:18 ID:???]
IEでは位置情報しか送られん

374 名前:nobodyさん [2009/05/04(月) 15:14:34 ID:0LqkTRhF]
解決しました
type="image"でなく、hiddenでPOSTしたらうまくいきました
phpinfo()で表示された値は位置情報だったんですね

375 名前:nobodyさん mailto:sage [2009/05/04(月) 15:15:04 ID:???]
phpinfoで出るっけ?

376 名前:nobodyさん mailto:sage [2009/05/05(火) 21:05:16 ID:???]
DBのログを取りたいのですがどうすればいいですか?
よく不正アクセスの痕跡を見つけた と言ってますが・・・

377 名前:nobodyさん mailto:sage [2009/05/06(水) 12:17:28 ID:???]
二つの文章があります

(☆)(★)(◇)

(☆)(★)(◇)

(★)の部分は文字列、文字数共に不確定で1,2共に全く違う文章です。
(☆)(◇)の部分は文字列、文字数共に不確定ですが1,2共に同じ文章です

(★)の部分のみを切り取りたいのですがどうすればいいでしょうか?



378 名前:nobodyさん mailto:sage [2009/05/06(水) 12:18:14 ID:???]
すみません番号を振るのを忘れていました

(☆)(★)(◇)

(☆)(★)(◇)



1.(☆)(★)(◇)

2.(☆)(★)(◇)



379 名前:nobodyさん mailto:sage [2009/05/06(水) 12:26:10 ID:???]
>>377
意味がわからん

380 名前:nobodyさん mailto:sage [2009/05/06(水) 12:27:01 ID:???]
>>378
pear.php.net/package/Text_Diff/
こんなのとか

381 名前:nobodyさん mailto:sage [2009/05/06(水) 12:27:14 ID:???]
>>379
文章が二つあってどこが変更されたか検知するプログラムを作る場合どうすればいいでしょうか

382 名前:nobodyさん mailto:sage [2009/05/06(水) 12:28:09 ID:???]
>>380
ありがとうございます!!こんな感じです


383 名前:nobodyさん mailto:sage [2009/05/06(水) 13:20:24 ID:???]
>>380
やっぱりこれじゃダメでした
改行していない場合同じ文字列の部分も違う物として取得されてしまいました

改行していない文章の差分を取得したいのですが無理でしょうか・・・

たとえば

aaabbccc

axxaabbbccac

の二つの文章があった場合
xxとbとaを取得したいのです

384 名前:nobodyさん mailto:sage [2009/05/06(水) 13:31:31 ID:???]
すみませんやっぱり大丈夫かもしれませんw
全て1文字ずつの配列にしたらしっかり判定されました
お騒がせしてすみません

385 名前:nobodyさん mailto:sage [2009/05/06(水) 15:01:48 ID:???]
PDOを使って
MYSQLからデータ表示するコードください?

386 名前:nobodyさん mailto:sage [2009/05/06(水) 15:06:38 ID:???]
ttp://jp2.php.net/manual/ja/pdo.query.php

387 名前:nobodyさん mailto:sage [2009/05/06(水) 15:36:58 ID:???]
>>386
ありがとうです
あと、実行時にApache HTTPサーバーと表示させ落とされます
どうすればいいですか?

388 名前:nobodyさん mailto:sage [2009/05/06(水) 15:42:54 ID:???]
Apache のログ見ろよ



389 名前:nobodyさん mailto:sage [2009/05/06(水) 16:04:07 ID:???]
>>388
! ありがとうです
なんとかできそうです

390 名前:nobodyさん [2009/05/06(水) 16:48:50 ID:GdRs26+o]
外部サイトからLZHファイルを取得して解凍、内容を取得したいのですが、うまくいきません・・・

$url = 'xxxxx'; //ファイルのURL

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);

$filename = $path . 'test.lzh';

file_put_contents($filename, $data);

exec('lha e ' . $filename);

こんなかんじなのですが、
ファイル取得まではできているのですが、
解凍ができません;

どこがおかしいのでしょうか?

391 名前:nobodyさん mailto:sage [2009/05/06(水) 16:54:27 ID:???]
>>383
できる

392 名前:nobodyさん mailto:sage [2009/05/06(水) 17:07:04 ID:???]
>>390
lhaにはパス通ってるの?
execの引数でフルパスで指定してみては

393 名前:390 [2009/05/06(水) 17:32:18 ID:GdRs26+o]
>>392
レスありがとうございます。
展開先を指定したらちゃんと解凍できました;
スレ汚しすみません;;

せっかくなので聞きたいのですが、
外部からのファイル取得方法は上記でよいのでしょうか?
いちど変数に格納してfile_put_contentsで書き込むというのがなんだか回りくどい気がするのですが、
ほかに方法がありましたら教えてください!

394 名前:nobodyさん mailto:sage [2009/05/06(水) 17:55:33 ID:???]
そらまあローカルの実ファイルが無いと無理だからなあ。
組み込んでメモリストリームから、、、とかはこのスレの範囲外かな

395 名前:nobodyさん mailto:sage [2009/05/06(水) 19:39:47 ID:???]
一旦、全部メモリ中に展開するってのはどうなんかね。
fread/fwriteを繰り返した方がいい気もするが。

396 名前:nobodyさん [2009/05/06(水) 23:04:45 ID:XF4iBoH0]
MySQLでテーブルを作ったとき確認する方法は
PHPで記述する場合mysql_resultでいいのでしょうか?


397 名前:nobodyさん mailto:sage [2009/05/07(木) 07:02:22 ID:???]
$data = array(
'hoge' => 'hoge',
'fuga' => 'fuga'
);

$data = array(
0 => array(
'hoge' => 'hoge',
'fuga' => 'fuga'
),
1 => array(
'hoge' => 'hoge',
'fuga' => 'fuga'
)
);

このような配列を、前者のタイプか後者のタイプか判定したいのですが、
どのような方法が考えられますでしょうか?

よろしくお願いします。

398 名前:nobodyさん mailto:sage [2009/05/07(木) 10:40:06 ID:???]
前者のタイプか後者のタイプかってどういうこと?



399 名前:nobodyさん mailto:sage [2009/05/07(木) 11:34:01 ID:???]
2次元配列かどうかってことだろ?

400 名前:397 mailto:sage [2009/05/07(木) 12:28:43 ID:???]
>>398
>>399

説明が足りず申し訳ありません。
2次元配列かどうか、というか、
1次元目(?)が連想配列なのか、単純な配列なのかを調べたいのです。

現在は、

if ( isset ( $data[0] ) )
だったら、後者というように判定しているのですが・・・

401 名前:nobodyさん mailto:sage [2009/05/07(木) 12:35:38 ID:???]
ループでキーに数値以外が含まれてるかどうか判定するだけじゃん
プログラマーならすぐ思いつくと思うが・・

402 名前:nobodyさん mailto:sage [2009/05/07(木) 12:45:30 ID:???]
>>400
多分、PHPには「単純な配列」って無いんじゃないかな。

php.morva.net/manual/ja/language.types.array.php
>PHP の配列は、実際には順番付けられたマップです。マップは型の一種で、 値をキーに関連付けます。

403 名前:nobodyさん mailto:sage [2009/05/07(木) 13:11:43 ID:???]
>>402
だからキーが数値のみで
構成されているかどうかを
調べたい、ってことだろ?

専用関数あるだろ。

404 名前:nobodyさん mailto:sage [2009/05/07(木) 13:25:21 ID:???]
>>403
それは質問者が考えればいいことだし。
ただ、「普通の配列」ってのは無いってだけで。
歯抜けな配列も作れるし、キー値だけでチェックするのもかなりびみょー。

ところで配列のキー値がすべて整数かチェックする専用関数って何?
ざっと見た感じ見当たらないんだけど。

php.morva.net/manual/ja/book.array.php

405 名前:397 mailto:sage [2009/05/07(木) 13:25:50 ID:???]
>>401
それはもちろん思いついたのですが、
もう少しスマートな方法はないかと思いまして・・・


return array_keys($array) !== range(0, count($array) - 1);

こんな方法があるのを知ったのですが、
これだと、

$array(
0 => 'hoge',
2 => 'fuga',
3 => 'piyo'
);

のように、配列が歯抜けになっている場合に一致しなくなりますし・・・

>>403
専用の関数とは何のことでしょうか??

406 名前:nobodyさん mailto:sage [2009/05/07(木) 13:38:16 ID:???]
きみの言うスマートな方法ってのは明確で解かりやすいというより
制御構造使わないような方法のこと?

407 名前:nobodyさん mailto:sage [2009/05/07(木) 18:30:34 ID:???]
クラスってのがなかなか理解できません
どなたか詳しく解説してくれませんか?

408 名前:nobodyさん mailto:sage [2009/05/07(木) 18:37:19 ID:???]
どこが分からんの?



409 名前:nobodyさん mailto:sage [2009/05/07(木) 22:32:52 ID:???]
>>407
いいよ。

410 名前:nobodyさん mailto:sage [2009/05/07(木) 23:13:30 ID:???]
このスレの先輩方はhtmlは得意でしょうか?

411 名前:nobodyさん mailto:sage [2009/05/07(木) 23:28:15 ID:???]
おうよ

412 名前:nobodyさん mailto:sage [2009/05/07(木) 23:31:35 ID:???]
ほんとかよwwwwwwwwwwwwwwwwwww

413 名前:410 mailto:sage [2009/05/07(木) 23:34:13 ID:???]
僕は一応html4系とxhtml1.0と1.1で、しかもstrictとtなんちゃらで使えるタグと属性を口頭で全部言えるぐらいの知識しか持ちません
xhtml1.0 strictで使えるタグの数もパッと言えるぐらいの知識です

414 名前:nobodyさん mailto:sage [2009/05/08(金) 00:10:55 ID:???]
じゃ言ってみてくれ

415 名前:410 mailto:sage [2009/05/08(金) 00:13:27 ID:???]
>>414
76個

416 名前:410 mailto:sage [2009/05/08(金) 00:14:07 ID:???]
ちなみにhtml4.1 strictとxhtml1.0 strictで使えるタグは同じです

417 名前:nobodyさん mailto:sage [2009/05/08(金) 00:16:17 ID:???]
はよ全部言えよ

418 名前:nobodyさん mailto:sage [2009/05/08(金) 01:36:40 ID:???]
なんだよ質問じゃなくただの知ったかかよ



419 名前:nobodyさん mailto:sage [2009/05/09(土) 08:57:00 ID:???]
4択問題をcsvに記録していくスクリプトを作っています。
csvに下のように書き込まれるようにしています。

名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)

複数の人が同時に行うと、下のようにデータが混ざってしまいますよね?

Aさん,答え(Aさん),[Bさん参入で改行]
Bさん,答え(Bさん),答え(Bさん),答え(Aさん),答え(Aさん),答え(Bさん),

実際に試してみるというのがやりにくい問題なので、何を勉強しないといけないか
教えていただけますか。
そもそもCSVでこの手の記録をやろろうとするのはどうなんでしょうか。

420 名前:nobodyさん mailto:sage [2009/05/09(土) 09:09:56 ID:???]
flock

421 名前:nobodyさん mailto:sage [2009/05/09(土) 10:00:00 ID:???]
>>419
コード書いてもらわないと的を得た回答はでないよ

422 名前:nobodyさん mailto:sage [2009/05/09(土) 17:18:10 ID:???]
以前$_SERVER["DOCUMENT_ROOT"]のことでググったときに
DOCUMENT_ROOTの値が実際の値とは違う場合がある事例を見ました。
とすると<base>タグやスクリプト内で絶対パスを作るときにこの変数を使うのは
危険な可能性もあるんでしょうか。
$rootPath = $_SERVER["DOCUMENT_ROOT"];
$a = $rootPath."/sample";
<base href="{$rootPath}">
また$_SERVER["DOCUMENT_ROOT"]以外にルートパス(?)を取得する方法はありますか?

423 名前:nobodyさん mailto:sage [2009/05/09(土) 17:40:17 ID:???]
aru

424 名前:nobodyさん mailto:sage [2009/05/09(土) 18:05:56 ID:???]
そのDOCUMENT_ROOTの値が実際の値とは違う場合がある事例を知らないけど
その事例がわかれば対応できないか?

425 名前:nobodyさん mailto:sage [2009/05/09(土) 23:32:39 ID:???]
DOCUMENT_ROOTって、
public_htmlとか、
htdocとかのこと?

426 名前:nobodyさん mailto:sage [2009/05/10(日) 00:07:15 ID:???]
>>425
知らない奴に聞いてねえよ
ロムってろks野郎

427 名前:419 mailto:sage [2009/05/10(日) 00:07:59 ID:???]
概略はこんな感じです。最初のifで名前の処理をした後は、最初の問題提示が
一番下のelseから始まり、まず二つ目のifに入り、その後は最初のelseの中をぐるぐるやって、
問題がなくなったら終了するような仕様です。今のところflockはあてずっぽうに入っている状態です。
15問あったとしてAさんがそれを終えるまでのすべてにろっくをかけておかないといけないのでしょうか。
複数の人が同時に問題を解けるようにしたいのですが。
if($_POST["id"] =="999"){
$file_name = "record.txt";
$file = fopen($file_name, "a+") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
中略(解答者の名前の書き込み)
fputs($file, $time);
flock($file, LOCK_UN);
fclose($file);
}

if (is_numeric(@$_POST['answer']) || $_POST['id'] == "2"){
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
if(intval(@$_POST['k']) == "0")
{
中略(正誤判定)
fputs($file, $string);
flock($file, LOCK_UN);
fclose($file);
中略(問題提示とPOST)
}


428 名前:419 mailto:sage [2009/05/10(日) 00:11:40 ID:???]
スクリプト後半です。長いので細かいところは省略してありますが、
本物は期待通り動くことは動きます。
**********
else {
$file_name = "record.txt";
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
中略(正誤判定)
fputs($file, $string);
flock($file, LOCK_UN);
fclose($file);
//////全問終了
if($question[0] == ""){
echo "<br><br>終了です!";
中略
$file_name = "record.txt";
$file = fopen($file_name, "a") or die("OPENエラー $file_name");
flock($file, LOCK_EX);
$string = $array.",";
$time = $time."\n";
fputs($file, $string);
flock($file, LOCK_UN);//同時アクセスを防ぐロックを解除
fclose($file);
}
else{
中略(問題提示とPOST)
}
} }
else {
$fname = "voc.csv";
$data = file($fname);
中略(問題提示とPOST)}  }



429 名前:nobodyさん mailto:sage [2009/05/10(日) 00:12:13 ID:???]
>>427
マジレスするとflock($file,LOCK_UN)はいらない
なぜならfcloseでファイルが閉じられるから

430 名前:nobodyさん mailto:sage [2009/05/10(日) 03:06:05 ID:???]
>>427
> 複数の人が同時に問題を解けるようにしたいのですが。
全問終了時だけファイル操作(とロック)すればいいと思うんですよね。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<191KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef