トップページphp
1001コメント305KB

【PHP】下らねぇ質問はここに書き込みやがれ 67

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/04/11(金) 06:38:35ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/

◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0261nobodyさん2008/04/18(金) 16:21:37ID:???
ずばりそのものだろ?
02622562008/04/18(金) 16:36:42ID:???
自己解決しますた
ほんと使えねえカスばっかだな
0263nobodyさん2008/04/18(金) 16:53:22ID:???
fscanfがおかしいです
0264nobodyさん2008/04/18(金) 16:54:10ID:???
>>256

preg_match_all
返り値
パターンがマッチした総数を返します(ゼロとなる可能性もあります)。 または、エラーが発生した場合に FALSE を返します。

これより楽な方法はないよね
0265nobodyさん2008/04/18(金) 16:57:20ID:???
>>262
またオマエか
0266nobodyさん2008/04/18(金) 17:07:53ID:???
ID出さないやつにご丁寧に答えて議論してやってるお前らが微笑ましい
0267nobodyさん2008/04/18(金) 17:48:00ID:???
ID出す出さないに関係なく自分の糧になるのなら質問も回答もするのが俺様のセオリー
0268nobodyさん2008/04/18(金) 18:10:03ID:???
右乳首が痛いのですがどうすれば治りますか?
バージョンアップするしかないのでしょうか?
0269nobodyさん2008/04/18(金) 18:10:22ID:???
preg_match_allの第三引数で
変数にマッチした値を格納できますが、
$matched[0]にあたる値はいらないので変数に格納しないでほしいのです。

$matched[1]とかは(?:)でできるのは知っています。
$matched[0]はどのようにすればいいのでしょうか?


$str = "1234abs=2;1234abs=7;432abt=3;";
preg_match_all("/[\d]+abs/",$str,$matched);
0270nobodyさん2008/04/18(金) 18:10:35ID:???
正規表現がダメな理由は、その処理速度の遅さ。
forループ文の中に、正規表現で処理するロジックが入っていたら、それこそ最悪。
また、正規表現の処理のために仮想メモリーを浪費するため、異常なメモリーの食い方をする。

現実的に出来るかどうかを検証せずに、出来る出来ると主張しているところが青臭さを感じるといっただけ。
0271nobodyさん2008/04/18(金) 18:20:24ID:???
正規表現は神
0272nobodyさん2008/04/18(金) 19:09:30ID:???
否定するのは誰でもできます
解決方法をかけない奴はいくら言ってもダメ
0273nobodyさん2008/04/18(金) 19:32:15ID:???
特にお前とかな
0274nobodyさん2008/04/18(金) 19:40:42ID:???
>>270
現実的に出来るかどうかを検証してから、

ダメと主張してくださいねw
0275nobodyさん2008/04/18(金) 19:44:40ID:???
方法を提供もしないでこれはダメあれはダメなんて幼稚すぎる
0276nobodyさん2008/04/18(金) 20:22:29ID:???
>>270
そりゃ組み方が下手なだけだろ
0277nobodyさん2008/04/18(金) 20:27:33ID:???
その遅い正規表現は何秒かかるの?
それが問題になる処理じゃなければ使ってもいいだろ。
遅いってんならPHP使わないでCで組めや
0278nobodyさん2008/04/18(金) 20:38:41ID:???
>>270さん正規表現に変わる手法を教えてください
0279nobodyさん2008/04/18(金) 20:54:41ID:???
代案も出さずに批判するとは民主党もびっくりだわw
0280nobodyさん2008/04/18(金) 21:33:57ID:???
ここまで技術的な考察まで書いてやっているのに、
人に代替案まで求めるって、どこまでスィーツ脳なんだ?

技術者としての素質もなければプライドもないのかね?
0281nobodyさん2008/04/18(金) 21:34:58ID:???
スイーツ脳なんて特徴的な言葉使うのお前だけ
よく常駐して煽ってるいつもの馬鹿か
0282nobodyさん2008/04/18(金) 21:36:11ID:???
>>281
おまえもな
0283nobodyさん2008/04/18(金) 21:36:48ID:???
>ここまで技術的な考察まで書いてやっているのに

ぷっ

