私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】ID出さなくても質問OKなスレ【初心者歓迎】

みんなの評価 : ○
レスフィルター : (試験中)
ループでキーに数値以外が含まれてるかどうか判定するだけじゃん
プログラマーならすぐ思いつくと思うが・・
プログラマーならすぐ思いつくと思うが・・
>>400
多分、PHPには「単純な配列」って無いんじゃないかな。
http://php.morva.net/manual/ja/language.types.array.php
>PHP の配列は、実際には順番付けられたマップです。マップは型の一種で、 値をキーに関連付けます。
多分、PHPには「単純な配列」って無いんじゃないかな。
http://php.morva.net/manual/ja/language.types.array.php
>PHP の配列は、実際には順番付けられたマップです。マップは型の一種で、 値をキーに関連付けます。
>>403
それは質問者が考えればいいことだし。
ただ、「普通の配列」ってのは無いってだけで。
歯抜けな配列も作れるし、キー値だけでチェックするのもかなりびみょー。
ところで配列のキー値がすべて整数かチェックする専用関数って何?
ざっと見た感じ見当たらないんだけど。
http://php.morva.net/manual/ja/book.array.php
それは質問者が考えればいいことだし。
ただ、「普通の配列」ってのは無いってだけで。
歯抜けな配列も作れるし、キー値だけでチェックするのもかなりびみょー。
ところで配列のキー値がすべて整数かチェックする専用関数って何?
ざっと見た感じ見当たらないんだけど。
http://php.morva.net/manual/ja/book.array.php
きみの言うスマートな方法ってのは明確で解かりやすいというより
制御構造使わないような方法のこと?
制御構造使わないような方法のこと?
>>407
いいよ。
いいよ。
僕は一応html4系とxhtml1.0と1.1で、しかもstrictとtなんちゃらで使えるタグと属性を口頭で全部言えるぐらいの知識しか持ちません
xhtml1.0 strictで使えるタグの数もパッと言えるぐらいの知識です
xhtml1.0 strictで使えるタグの数もパッと言えるぐらいの知識です
ちなみにhtml4.1 strictとxhtml1.0 strictで使えるタグは同じです
4択問題をcsvに記録していくスクリプトを作っています。
csvに下のように書き込まれるようにしています。
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
複数の人が同時に行うと、下のようにデータが混ざってしまいますよね?
Aさん,答え(Aさん),[Bさん参入で改行]
Bさん,答え(Bさん),答え(Bさん),答え(Aさん),答え(Aさん),答え(Bさん),
実際に試してみるというのがやりにくい問題なので、何を勉強しないといけないか
教えていただけますか。
そもそもCSVでこの手の記録をやろろうとするのはどうなんでしょうか。
csvに下のように書き込まれるようにしています。
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
複数の人が同時に行うと、下のようにデータが混ざってしまいますよね?
Aさん,答え(Aさん),[Bさん参入で改行]
Bさん,答え(Bさん),答え(Bさん),答え(Aさん),答え(Aさん),答え(Bさん),
実際に試してみるというのがやりにくい問題なので、何を勉強しないといけないか
教えていただけますか。
そもそもCSVでこの手の記録をやろろうとするのはどうなんでしょうか。
>>419
コード書いてもらわないと的を得た回答はでないよ
コード書いてもらわないと的を得た回答はでないよ
以前$_SERVER["DOCUMENT_ROOT"]のことでググったときに
DOCUMENT_ROOTの値が実際の値とは違う場合がある事例を見ました。
とすると<base>タグやスクリプト内で絶対パスを作るときにこの変数を使うのは
危険な可能性もあるんでしょうか。
$rootPath = $_SERVER["DOCUMENT_ROOT"];
$a = $rootPath."/sample";
<base href="{$rootPath}">
また$_SERVER["DOCUMENT_ROOT"]以外にルートパス(?)を取得する方法はありますか?
DOCUMENT_ROOTの値が実際の値とは違う場合がある事例を見ました。
とすると<base>タグやスクリプト内で絶対パスを作るときにこの変数を使うのは
危険な可能性もあるんでしょうか。
$rootPath = $_SERVER["DOCUMENT_ROOT"];
$a = $rootPath."/sample";
<base href="{$rootPath}">
また$_SERVER["DOCUMENT_ROOT"]以外にルートパス(?)を取得する方法はありますか?
そのDOCUMENT_ROOTの値が実際の値とは違う場合がある事例を知らないけど
その事例がわかれば対応できないか?
その事例がわかれば対応できないか?
DOCUMENT_ROOTって、
public_htmlとか、
htdocとかのこと?
public_htmlとか、
htdocとかのこと?
概略はこんな感じです。最初の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)
}
一番下の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)
}
スクリプト後半です。長いので細かいところは省略してありますが、
本物は期待通り動くことは動きます。
**********
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)} }
本物は期待通り動くことは動きます。
**********
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
ありがとうございます。
>>430
ありがとうございます。
そうですね。最後に一気に書き込む仕様にしておけばいいですよね。
今の仕様ですと、最初のelseの中でぐるぐると出題するごとに
各問題に対する回答者の答えを一つ一つ書き込む
仕様なので(<私の理解が間違ってなければ)、おそらく複数の人が
回答すると419のようにデータ混じるのではないかと思っています。
途中の回答を回答者ごとに一時的にどこかにためておけばいいんですね。
テンポラリーファイルを回答者ごとに別々に作成して回答を一時的に格納し、
最後にひとつの記録用ファイルに書き込むというのを今考えたんですが、
これどうでしょうか、他にもっといいやり方があるでしょうか?
ありがとうございます。
>>430
ありがとうございます。
そうですね。最後に一気に書き込む仕様にしておけばいいですよね。
今の仕様ですと、最初のelseの中でぐるぐると出題するごとに
各問題に対する回答者の答えを一つ一つ書き込む
仕様なので(<私の理解が間違ってなければ)、おそらく複数の人が
回答すると419のようにデータ混じるのではないかと思っています。
途中の回答を回答者ごとに一時的にどこかにためておけばいいんですね。
テンポラリーファイルを回答者ごとに別々に作成して回答を一時的に格納し、
最後にひとつの記録用ファイルに書き込むというのを今考えたんですが、
これどうでしょうか、他にもっといいやり方があるでしょうか?
掲示板の親記事にコメントすると
その親記事にコメントが表示されますが
これってどういうアルゴリズムなんでしょうか?
その親記事にコメントが表示されますが
これってどういうアルゴリズムなんでしょうか?
全てはデータ構造
データ構造が決まればそれに合わせてプログラムがコーディングされるだけ。
データ構造が決まればそれに合わせてプログラムがコーディングされるだけ。
>>434
PEAR使えば?
PEAR使えば?
$getUA = $_SERVER['HTTP_USER_AGENT'];
$f = file("DeviceDisplay.csv");
foreach ($f as $k=>$v){
list($name, $ua) = explode(',', rtrim($v));
if ($getUA == $ua) {echo "csvに記録されてました";}
}
$f = file("DeviceDisplay.csv");
foreach ($f as $k=>$v){
list($name, $ua) = explode(',', rtrim($v));
if ($getUA == $ua) {echo "csvに記録されてました";}
}
>>437
===
===
> if ((strstr($userAgent,$agen))!= false){
$agent
なんかいろいろあるな
$agent
なんかいろいろあるな
>>435-439
ご指摘ありがとうございます!
今回は自力でやりたいのでがんばってみます。
改行を消したのにそれを代入してないのと、
==で判定、そして決定的な綴りミスですね・・・orz
以上を踏まえてリベンジしてきます。
ご指摘ありがとうございます!
今回は自力でやりたいのでがんばってみます。
改行を消したのにそれを代入してないのと、
==で判定、そして決定的な綴りミスですね・・・orz
以上を踏まえてリベンジしてきます。
1.ファイルがない時は作成し、ある時は追加モードでオープン。
2.ファイルが新規作成された時は、chmod 0666
という処理をしたいです。
fopen($filePath, 'a')でファイルオープンした時に、
新規作成されたかどうかが分かれば簡単にできると思うのですが、
できません。
どのようにすれば目的の処理ができるでしょうか?
2.ファイルが新規作成された時は、chmod 0666
という処理をしたいです。
fopen($filePath, 'a')でファイルオープンした時に、
新規作成されたかどうかが分かれば簡単にできると思うのですが、
できません。
どのようにすれば目的の処理ができるでしょうか?
マジレスするとファイルの作成&書き込み時にfile_exisitsなどはやめた方が良い
>>444
何故に?
何故に?
>>445
chmod するしないぐらいなら、そんなに神経質にならなくても良いと思うが。
chmod するしないぐらいなら、そんなに神経質にならなくても良いと思うが。
>>446
ファイルがあるかな?
ファイルがないなー
よーしファイルをつくるぞー
ちょーーとまったーワシが先にファイルを作るでぇ~ゲヘゲヘ
よっしゃーワシが先にファイル作成完了~~大勝利~~~
、、、さーーって、さっき調べた時にファイルなかったから、作るかな,,,
作成、っと、、、ん?今、なんか、違和感を感じたが、、、、なんだったんだ???
ファイルがあるかな?
ファイルがないなー
よーしファイルをつくるぞー
ちょーーとまったーワシが先にファイルを作るでぇ~ゲヘゲヘ
よっしゃーワシが先にファイル作成完了~~大勝利~~~
、、、さーーって、さっき調べた時にファイルなかったから、作るかな,,,
作成、っと、、、ん?今、なんか、違和感を感じたが、、、、なんだったんだ???
類似してるかもしれないスレッド
- 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 (1001) - [100%] - 2009/1/28 18:17
- 【PHP】ID出さんでも質問OKなスレ【初心者歓迎】2 (1001) - [86%] - 2009/11/19 20:19 ○
- 【PHP】フレームワーク CakePHP 3ホール目【本命】 (1001) - [33%] - 2008/6/19 7:19 ○
- 【PHP】フレームワークについて語るスレ12【総合】 (994) - [31%] - 2009/3/19 13:46 ○
トップメニューへ / →のくす牧場書庫について