【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
at PHP
[前50を表示]
300:297
09/04/21 08:05:00
あ、わかりました
個数とかって記録すべきか、一回一回数えるSQLで行くべきか
悩みます
301:274
09/04/21 10:08:05
すみません、274なんですけど、
わかる方いらっしゃいませんか?
302:nobodyさん
09/04/21 10:37:43
エラー時のRSSデータをまず保存してはどうだろう
303:nobodyさん
09/04/21 14:24:33
>>300
そういう冗長性が発生するチューニングは遅いと思ってからやった方が良いんじゃない。
適切にインデックスつければよっぽど問題にならんし。
304:nobodyさん
09/04/21 22:37:51
$a='1,2,3,4,5,';
foreach(explode(',',$a) as $v) echo $v;
こう書くのってどう?キモい?
305:nobodyさん
09/04/21 23:23:43
コードの縮小化ならいいと思うがな
一人で使う分にはいいがいろんな人に見せるなら見栄えを取った方がいい
306:294
09/04/22 00:51:27
>>296
ありがとう
今までやってたけどうまくいきました
使ったものは$_SERVER['PATH_INFO']だけど、ここにたどり着けた事に感謝
307:nobodyさん
09/04/22 00:58:06
>>300
コードは分かりやすく書いてキャッシュかなぁ
308:nobodyさん
09/04/22 01:55:32
>>304
一度文字列に代入する理由が分からないが、explodeで配列にするのだから、
foreach (array(1, 2, 3, 4, 5) as $v) echo $v;
でよくね?
309:nobodyさん
09/04/22 11:07:24
foreachだけ配列を使うって決まってるならそれでもいいが
それだと使いまわせない
310:nobodyさん
09/04/22 11:43:35
$array = array(1,2,3,4,5)でいいじゃん
311:nobodyさん
09/04/23 18:29:33
PHP+MySQLで本のデータベースサイト作ろうと思っている
で、よくある「URLリンク(x-comic.info)」みたいにタグの部分をクリックすれば一覧が表示されるページ作りたいんだけど、
具体的な作り方が何を見ても載ってないというか俺が無知すぎて分からないというか・・・
こういうやり方が載ってるサイトとか書籍とかってないの?
312:nobodyさん
09/04/23 18:30:33
タグの部分?
313:nobodyさん
09/04/23 18:39:15
エロサイトの宣伝か・・・
314:nobodyさん
09/04/23 19:29:14
あー確かにエロサイトの宣伝と思われても仕方なかったなw
でも他にいいサイト思い付かなかったんだよ。
一般系のデータベースサイトで似たような構成のとこあったら教えてもらえると嬉しい。
知人に聞こうと思ったりもしたんだがここのエロ系データベースサイトくらいしか思いつかなくて聞けなかったんだわ
話は戻るけど>>312さんの言うとおりタグの部分(クリックすると一覧が出る)ところの作り方です
315:nobodyさん
09/04/23 19:56:26
>>314
多対多の結合だからちょっと難しいかもね。
データの件数にもよるが、真面目につくろうとすると↓のような感じで3つのテーブルが必要。
books(id、 name)
tags( id、 name)
books_tags( book_id、 tag_id)
あとはセレクト文でごにょごにょ。
316:nobodyさん
09/04/23 20:07:23
>>314
ドカントに広告出してる三流風俗店のHP管理乙
317:nobodyさん
09/04/23 21:14:05
>>314
ありがとう、検討してみる
俺はもうちょっと勉強が必要だな
318:nobodyさん
09/04/23 23:21:30
タグ名までid化する必要性って、あんまりない気がする。
319:nobodyさん
09/04/24 01:27:59
なんで?
320:nobodyさん
09/04/24 04:39:48
タグIDの代わりにタグ名そのまま使っても大差ないから。
っていうか、自分なら、ブック名も変更されたりかぶったりする可能性がないなら、
こっちもID化しないかなぁ。
データベース直接見た時にラクだから。
大概はインデックス貼っとけばパフォーマンスは、確保できるし。
321:nobodyさん
09/04/24 23:37:47
タグ名を自然キーとしてIDにするという話と、ID化しない=主キーのないテーブルを作るという話とどっちなんだ?
322:nobodyさん
09/04/24 23:42:55
うんID化とかいう俺俺用語は本質を理解してなさげが伝わるので微妙
323:nobodyさん
09/04/27 15:32:30
下のソースを実行すると画像が1個しか表示されません。
readfileの部分をHTMLタグのimg srcにするとちゃんと全部表示されます。
1個目は表示されているので間違ってはいないと思いますが、
大して理解出来ていない私にどこに問題あるのか突っ込みいれてもらえないでしょうか。
header("Content-type: image/gif");
// 画像表示
for($i = 1; $i < 10; $i++){
$num = substr($count , $i , 1);
readfile($num . ".gif");
}
324:nobodyさん
09/04/27 15:41:55
あたりまえだろ
最終的にどうしたいのか
325:323
09/04/27 15:46:02
複数の画像をHTMLに呼び出したいです。
>>323だとindex.htmlに表示することが出来ないのでHTMLに<img src〜といった形で
呼び出せるようにしたいと考えてます。
iframeも考えたのですがデザイン上それがダメということでどうにか出来ないものかと思ってます。
326:nobodyさん
09/04/27 16:00:26
複数画像分だけimg src=〜でいいじゃない
327:323
09/04/27 16:17:06
>>326
画像は日によって表示されるものがかわるので
HTMLにimg srcで固定してしまうわけにはいかない状態です。
またHTMLにimgタグでphpを指定しても1個しか表示されないので
複数画像分の指定がどのようにすれば出来るのかが分からない状態となっております。
328:nobodyさん
09/04/27 17:12:23
何か疲れるなあ
変更できないhtmlファイルの中に可変個の画像を置きたい、ということでいいのか?
329:327
09/04/27 17:14:43
>>328
はい。
説明がへたくそで申し訳ないです。
330:nobodyさん
09/04/27 17:31:11
img src=〜を書き出すPHPをincludeすればいいんでないの
331:nobodyさん
09/04/27 17:39:04
まあどっちにしても1個のIMGタグで複数画像を表示するのは無理。
方法としては、複数の画像をPHPで1個にくっつけて出力。
IMGタグを複数書く手段を考える。
のどっちか。
IMGタグをPHPの出力で複数にしつつ、SRC="xxxx.php?param=1"とかやればいいように思うけど
332:327
09/04/27 17:42:52
HTMLにincludeとなるとSSIのincludeで埋め込むという事でしょうか?
実際に試してみましたがうまくいかないようです。
今だに>>323のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。
333:nobodyさん
09/04/27 17:54:20
>>332
includeについては、HTML側を.phpにしてincludeすれば良いだけよ
PHP入門サイトを適当に流し読みして、
せめて何が出来るのかを理解してみたほうがよい
334:nobodyさん
09/04/27 18:06:26
>>332
>今だに>>323のソースで画像が1個しか表示されない理由が不明なのでがんばってみます。
コーラを飲んだらゲップがでるるくらいあたりまえなんだが
HTML自体わかってないのか
335:nobodyさん
09/04/28 05:11:21
Googleとかで適当に検索して ”この先を見るにはログインする必要があります”
ってサイトに巡り合ったとします。
それでGoogleにあるキャッシュってを押しても中身を見れず
ログインする必要がありますって言われるのはなんでですか?
GoogleのROBOTがそのページを収集してると思うんですけど
PHPでは何の関数を使ってるんですか?
336:nobodyさん
09/04/28 11:29:29
はい?
上:クローラーがログインできるわけないから
下:GoogleがPHPの何の関数を使ってるかということ?
337:nobodyさん
09/05/01 17:40:52
質問です。
foreachで値を.","で区切って
12,14,33,11,18,
ってなるまではいいのですが、最後の値18の次の","は消すことできますか?
12,14,33,11,18
にしたいのですが、お願いします。
338:nobodyさん
09/05/01 17:58:39
implode(',', $array)とか
339:nobodyさん
09/05/01 18:02:40
>>338
解決しました。thank you so much
340:nobodyさん
09/05/02 11:01:45 V+mNLWbo
PEAR:Net_IMAPで、
PHP上で生成したメールメッセージをGmailのINBOXに保存したいんだけど、
mail_composeとかmove関数が実装されてない?
341:nobodyさん
09/05/02 11:36:05 V+mNLWbo
自己レス。できた。
342:nobodyさん
09/05/02 17:12:13
PECLで魅力的な関数があるけど
みんなPEARとか使ってんの?
343:nobodyさん
09/05/02 21:20:35 +TEZ3ZO9
お願いです。教えてください。
smartyで年月選択のセレクトボックスをつくりたいのですが、リストの内容を、「現在の年からさかのぼって30年」というふうにしたいのです。
また、それとは別に「現在年から3年後」までのリストも表示したいです。
どこに何をいれれば表示できるのかさっぱりわかりません。
よろしくお願いします。
Apache 2.2.11
MySQL 5.1.33
PHP 5.2.9 です。
344:nobodyさん
09/05/02 21:54:01
誘導厨
↓
345:nobodyさん
09/05/02 22:47:23
>>343
思いっきり標準であるが
URLリンク(www.smarty.net)
346:nobodyさん
09/05/03 05:25:43
問い合わせフォーム等を、ググりまくりながらギリギリコピペなしで自作できるようになったレベルの準初心者です
今参考にしてるソースに一見簡単そうなのに未知の記号が出てきて、完全読解不能に陥ってます
ググりたいんですが何でググればいいか手がかりがなくてちょっと質問させてください
$number = ($_GET['n']) ? $_GET['n'] : count($r->getItems());
この行の「?」と「:」と「->」はいったいPHPの何を勉強すれば出てくるんでしょうか
この行が何をしてるのかわからないばっかりに変にいじってAnhttpdが強制終了しまくりますw
347:nobodyさん
09/05/03 06:31:10
三項演算子とアロー演算子
348:346
09/05/03 07:49:18
ありがとうございます
ひょっとして三項演算子ってifとelseでいいんじゃとか思うのは素人だからですね・・・
349:nobodyさん
09/05/03 10:06:03
>>345
ありがとうございます。
実はここに書き込む前にこのページを検索して見つけてはいたのですが、どうやって記述すればよいのかまったくわかりません。
ためしにsmartyのなかに{html_select_date}とかいてみましたがそのまま出てきてしまいました 汗
まったくのど素人で申し訳ないのですがよろしくお願いします。
350:nobodyさん
09/05/03 10:30:25
>>349
別にif-elseでいいよ
三項演算子は可読性が悪いから
会社とかだと大抵コーディング規約で禁止されてる
変数に入れられるのは結構いい場面もあるけどね
例にもあるように$_GETや$_POSTなんかをセットするときには便利
351:350
09/05/03 10:31:06
↑アンカーミス
>>348宛ね
352:nobodyさん
09/05/03 10:37:40
三項演算子なんてほとんどの言語に用意されてるわけだしわざわざ禁止する会社があるのか?
353:nobodyさん
09/05/03 10:43:38
三項演算子を入れ子にされるとわかりにくくなることはあるなw
354:343=349
09/05/03 10:57:52
なんとか試行錯誤して表示することができました。
これって平成〜年とか昭和〜年とか表示するドロップダウンリストをつくることはできないのでしょうか?
355:nobodyさん
09/05/03 12:40:21
>>352
グループで開発するってのはそういうことなんだよ
356:nobodyさん
09/05/03 13:04:05
複数人で作業するときとかスクリプトを縮小化とき以外に三項演算子使うやつはバカ
357:nobodyさん
09/05/03 13:21:09
w
358:nobodyさん
09/05/03 15:01:30
そろそろ話し控えないと参考演算子クンが荒らしに変貌しそうだよ!
359:nobodyさん
09/05/03 15:06:48
参考演算子てwwwwwww
360:nobodyさん
09/05/03 16:44:20
三項演算子を規約で禁止しちゃうような会社はいろんな意味でダメだろうなぁって気はする。
まぁバカでも組めるものを組ませるって考えはあるんだけどさ。
361:nobodyさん
09/05/03 16:56:31
>>360
残念
社会では三光演算子は嫌われます
362:nobodyさん
09/05/03 17:00:05
>>358
残念
社会では三光演算子は嫌われます
363:nobodyさん
09/05/03 17:06:02
確かにドカタの監督からは嫌われるだろうね。
364:nobodyさん
09/05/03 21:25:24
CSVにデータを書き出すスクリプトで、一行終わったら改行が入るようにしているんですが、
処理の途中で止まって(とめて)改行が行われないことがあります(あるとします)。その時に、ファイルの最後に
改行が入ってないことを検知して、改行をした上で新しいデータを次の行から作りたいんですが、
改行の有無はどうやったら検知できますでしょうか?今使っているエディタ(EmEditor)では
「↓」という記号で改行がマークされ、ググったりしましたが、どうしていいものやらよく
わかりません。
1,2,1,2,3,2[改行]
1,1,1,2,3,3[改行]
1,1,2,[処理ストップ、改行なしの行] <-- [改行]が無いことを検知して改行追加したい
常に改行を冒頭に入れるようにすると、データのない行ができて、のちのち面倒なので、
それは避けたいと思っています。
365:nobodyさん
09/05/03 21:31:37
\n
366:364
09/05/03 21:43:26
fseek($file, -4, SEEK_END);
$string = fgets($file, 1000);
var_dump($string);
dumpしても改行部分は空白になりますよね。
例えば、検索かけて、"\n"でマッチするんでしょうか?
367:364
09/05/03 21:56:26
マッチしますね。失礼しました。m(._ _)m
368:nobodyさん
09/05/04 13:26:07 0LqkTRhF
POSTで送った引数がIE6,7では表示されない
firefoxでは表示されてる。。。
php.iniの設定変更がいるのですか?
369:nobodyさん
09/05/04 13:40:32
いらん
370:nobodyさん
09/05/04 13:53:15 0LqkTRhF
ある掲示板でvariables_orderを「EPGS」にすればとありましたが、
それでも表示されないまま。
HTMLやCSSの問題ですか?
371:nobodyさん
09/05/04 14:09:38
>HTMLやCSSの問題ですか?
それ疑う前に
ソースみて反映されてるかどうか確認してみなよ
372:nobodyさん
09/05/04 14:22:28 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さん
09/05/04 14:34:18
IEでは位置情報しか送られん
374:nobodyさん
09/05/04 15:14:34 0LqkTRhF
解決しました
type="image"でなく、hiddenでPOSTしたらうまくいきました
phpinfo()で表示された値は位置情報だったんですね
375:nobodyさん
09/05/04 15:15:04
phpinfoで出るっけ?
376:nobodyさん
09/05/05 21:05:16
DBのログを取りたいのですがどうすればいいですか?
よく不正アクセスの痕跡を見つけた と言ってますが・・・
377:nobodyさん
09/05/06 12:17:28
二つの文章があります
(☆)(★)(◇)
(☆)(★)(◇)
(★)の部分は文字列、文字数共に不確定で1,2共に全く違う文章です。
(☆)(◇)の部分は文字列、文字数共に不確定ですが1,2共に同じ文章です
(★)の部分のみを切り取りたいのですがどうすればいいでしょうか?
378:nobodyさん
09/05/06 12:18:14
すみません番号を振るのを忘れていました
(☆)(★)(◇)
(☆)(★)(◇)
↓
1.(☆)(★)(◇)
2.(☆)(★)(◇)
379:nobodyさん
09/05/06 12:26:10
>>377
意味がわからん
380:nobodyさん
09/05/06 12:27:01
>>378
URLリンク(pear.php.net)
こんなのとか
381:nobodyさん
09/05/06 12:27:14
>>379
文章が二つあってどこが変更されたか検知するプログラムを作る場合どうすればいいでしょうか
382:nobodyさん
09/05/06 12:28:09
>>380
ありがとうございます!!こんな感じです
383:nobodyさん
09/05/06 13:20:24
>>380
やっぱりこれじゃダメでした
改行していない場合同じ文字列の部分も違う物として取得されてしまいました
改行していない文章の差分を取得したいのですが無理でしょうか・・・
たとえば
aaabbccc
axxaabbbccac
の二つの文章があった場合
xxとbとaを取得したいのです
384:nobodyさん
09/05/06 13:31:31
すみませんやっぱり大丈夫かもしれませんw
全て1文字ずつの配列にしたらしっかり判定されました
お騒がせしてすみません
385:nobodyさん
09/05/06 15:01:48
PDOを使って
MYSQLからデータ表示するコードください?
386:nobodyさん
09/05/06 15:06:38
URLリンク(jp2.php.net)
387:nobodyさん
09/05/06 15:36:58
>>386
ありがとうです
あと、実行時にApache HTTPサーバーと表示させ落とされます
どうすればいいですか?
388:nobodyさん
09/05/06 15:42:54
Apache のログ見ろよ
389:nobodyさん
09/05/06 16:04:07
>>388
! ありがとうです
なんとかできそうです
390:nobodyさん
09/05/06 16:48:50 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さん
09/05/06 16:54:27
>>383
できる
392:nobodyさん
09/05/06 17:07:04
>>390
lhaにはパス通ってるの?
execの引数でフルパスで指定してみては
393:390
09/05/06 17:32:18 GdRs26+o
>>392
レスありがとうございます。
展開先を指定したらちゃんと解凍できました;
スレ汚しすみません;;
せっかくなので聞きたいのですが、
外部からのファイル取得方法は上記でよいのでしょうか?
いちど変数に格納してfile_put_contentsで書き込むというのがなんだか回りくどい気がするのですが、
ほかに方法がありましたら教えてください!
394:nobodyさん
09/05/06 17:55:33
そらまあローカルの実ファイルが無いと無理だからなあ。
組み込んでメモリストリームから、、、とかはこのスレの範囲外かな
395:nobodyさん
09/05/06 19:39:47
一旦、全部メモリ中に展開するってのはどうなんかね。
fread/fwriteを繰り返した方がいい気もするが。
396:nobodyさん
09/05/06 23:04:45 XF4iBoH0
MySQLでテーブルを作ったとき確認する方法は
PHPで記述する場合mysql_resultでいいのでしょうか?
397:nobodyさん
09/05/07 07:02:22
$data = array(
'hoge' => 'hoge',
'fuga' => 'fuga'
);
$data = array(
0 => array(
'hoge' => 'hoge',
'fuga' => 'fuga'
),
1 => array(
'hoge' => 'hoge',
'fuga' => 'fuga'
)
);
このような配列を、前者のタイプか後者のタイプか判定したいのですが、
どのような方法が考えられますでしょうか?
よろしくお願いします。
398:nobodyさん
09/05/07 10:40:06
前者のタイプか後者のタイプかってどういうこと?
399:nobodyさん
09/05/07 11:34:01
2次元配列かどうかってことだろ?
400:397
09/05/07 12:28:43
>>398
>>399
説明が足りず申し訳ありません。
2次元配列かどうか、というか、
1次元目(?)が連想配列なのか、単純な配列なのかを調べたいのです。
現在は、
if ( isset ( $data[0] ) )
だったら、後者というように判定しているのですが・・・
401:nobodyさん
09/05/07 12:35:38
ループでキーに数値以外が含まれてるかどうか判定するだけじゃん
プログラマーならすぐ思いつくと思うが・・
402:nobodyさん
09/05/07 12:45:30
>>400
多分、PHPには「単純な配列」って無いんじゃないかな。
URLリンク(php.morva.net)
>PHP の配列は、実際には順番付けられたマップです。マップは型の一種で、 値をキーに関連付けます。
403:nobodyさん
09/05/07 13:11:43
>>402
だからキーが数値のみで
構成されているかどうかを
調べたい、ってことだろ?
専用関数あるだろ。
404:nobodyさん
09/05/07 13:25:21
>>403
それは質問者が考えればいいことだし。
ただ、「普通の配列」ってのは無いってだけで。
歯抜けな配列も作れるし、キー値だけでチェックするのもかなりびみょー。
ところで配列のキー値がすべて整数かチェックする専用関数って何?
ざっと見た感じ見当たらないんだけど。
URLリンク(php.morva.net)
405:397
09/05/07 13:25:50
>>401
それはもちろん思いついたのですが、
もう少しスマートな方法はないかと思いまして・・・
return array_keys($array) !== range(0, count($array) - 1);
こんな方法があるのを知ったのですが、
これだと、
$array(
0 => 'hoge',
2 => 'fuga',
3 => 'piyo'
);
のように、配列が歯抜けになっている場合に一致しなくなりますし・・・
>>403
専用の関数とは何のことでしょうか??
406:nobodyさん
09/05/07 13:38:16
きみの言うスマートな方法ってのは明確で解かりやすいというより
制御構造使わないような方法のこと?
407:nobodyさん
09/05/07 18:30:34
クラスってのがなかなか理解できません
どなたか詳しく解説してくれませんか?
408:nobodyさん
09/05/07 18:37:19
どこが分からんの?
409:nobodyさん
09/05/07 22:32:52
>>407
いいよ。
410:nobodyさん
09/05/07 23:13:30
このスレの先輩方はhtmlは得意でしょうか?
411:nobodyさん
09/05/07 23:28:15
おうよ
412:nobodyさん
09/05/07 23:31:35
ほんとかよwwwwwwwwwwwwwwwwwww
413:410
09/05/07 23:34:13
僕は一応html4系とxhtml1.0と1.1で、しかもstrictとtなんちゃらで使えるタグと属性を口頭で全部言えるぐらいの知識しか持ちません
xhtml1.0 strictで使えるタグの数もパッと言えるぐらいの知識です
414:nobodyさん
09/05/08 00:10:55
じゃ言ってみてくれ
415:410
09/05/08 00:13:27
>>414
76個
416:410
09/05/08 00:14:07
ちなみにhtml4.1 strictとxhtml1.0 strictで使えるタグは同じです
417:nobodyさん
09/05/08 00:16:17
はよ全部言えよ
418:nobodyさん
09/05/08 01:36:40
なんだよ質問じゃなくただの知ったかかよ
419:nobodyさん
09/05/09 08:57:00
4択問題をcsvに記録していくスクリプトを作っています。
csvに下のように書き込まれるようにしています。
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
名前,答え,答え,答え,答え,答え,(改行)
複数の人が同時に行うと、下のようにデータが混ざってしまいますよね?
Aさん,答え(Aさん),[Bさん参入で改行]
Bさん,答え(Bさん),答え(Bさん),答え(Aさん),答え(Aさん),答え(Bさん),
実際に試してみるというのがやりにくい問題なので、何を勉強しないといけないか
教えていただけますか。
そもそもCSVでこの手の記録をやろろうとするのはどうなんでしょうか。
420:nobodyさん
09/05/09 09:09:56
flock
421:nobodyさん
09/05/09 10:00:00
>>419
コード書いてもらわないと的を得た回答はでないよ
422:nobodyさん
09/05/09 17:18:10
以前$_SERVER["DOCUMENT_ROOT"]のことでググったときに
DOCUMENT_ROOTの値が実際の値とは違う場合がある事例を見ました。
とすると<base>タグやスクリプト内で絶対パスを作るときにこの変数を使うのは
危険な可能性もあるんでしょうか。
$rootPath = $_SERVER["DOCUMENT_ROOT"];
$a = $rootPath."/sample";
<base href="{$rootPath}">
また$_SERVER["DOCUMENT_ROOT"]以外にルートパス(?)を取得する方法はありますか?
423:nobodyさん
09/05/09 17:40:17
aru
424:nobodyさん
09/05/09 18:05:56
そのDOCUMENT_ROOTの値が実際の値とは違う場合がある事例を知らないけど
その事例がわかれば対応できないか?
425:nobodyさん
09/05/09 23:32:39
DOCUMENT_ROOTって、
public_htmlとか、
htdocとかのこと?
426:nobodyさん
09/05/10 00:07:15
>>425
知らない奴に聞いてねえよ
ロムってろks野郎
427:419
09/05/10 00:07:59
概略はこんな感じです。最初の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
09/05/10 00:11:40
スクリプト後半です。長いので細かいところは省略してありますが、
本物は期待通り動くことは動きます。
**********
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さん
09/05/10 00:12:13
>>427
マジレスするとflock($file,LOCK_UN)はいらない
なぜならfcloseでファイルが閉じられるから
430:nobodyさん
09/05/10 03:06:05
>>427
> 複数の人が同時に問題を解けるようにしたいのですが。
全問終了時だけファイル操作(とロック)すればいいと思うんですよね。
431:419
09/05/10 07:43:14
>>429
ありがとうございます。
>>430
ありがとうございます。
そうですね。最後に一気に書き込む仕様にしておけばいいですよね。
今の仕様ですと、最初のelseの中でぐるぐると出題するごとに
各問題に対する回答者の答えを一つ一つ書き込む
仕様なので(<私の理解が間違ってなければ)、おそらく複数の人が
回答すると419のようにデータ混じるのではないかと思っています。
途中の回答を回答者ごとに一時的にどこかにためておけばいいんですね。
テンポラリーファイルを回答者ごとに別々に作成して回答を一時的に格納し、
最後にひとつの記録用ファイルに書き込むというのを今考えたんですが、
これどうでしょうか、他にもっといいやり方があるでしょうか?
432:nobodyさん
09/05/10 12:07:35 glvoYFM0
掲示板の親記事にコメントすると
その親記事にコメントが表示されますが
これってどういうアルゴリズムなんでしょうか?
433:nobodyさん
09/05/10 12:14:49
全てはデータ構造
データ構造が決まればそれに合わせてプログラムがコーディングされるだけ。
434:nobodyさん
09/05/10 20:17:25 kteLIAQk
携帯電話で対応機種を判別するWebページをphpで作っています。
エラーは出ずに動作はしたのですが、対応機種に一致しているはずなのに
一致判定を通ってくれません。
判定条件が間違っているのかもしれませんが、自分ではさっぱりわからないので
ご指摘を頂ければと思います。
【test.php】
<?php
$userAgent = $_SERVER['HTTP_USER_AGENT'];
$deviceList = file("DeviceDisplay.csv");
foreach ($deviceList as $key => $value)
{
rtrim($value);
list($name, $agent) = explode(',', $value);
print $name."<br />";
print $agent."<br /><br />";
if ((strstr($userAgent,$agen))!= false){
print "おk";
break;
}
}
print $userAgent."<br />".$agent;
}
【DeviceDisplay.csv】
903i,D903i
よろしくお願いします。
435:nobodyさん
09/05/10 20:18:00
>>434
PEAR使えば?
436:nobodyさん
09/05/10 20:21:35
$value= rtrim($value);
じゃないか?
437:nobodyさん
09/05/10 20:34:37
$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に記録されてました";}
}
438:nobodyさん
09/05/10 20:45:09
>>437
===
439:nobodyさん
09/05/10 20:45:11
> if ((strstr($userAgent,$agen))!= false){
$agent
なんかいろいろあるな
440:434
09/05/10 20:55:16 kteLIAQk
>>435-439
ご指摘ありがとうございます!
今回は自力でやりたいのでがんばってみます。
改行を消したのにそれを代入してないのと、
==で判定、そして決定的な綴りミスですね・・・orz
以上を踏まえてリベンジしてきます。
441:nobodyさん
09/05/12 10:24:23
1.ファイルがない時は作成し、ある時は追加モードでオープン。
2.ファイルが新規作成された時は、chmod 0666
という処理をしたいです。
fopen($filePath, 'a')でファイルオープンした時に、
新規作成されたかどうかが分かれば簡単にできると思うのですが、
できません。
どのようにすれば目的の処理ができるでしょうか?
442:nobodyさん
09/05/12 10:34:06
file_exisitsでだめなん?
443:nobodyさん
09/05/12 10:54:04
chmodで失敗したらファイルがないでいいじゃん
444:nobodyさん
09/05/12 10:54:47
マジレスするとファイルの作成&書き込み時にfile_exisitsなどはやめた方が良い
445:nobodyさん
09/05/12 11:07:09
flockと組み合わせればfile_exisitsはアリかと
446:nobodyさん
09/05/12 11:18:38
>>444
何故に?
447:nobodyさん
09/05/12 11:32:33
>>445
chmod するしないぐらいなら、そんなに神経質にならなくても良いと思うが。
448:nobodyさん
09/05/12 21:45:37
>>446
ファイルがあるかな?
ファイルがないなー
よーしファイルをつくるぞー
ちょーーとまったーワシが先にファイルを作るでぇ〜ゲヘゲヘ
よっしゃーワシが先にファイル作成完了〜〜大勝利〜〜〜
、、、さーーって、さっき調べた時にファイルなかったから、作るかな,,,
作成、っと、、、ん?今、なんか、違和感を感じたが、、、、なんだったんだ???
449:nobodyさん
09/05/12 21:47:19
file_exisits使うのはネタに見えてしまうw
450:nobodyさん
09/05/12 21:54:39
file_existsの何が悪いのかkwsk
451:nobodyさん
09/05/12 22:36:38
>>448
今回はaモードでopenだから関係ないじゃん。
452:nobodyさん
09/05/12 23:01:41
俺的にはスクリプトでパーミッションを弄る動作はダメコードだと考えている
453:nobodyさん
09/05/12 23:06:33
だからfile_existsの何が悪いのよ
適当なこと言わないでよ
454:nobodyさん
09/05/12 23:06:47
別にいいやん。
ただWindowsだとchmodできんのはチト不便。
455:nobodyさん
09/05/12 23:10:17
>>453
まず貴様がfile_existsって問題ない理由を述べればいいよ
456:nobodyさん
09/05/12 23:13:14
>>455
マニュアルに使用上の注意について書いてないじゃない
457:nobodyさん
09/05/12 23:15:59
また荒らしかよ
458:nobodyさん
09/05/12 23:18:11
0666ってことはログファイルか
459:nobodyさん
09/05/14 21:19:26
なんだってー
460:nobodyさん
09/05/15 06:59:21
結局file_existsが駄目な明確な理由を誰も上げられないんですね
2chなんて所詮口だけ野郎ばっかりか・・
461:nobodyさん
09/05/15 07:11:40
何を今更
462:nobodyさん
09/05/15 08:06:57
>>460
ホント期待できなくなったね。
昔と違って、OK waveとか知恵袋とかあるし、まともな連中はそっちの方を見てるのかな。
463:nobodyさん
09/05/15 08:18:07
>>460
このスレにはニートとフリーターしかいないんだからしょうがないよ
それにPHPはバカ専言語だから優秀な人間は興味を示さないし
464:nobodyさん
09/05/15 08:23:51
>>463
たしかにPHPなんて使えても所詮WEB開発が関の山だからねw
そのWEB開発にしても最近はRubyとかPythonが台頭してるわけだからPHPを好んで使ってる奴は
アレとしか言いようがないね
465:nobodyさん
09/05/15 08:24:53
何を今更
466:nobodyさん
09/05/15 08:30:41
とまぁここまで全部>>460の自作自演なんだけどね
467:nobodyさん
09/05/15 08:34:55
どこでRubyとPythonが台頭してるんだ?
468:nobodyさん
09/05/15 08:36:49
>>467
地球上のどこかで
469:nobodyさん
09/05/15 08:40:09
>>467
お前の知らない外の世界でだよ
まったくこれだから警備員は(ry
470:nobodyさん
09/05/15 08:40:41
じゃちょっと示してみ
471:nobodyさん
09/05/15 08:41:47
釣られてソース厨出現ww
472:nobodyさん
09/05/15 10:14:37
>>460
仰る通りニートとフリーターの憩いの場なんで帰っていただけませんか?
473:nobodyさん
09/05/15 12:25:37
>>460
じゃあこのまま使い続けてください
誰も止めはしませんので^^
474:nobodyさん
09/05/15 13:22:36
過疎杉sage
475:nobodyさん
09/05/16 22:47:21
可変変数って大抵他の書き方した方がスマートでわかりやすいソースになると思うんだけど、
一体どういうときに使えばいいのだろう?
476:nobodyさん
09/05/16 23:33:14
>>475
特に使う必要はない。
perlであったから、いれてみました、ってだけ。
477:nobodyさん
09/05/16 23:42:36
>>476
じゃperlではどのように使われてるの?
478:nobodyさん
09/05/16 23:45:50
それは老人にきいてください
Perlについての質問箱 39箱目
スレリンク(tech板)
479:nobodyさん
09/05/16 23:48:44
お前は知らないんかw
480:nobodyさん
09/05/17 00:49:35
>>475
配列をextractで展開するのと似たようなことが出来るかな。
$arr = array('a'=>'b', 'c'=>'d', 'e'=>'f');
foreach($arr as $key=>$value){
${$key} = $value;
}
んで、最終的に例えばテンプレートファイルを
include 'template.html'
とか呼んでやれば、テンプレート内で展開した変数を使えたりとか?
これだけだったらextractすればいいけど、配列のキーの特定の文字だけ展開したくない場合とか、
(例えば、先頭がアンダーバーで始まってるものは展開しないとか)
条件をつけて展開できるかな。
481:nobodyさん
09/05/17 06:43:27
本日も過疎。
最新50に1週間も前のレスが表示されるってどんだけww
482:nobodyさん
09/05/17 11:51:52
この板ではよくあること
483:nobodyさん
09/05/17 22:52:05
俺が常駐してるスレなんて連続20レスほど保守あげ
しかも俺の
484:nobodyさん
09/05/18 02:39:12
本番マシンで、エラーを表示させたくない場合、
ini_setと
error_reportingと
どっちを使うの?
485:nobodyさん
09/05/18 02:49:39
display_errorsじゃねーの?
486:nobodyさん
09/05/18 03:04:08
>>485
書き方は?
487:nobodyさん
09/05/18 03:05:27
display_errorsってディレクティブでしょう?
ディレクティブってphp.iniにしか設定できないんでしょう?
レンタルサーバーなので、pnp.iniはいじれない環境です。
なので、php.iniをいじらなくてもできる方法を教えてください
488:nobodyさん
09/05/18 03:11:25
じゃhtaccessでok
489:名無し募集中。。。
09/05/18 03:28:45 wP2DRNT9
ini_set('display_errors','on')
490:nobodyさん
09/05/18 10:16:50
情報小出しうぜえ
491:nobodyさん
09/05/18 10:36:42
小出しにしたほうがなんだかミステリアスでいいじゃないか
492:nobodyさん
09/05/18 20:39:24
>>490
自閉症のあなたがたの
質問能力を鍛えてあげているのです。
営業にまわったとき、
「情報の後だしウゼエwww」
とかって見込み客に言うんですか??
493:nobodyさん
09/05/18 20:40:09
>>489
これでいいの?
494:名無し募集中。。。
09/05/18 20:53:48 wP2DRNT9
今決まってることを先に全部伝えれば余分な工数が圧縮できるので
納期も見積もりも低く抑えることができるわけで
積極的な答えを引き出したいなら客も小出しにはしないけどな
495:nobodyさん
09/05/18 20:55:50
>>494
それであなたは営業に回ったときに、
「情報の後出しウゼエwww」
とかって見込み客に言ってるの?
496:nobodyさん
09/05/18 21:34:39
<a href="XXX">vvv</a>
これで、XXXにユーザーからの入力値を入れるんだけど、
javascriptのコードを書かれると
そのまま実行されるんで、
サニタイズしたいんだけど、専用関数あるの?
497:nobodyさん
09/05/18 21:41:15
サニタイズ言うな
498:nobodyさん
09/05/18 21:42:52
>>496
URLリンク(jp.php.net)
499:名無し募集中。。。
09/05/18 21:47:19 wP2DRNT9
>>495
「今決まってることを先に全部伝えてもらえれば余分な工数が圧縮できますよ 」
って言うけど
500:nobodyさん
09/05/18 22:14:26
>>498
それだとサニタイズできないでしょ。
501:nobodyさん
09/05/18 22:53:23
>>500
・・・・え? 何がしたいの?
502:nobodyさん
09/05/18 23:01:36
<a href="javascript:[ここにjavascriptのコード]">vvv</a>
こう書かれると、htmlなんとかでは
サニタイズできないでしょう?
だからjavascriptって文字をかけない
ようにしなければならないんだけど、
これって正規表現使ってゴリゴリ書かないと
だめなの?
503:nobodyさん
09/05/18 23:03:28
error_reporting(0);
これって使わないの?
504:nobodyさん
09/05/18 23:11:09
>>502
実際にそこに何が入るのか知らんが、入力値を分解してURL作ればいいだけの話じゃないの?
505:nobodyさん
09/05/19 02:17:09
ログファイルの中味を見られないようにするために、
拡張子を.phpにしようと思います。
これだと、たとえブラウザで直接ファイルを指定しても、
拡張子が.phpなのでPHPファイルとして実行しようとするので
(そして中味はPHPのスクリプトでなくて単なるテキストファイルなので)
見られないというわけです。
でもパーミッションが書き込み可能になっていると
問題ありますか?
506:nobodyさん
09/05/19 02:28:01
ドキュメントルート外や.htaccessでアクセスできないようにする方が吉
拡張子phpは最後の手段
507:nobodyさん
09/05/19 02:31:21
>>505
発想は悪くないんだがとりあえず試してみ。たぶん思ったのと違う結果になるw
あとパーミッションはあまり気にするな。共用鯖じゃsafemodeでも無い限りどーにもならん。
508:名無し募集中。。。
09/05/19 03:02:13 qJyAGOVK
PHPは<??>で囲まない部分はHTMLと同じ扱いだからなw
509:nobodyさん
09/05/19 10:05:00
>>495
素直に謝って今後そうすることが無いようにすればいいのに
開き直ってそんなこと言ってるから未だにろくな仕事が出来ねえんだよ。
510:nobodyさん
09/05/21 17:42:51
php_browscap.ini は商用利用可能なのでしょうか。
その他の制限があったりしないか不安なので質問です。
よろしくおねがいします。
511:nobodyさん
09/05/22 00:11:50
教科書に、
「 magic_quotes_gpc がONになっているときは、
stripslashes を使ってエスケープを取り除く」
と書いてあるのですが、そんなことをするよりも、
ini_set
とかで、
magic_quotes_gpc をOFF
にするほうが
いいのではないですか?
512:nobodyさん
09/05/22 00:13:11
>>511
いいと思います。
513:422
09/05/23 14:25:12
>>484に遅レス便乗で、今のレン鯖で.htaccessは使えますがOptionsディレクティブが使えないので
ini_set("display_errors", 0)をファイルの先頭に書こうと考えてます。
ini_set実行以前にエラーが出たら意味なしになってしまいますが、それはどういった場合が考えられるでしょうか。
514:nobodyさん
09/05/23 14:27:08
ん名前欄は関係ないです。すみません。
515:名無し募集中。。。
09/05/23 14:27:44 sw/qjhoP
ini_setを最先頭行に書けばいいだけだと思うが
516:nobodyさん
09/05/23 15:28:46
>>515
そうですね。
たとえば何らかの理由でファイルが読み込めない、実行できない場合ini_set前なのでエラーが出ると思います。
でよくよく考えたら今はerror_reporting(0)でエラーメッセージが出ないようにしてるんですけど
上記のようなときは結局エラーが出るだろうから、ファイル外で設定を変更できない以上エラー表示から逃れられなさそうです。
完全にエラーメッセージを非表示にできなければerror_reporting(0)で対処するつもりで質問をしたんですが、
これも完全でないなら素直にini_set("display_errors", 0)+ログ書き出しで対処します。
失礼しました。
517:nobodyさん
09/05/23 15:36:50
PHP前ならPHPのエラーはでないと思うが
518:nobodyさん
09/05/23 15:38:13
データベースのエラー文がそのまま表示されてるサイトとかもあるし
そこまで気にしないでも
519:名無し募集中。。。
09/05/23 16:00:00 sw/qjhoP
流石に本番運用では気にした方がいいと思うが
520:nobodyさん
09/05/24 19:13:43
携帯で画像をランダム表示したいのですが
どのようなスクリプトが使えるのでしょうか?
521:nobodyさん
09/05/24 19:26:51
業者に1万円払って作ってもらえ
522:nobodyさん
09/05/24 22:03:26
今なら俺が9980円で
523:nobodyさん
09/05/25 00:22:37
session.use_only_cookiesが0の場合、
URLにセッションIDが含まれてしまうので
セキュリティ的に、危険です。
なのでこれを普通は1にすると思いますが、
それはphp.iniを編集できる場合のみです。
レンタルサーバーなどでは、php.iniを編集
できない場合も多いです。
その場合は、session.use_only_cookiesの値を
取得して、それが0なら1にする、と
自分でPHPスクリプトの先頭に書くのでしょうか?
でもそれで間に合うのでしょうか?
524:nobodyさん
09/05/25 00:24:05
URLリンク(phpc2.seesaa.net)
例えばこのページだと、
ini_set( 'session.referer_check', "example.com" );
ini_set( 'session.use_trans_sid', 0 );
ini_set( 'url_rewrite.tags', "" );
ini_set( 'session.use_only_cookies', 1 );
ini_set( 'session.use_cookies', 1 );
ini_set( 'display_errors', 0 );
こんくらい書いてます。
セキュリティをカンペキにするには、
全部でどれだけ書かないといけないのでしょうか?
525:nobodyさん
09/05/25 00:29:11
ini_setじゃなくてphp.iniで設定しとけよみたいな
526:nobodyさん
09/05/25 00:29:42
クッキーもヘッダ部に平文で流れてるだけだろ
これを安全というのならURLにセッションID含まれてても同様に安全というしかないだろ
527:nobodyさん
09/05/25 01:19:22
URLはそれをブックマークしたり知らずに晒したりできるからまた違うんじゃないの
528:nobodyさん
09/05/25 01:39:29
セッション要るようなエリアはhttpsにしとけばいいだけの話
529:nobodyさん
09/05/25 02:09:17
いやブックマークとかURL流出はHTTPSだからとかいう問題じゃないだろ
530:nobodyさん
09/05/25 02:14:14
セキュリティの話をすると
ついてこれないヤツが必ずいるよね
高卒なのかな?
531:nobodyさん
09/05/25 02:15:06
「外出するときは、必ずドアにカギをかけましょうね」
.
「そんな、カギなんてプロの泥棒が本気だせば5分で開くんだよ
だからいちいちかける意味ないよ」
532:nobodyさん
09/05/25 02:18:16
httpsにしなくていいって話じゃなくてhttpsにするだけじゃ不十分って話だろ
533:nobodyさん
09/05/25 02:33:17
<a タグや、<imgタグのsrcにjavascripの
コードを直接書かれると、そのまま実行されてしまいます。
なので、javascriptをサニタイズする必要があるのですが、
ググって出てきたページに
URLリンク(php-web.net)
a、imgタグでは、<a href="javascript:...といった記述でj
avascriptが実行できます。このため、URL等は javasc
ript挿入対策として、「javascriptで始まる文字列をサニ
タイズする」作業が必要になります。
if (substr($_POST['url'],0,10) == "javascript:") {
die("Illegal URL!\n");
}
----------------------------------------------------
と書いてあるのですが、このコードでサニタイズできますか?
正規表現は使わなくてもいいの?
こういうとき、perlerだったら、100%の確率で
正規表現を駆使した渾身の一作を出してくるはずなんですけど。
534:nobodyさん
09/05/25 02:51:01
htmlspecialcharsでいいだろ
535:nobodyさん
09/05/25 03:15:54
URLリンク(php.benscom.com)
ここで
「PHP 6.0.0 で削除されました。」
という記述があるが、6なんて
まだ出ていないだろう?
それとも、漏れが知らないだけで、
もう出ているのか?
536:nobodyさん
09/05/25 03:18:53
出てるよ
537:nobodyさん
09/05/25 03:23:54 aHvsLNiK
simplexmlで下記xmlのstartTimeを取得するにはどうすればいいでしょうか?
<entry>
<gd:when startTime='2009-05-28T19:00:00.000+09:00' endTime='2009-05-28T21:00:00.000+09:00'>
<gd:reminder minutes='10' method='email'/>
<gd:reminder minutes='10' method='alert'/>
</gd:when>
</entry>
538:nobodyさん
09/05/25 04:42:43
$xml = simplexml_load_file('hoge.xml');
var_dump($xml);
してみれば分かるよ
539:nobodyさん
09/05/25 23:18:15
ini_set('magic_quotes_gpc', '0');
このやり方でオフにするのって
phpのバージョンが4.2以下でないと
使えないの?
540:nobodyさん
09/05/25 23:35:00
いや? そんなことないけどなんで?
541:nobodyさん
09/05/25 23:48:05
URLリンク(xoops.ec-cube.net)
ここのページに、
>magic quotes gpcがini_setできるのはPHP4.2.3以下だったと思います
って書いてあるけど??
542:nobodyさん
09/05/25 23:49:14
URLリンク(www.webdeveloper.com)
ここのページにも、
>you can only modify magic_quotes_gpc this way in PHP versions <= 4.2.3.
って書いてあるけど???
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5377日前に更新/191 KB
担当:undef