0284nobodyさん2008/04/18(金) 21:38:57ID:???
技術的(笑)
考察(笑)
0285nobodyさん2008/04/18(金) 21:47:56ID:???
(笑) (笑)
0286nobodyさん2008/04/18(金) 21:57:15ID:???
()笑
0287nobodyさん2008/04/18(金) 21:58:07ID:???
代替案が欲しいわけじゃないんだわ

お前さんが本当に代替案を考えられる技術があるのか
その方法が標準の正規表現関数と比べてどの程度早くなるのか
それが知りたいだけ
0288nobodyさん2008/04/18(金) 22:03:28ID:???
真性キティにマジレスカコワルイ
0289nobodyさん2008/04/18(金) 22:32:13ID:???
口だけだったみたいだからあんまりいじめないであげよ
0290nobodyさん2008/04/18(金) 23:54:36ID:???
>>289
他人のふりせずに素直にやめてくださいって言えよw
0291nobodyさん2008/04/19(土) 00:43:26ID:???
実力がある人って批判だけするとこみたことないねえ
かならず何らかの提案をもってきてくれる
0292nobodyさん2008/04/19(土) 01:14:59ID:???
批判だけする人って
勘違い君が多い
0293269 2008/04/19(土) 01:26:36ID:???
お願いします
0294nobodyさん2008/04/19(土) 01:36:11ID:???
だから、必死になって代替案出せって何よ?
本当は知りたいくせに、煽っているってるって、
好きなくせに女の髪の毛引っ張って気を引こうとしている中年男と一緒だろw
0295nobodyさん2008/04/19(土) 02:01:36ID:???
池沼うざい
0296nobodyさん2008/04/19(土) 02:08:33ID:???
本当に知りたいと思ってる人はいないよ。
PCREのパターン展開エンジンを*PHPで*自前実装したい人だけが
高度な技術的考察をしとけばいい。

/^\d+$/ → ctype_digit()
/^Mozilla/ → strpos(), strstr()
>>256のお題がこんな話に見える素質がなくてよかった。
0297nobodyさん2008/04/19(土) 02:27:54ID:???
>>293
>>11をちゃんと読んでから出直してこい
0298nobodyさん2008/04/19(土) 02:50:25ID:???
>>294
いや、批判するなら最初からレスしなくていいと思ってる
0299nobodyさん2008/04/19(土) 06:08:17ID:???
>いや、批判するなら最初からレスしなくていいと思ってる

馴れ合いキモ
0300nobodyさん2008/04/19(土) 06:14:31ID:???
>>293
第4にPREG_OFFSET_CAPTURE入れて
0をunsetしれ
0301nobodyさん2008/04/19(土) 10:19:29ID:???
>>296
CTYPEはそれとイコールじゃないよ。
俺も昔つっかかった
0302nobodyさん2008/04/19(土) 12:03:10ID:???

【迷言ランキング】
 1 : fscanfがおかしいです
 2 : ここまで技術的な考察まで書いてやっているのに

トップ揺るがず。


0303nobodyさん2008/04/19(土) 12:44:33ID:???
質問です。
<?php
$word = $_POST['text'];
$pointer=fopen("./log.dat", "a");
flock($pointer, LOCK_EX);
fputs($pointer, $word);
flock($pointer, LOCK_UN);
fclose($pointer);
?>
<form action="パス" method="post">
<input type="text name="text" size="30">
<input type="submit" value="送信">
</form>

こんな感じのを応用して簡単な掲示板を作ろうと思うのですが、
更新すると何個も同じものを送信してしまいます。
どうすればよろしいのでしょうか?
0304nobodyさん2008/04/19(土) 13:05:00ID:???
>>303
同じものであるか判定する処理

真だったら拒否,偽だったら書き込み
0305nobodyさん2008/04/19(土) 13:10:36ID:???
>>303-304
>>1
0306nobodyさん2008/04/19(土) 13:41:34ID:???
PDO+SQLite使えば楽なの何故いまだファイル使うかなぁ
03073032008/04/19(土) 14:27:57ID:EugqgBl5
>>304 その処理が分からないです…
>>306 サーバーがSQLite対応してないです
0308nobodyさん2008/04/19(土) 14:56:51ID:???
>>303
更新すると同じものを送信するのはブラウザ側の問題なので、サーバで二重投稿かデータチェックする。

ケース1)
ログファイルの最後に書き込まれたデータと比較して、同じならアウトにする。

ケース2)
フォームにセッションを使ってユニークIDをhiddenに埋め込む。
サーバにhiddenで送られてきたユニークIDを見て、セッションと同じ値でなければアウトにする。
0309nobodyさん2008/04/19(土) 15:46:00ID:nFas9Qcl
?

てst
0310nobodyさん2008/04/19(土) 15:49:34ID:nFas9Qcl
マックからフォームで〜を入力すると?(←2chではwinだとハテナに見えるかもしれません)となってしまいます。
これをログに記録すると、文字化けしてしまいます。

マックからの「〜」を文字化けしないでログに書き込むにはどのような方法がありますでしょうか?

0311nobodyさん2008/04/19(土) 16:06:28ID:???
文字コード統一汁(機種依存は論外)
0312nobodyさん2008/04/19(土) 16:06:31ID:???
>>310
外部、内部、それぞれの文字コードは何?
0313nobodyさん2008/04/19(土) 16:18:13ID:nFas9Qcl
文字コードはUTF-8で全て統一しております。
ただ、どうしてもマックからフォームに〜を入力すると、以下のサイトにかいてあるような現象になります。
http://oshiete1.goo.ne.jp/qa1937623.html?ans_count_asc=20

う〜ん、いままでwinしか使ったこがなくて、マック環境が無いので不安なんですが、
マックの「〜」はwinでは機種依存文字扱いとされるのでしょうか?

0314nobodyさん2008/04/19(土) 16:26:34ID:nFas9Qcl
自己解決しました。
ログを開くのに使用しているエディタの内部文字コードがsjisのために起こった現象です。
使用してたのはサクラエディタでえす。
お気に入りのエディタでしたが、この機会に別のエディタに乗り換えます。

引用:ttp://ja.forums.wordpress.org/topic.php?id=51
残念ながら、サクラエディタは、Shift_JIS なのに ISO-2022-JP と誤認した前科 (WPJ フォー
ラムのキャッシュ) があるので、今回は「紹介するべきではない」代物です。
単に「巨大なテキストを開けるエディター」として出すならいいんですが、
今回は文字コード変換に使うため、「文字コードを誤認するエディター」を選ぶのは、よろしくありません。
サクラエディタは内部文字コードが SJIS らしく、UTF-8 を扱うにはよいエディターとは
言えません (「波ダッシュ」が化けたりするらしい)。
そういう面ではマトモなのは EmEditor ぐらいしかなさそうです (TeraPad, K2Editor など、Windows のエディタの多くは内部コードが Shift_JIS)。

あと、質問者が Windows を使っているかどうか不明なので、「Windows ならば○○○」という限定を入れてほしかったです。Mac ユーザーだとすると「サクラエディタがおすすめ」と言われても困りますので。(Linux ユーザーは文字コード変換で悩むことはないでしょうが)
0315nobodyさん2008/04/19(土) 16:26:55ID:???
痴漢すればいいじゃん
0316nobodyさん2008/04/19(土) 16:27:55ID:???
       ヽ(・ω・)/   ズコー
      \(.\ ノ
0317nobodyさん2008/04/19(土) 16:38:11ID:???
Emediterも半角英数字だけのファイルを保存すると
ShiftJISで保存する糞エディタだな
0318nobodyさん2008/04/19(土) 16:47:53ID:???
terapad→サクラエディタと着たが俺も乗り換えるか・・・
0319nobodyさん2008/04/19(土) 17:37:31ID:???
>>317
ちょwww笑わすなwwww
BOM無しUTF-8とEUCとSJISの文字コードを判別する方法思いついたら教えてくれwwww
エディタ作ってやんよwwwwww
03203032008/04/19(土) 18:12:34ID:EugqgBl5
連続投稿は防げましたがタグを使われるとおかしくなります。
htmlspecialcharsで無効化しようと思ったのですが、
<font color="#ff0000">が<font color=\"#ff0000\">となります
なせでしょうか?
0321nobodyさん2008/04/19(土) 18:23:23ID:???
ポストされたデータをどっかでエスケープしてるんじゃないの?
覚えが無いならmagic_quotes_gpcを確認
0322nobodyさん2008/04/19(土) 20:00:37ID:???
>>320
おまえはまず人からアドバイス受けたらありがとうの気持ちぐらいだせ
0323中沢2008/04/19(土) 20:02:45ID:8RVDFTU7
こんにちは(^_^;)
ログファイルに保存された配列を元に検索機能を作りたいのですがどうすればよいのでしょうか?
詳しく書きますと
log.datに
155<>名前155<>年齢155<>
5<>名前5<>年齢5<>
4<>名前4<>年齢4<>
1<>名前1<>年齢1<>

とあったとします。
検索では、完全一致した場合に表示させる、id検索と、部分一致した場合に表示される、名前と年齢検索ができるとして、
id検索で1
と検索すれば、$ken件マッチしました。
id:$id
名前:$name
年齢:$age
と表示させ、見つからなかったらエラールーチンに飛ばさせます  
次に、名前検索で部分一致したら表示させる場合は、
「前1」
と検索したら、今回は2件マッチするので
$kenマッチしました

2件とものデータを表示させたいです
このような検索できるスクリプトを作りたいのですが、分かりません。よろしくお願い致しますm(_ _)m
0324nobodyさん2008/04/19(土) 20:08:05ID:???
>>323
わからないならまだ作るのは早いってことです
ここは宿題お手伝いのお部屋ではありません
0325nobodyさん2008/04/19(土) 20:13:26ID:+VgtfKgh
今、メモ帳でphpのプログラム書いてるんですが
専用のソフトとかってないですか?

プログラム書いてて関数とか変数が色ついたり
見やすくしてくれるヤツです。
0326nobodyさん2008/04/19(土) 20:16:07ID:???
 はじめまして、よろしくお願いします。

 PHPでデリヘルによくあるような出勤表を作りたいと思っています。
女の子情報はMYSQLで管理しています。

 ■欲しい機能

・管理画面から出勤スケジュールを登録
・本日の出勤一覧ページ

いろいろ考えているのですが…

・女の子情報の登録時に『出勤フラグ』をラジオボタンで付けて
フラグがtrueのときに内容(時間)を表示 とか。
 →どうやってカレンダーと合わせる?


 詰まっています。
 ヒントでもいいのでお願いします。 
0327nobodyさん2008/04/19(土) 20:17:39ID:???
>>325
phpエディタでもつかいなされ
メモ帳使いがいきなりIDEは厳しいとおもうけど
興味あるならEclipse PDTでも使ってみなされ
0328nobodyさん2008/04/19(土) 20:18:15ID:???
>>326
0329nobodyさん2008/04/19(土) 20:21:42ID:???
まず金払え。
0330>>323中沢2008/04/19(土) 20:24:08ID:8RVDFTU7
array_serch
を使うのはわかるのですが、中に正規表現をいれたいのです。
どうすればよいのでしょうか?
0331nobodyさん2008/04/19(土) 20:27:43ID:???
>>330
どうすればいいのですかではなく、自分で考えてコードを書け
03323262008/04/19(土) 20:28:35ID:???
ヒントだけでも。
0333nobodyさん2008/04/19(土) 20:30:02ID:???
学歴だけでPGすっ飛ばしてSEになるとわからないよなw
0334nobodyさん2008/04/19(土) 20:30:44ID:???
答:仕様書書いてPGに組ませる
0335nobodyさん2008/04/19(土) 20:32:04ID:???
これでもPGより給料多いんだぜ?
0336nobodyさん2008/04/19(土) 20:38:59ID:???
>>330
同じ苗字で恥かかすなや
0337nobodyさん2008/04/19(土) 20:44:33ID:???
このスレはこの程度かよ
ksg
0338nobodyさん2008/04/19(土) 21:26:11ID:???
>>337
またオマエか
0339nobodyさん2008/04/19(土) 21:42:16ID:???
ループかよ
0340中沢2008/04/19(土) 22:25:14ID:8RVDFTU7
誰か答えクレクレ(^^)/
お願いいたします
0341nobodyさん2008/04/19(土) 22:33:51ID:???
>>340
ヒント:
http://pc11.2ch.net/test/read.cgi/php/1150508106/
0342nobodyさん2008/04/19(土) 22:35:04ID:???
ああごめん、デリヘル依頼者とごっちゃになってたわ
0343nobodyさん2008/04/20(日) 04:40:12ID:???
???

デリヘル依頼者と正規表現とどう関係があるの?
0344nobodyさん2008/04/20(日) 04:46:05ID:???
両方とも珠玉の一品に出会えます
0345nobodyさん2008/04/20(日) 05:28:17ID:???
>>344
よく分からない。珠玉の一品って、つまり締まりがいいマンコとかってこと?
0346nobodyさん2008/04/20(日) 07:20:37ID:???
あとは、でかいチンコも。
0347nobodyさん2008/04/20(日) 15:51:29ID:cb0wPZjr
配列$_POSTの中身の一つ一つにhtmlspecialchars($_POST, ENT_QUOTES, 'UTF-8')の様な処理をして
戻したいです。

arra_mapを使ったところ、第3引数のENT_QUOTESが配列では無いと怒られてしまいます。
$_POST = array_map('htmlspecialchars',$_POST, ENT_QUOTES, 'UTF-8');
どうしたら良いでしょうか。
0348nobodyさん2008/04/20(日) 16:19:18ID:???
怒られないようにしたら?
0349nobodyさん2008/04/20(日) 16:52:53ID:cb0wPZjr
>>348
ありがとうございます。
怒られないようにしたら出来ました。
0350nobodyさん2008/04/20(日) 16:53:26ID:???
亜鈴魚喰
0351Defort2008/04/20(日) 17:11:16ID:QNOTdt2p
フリーページ
http://tool-1.net/
について聞きたいのですが、index.cgiのスクリプトが丸見えみたいなのですが、どうやったらみれるのですか?
ヌルバイト攻撃使っているのですか?
0352nobodyさん2008/04/20(日) 17:31:23ID:???
gethostbyaddr()
で得られるホスト名って信頼できる?

たとえば、gethostbyaddr($hoge)
で ***.yahoo.co.jp みたいなのが
でたら、 $hoge は yahoo関連のIPと断定できる?
yahooとは関係ない第三者のIPが ***.yahoo.co.jp みたいなホスト名を
返すことってありえませんか?
03533522008/04/20(日) 17:33:32ID:???
自己解決しました
0354nobodyさん2008/04/20(日) 17:57:34ID:Tze2JaW2
セッションのGCの挙動を変えたくて、session_set_save_handlerを使って
gc_test()に置き換えようと思っています。
session_set_save_handler("", "", "", "", "", "gc_test");
session_set_save_handler(null, null, null, null, null, "gc_test");
と試してみましたが
Warning: session_set_save_handler() [function.session-set-save-handler]: Argument 1 is not a valid callback in xxx.php on line 3

というwarningが出て目的が達成できません。
openその他の関数をデフォルトのままにするにはどのようにすれば良いでしょうか?

03553202008/04/20(日) 18:38:39ID:???
>>321
ありがとうございました!
magic_quotes_gpcがずっとわからなかったのですが
.htaccessで設定できるのですね!
文字化けの心配がなくなりました。
0356nobodyさん2008/04/20(日) 19:26:38ID:8958Dk4L
<form method="post" enctype="multipart/form-data" action="./uploader.php">
<input type="file" name="data" size="30">
<input type="submit" value="アップロード">
</form>
<?php
$filedir = "./file/";
$filename = $_FILES['data']['name'];
if(file_exists($_FILES['data']['tmp_name'])){
$filesize = filesize($_FILES['data']['tmp_name']);
if($filesize <= 1050000){
if(move_uploaded_file($_FILES['data']['tmp_name'],$filedir.$filename)){
echo "アップロードしたファイル・・・ファイル名:".$filename." ファイルサイズ:".$filesize."Byte";
echo "<br><br>";
}
}
else{
echo "ファイルサイズが大きすぎます!";
}
}
if($filename){
echo "<img src='./$filedir/$filename'>";
}
?>

このような感じでアップローダーを作ってるのですが、
ファイル名がそのまま保存されるのをfile0001みたいな感じで保存することはできますか?
0357nobodyさん2008/04/20(日) 19:33:38ID:???
それ自分で書いたコード?
0358nobodyさん2008/04/20(日) 19:46:33ID:???
自分で書いてたらはじめから連番を振る仕様になってそうだね。

まあ、どっかのサイトとか本が $filename = $_FILES['data']['name']; で説明してたのを
使い回してるのかもしれない。
0359nobodyさん2008/04/20(日) 19:47:01ID:8958Dk4L
友達から教えてもらったです。
0360nobodyさん2008/04/20(日) 19:59:36ID:???
きめぇw
0361nobodyさん2008/04/20(日) 20:00:21ID:???
>>360
きめぇw
■ このスレッドは過去ログ倉庫に格納されています