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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/08/11(土) 10:08:03ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0313nobodyさん2007/08/15(水) 15:37:36ID:gxFf8K1o
掲示板まがいなものを作っていてHTMLタグを入れられたくないので
strip_tagsでストリップにしてしていたのですが
テストを行なってみたところ (>_<) みたいな顔文字を入れたら
(>_ 以降が消されてしまいました
そこで先にエンティティ化してみたのですが
これだとHTMLタグも残ってしまいます(当たり前ですが・・・)
このような場合どのように処理したら良いんでしょうか?
0314nobodyさん2007/08/15(水) 15:40:06ID:???
>>304
本当は、

>まさか、$_COOKIE["value"] とだけ書いているわけではないですよね?

これが正解だったんでしょ?
0315nobodyさん2007/08/15(水) 15:41:44ID:???
>>313
なんのために消すのか理解してる?
0316nobodyさん2007/08/15(水) 15:43:05ID:???
>>313
まじかよ。strip_tags使えないな。
タグかどうか判定してからじゃなくって問答無用に置換するんだな…
0317nobodyさん2007/08/15(水) 15:44:50ID:???
タグかどうかの判定が<以降という仕様な訳なんだが。
0318nobodyさん2007/08/15(水) 15:48:12ID:???
だから正規表現があるんだろ
0319nobodyさん2007/08/15(水) 15:48:57ID:gxFf8K1o
>>315
理解したうえで既存のものから修正してテストしたらそうなりました

>>317
仕様という事は対策なしという事でしょうか?
0320nobodyさん2007/08/15(水) 15:49:08ID:???
>>317
だからその仕様がクソじゃん
<font color=red> (>_<) </font>
こんな感じだったらタグだけ無効化するべきだろ

>>313
正規表現とかで
>のあとの>は>に置換、<のまえの<は<に置換してから
strip_tagsして、最後に>と<を元に戻すとか。
0321nobodyさん2007/08/15(水) 15:53:24ID:???
>>319
エンティティ化って何だか理解してる?
0322nobodyさん2007/08/15(水) 15:54:55ID:???
>>314
突っ込んでやるなよw
0323nobodyさん2007/08/15(水) 15:59:18ID:gxFf8K1o
>>320
確かに正規表現の置き換えしかなさそうですね
先に正規表現使って
>のあとの>は&lt;に置換、<のまえの&gt;はに置換してから
0324nobodyさん2007/08/15(水) 16:00:16ID:???
>>320
>だからその仕様がクソじゃん

>タグかどうか判定してからじゃなくって
って言ってたから「ちゃんとは判定してますよ」って返しただけなんだが
0325nobodyさん2007/08/15(水) 16:00:38ID:???
>>321
むしろそれは、偉そうで分ってない320の方に
言ってやったほうがいいんじゃないの?
0326nobodyさん2007/08/15(水) 16:00:51ID:gxFf8K1o
途中で送信してしまった

とりあえず必要な部分だけ置き換えるようにします
ありがとうございます

>>321
理解してます?
0327nobodyさん2007/08/15(水) 16:00:57ID:???
「ちゃんと判定はしてますよ」だった
0328nobodyさん2007/08/15(水) 16:03:41ID:???
>>323
何度も遠回りな質問して悪いんだけど、何のためにHTMLタグを消すんだ?
XSSを防ぐためだろ?
だったらstrip_tagsとか正規表現とか迂遠で余計な負荷がかかる方法もいいとこだろ。
0329nobodyさん2007/08/15(水) 16:05:08ID:???
>>326
何そのレス?
0330nobodyさん2007/08/15(水) 16:05:31ID:???
なんでXSS限定なのか分からん
0331nobodyさん2007/08/15(水) 16:07:21ID:???
なんで限定と判断したのかが意味不明
313を読んでそれ以外に何を考えてるのかも意味不明
0332nobodyさん2007/08/15(水) 16:09:01ID:???
>>324
ちゃんと判定してないだろ。問答無用に置き換えるだけなら
str_replace( "<", "<", str_replace( ">", ">", $hoge ) );
でいいじゃん。
「strip_tags」っていうぐらいだからタグだけ取り除いてくれるのを期待するでしょ普通。
0333nobodyさん2007/08/15(水) 16:10:31ID:???
置換されてしまった

str_replace( "<", "<", str_replace( ">", ">", $hoge ) );
↓
str_replace( "<", "&lt;", str_replace( ">", "&gt;", $hoge ) );
0334nobodyさん2007/08/15(水) 16:10:36ID:???
htmlspecialcharsでいいじゃん
ユーザが入力したとおりに表示しろよ
0335nobodyさん2007/08/15(水) 16:23:50ID:???
>>334
俺もそう思う
0336nobodyさん2007/08/15(水) 16:28:55ID:???
>>331

>>328
>XSSを防ぐためだろ?
限定してんじゃねーかよ。

>313を読んでそれ以外に何を考えてるのかも意味不明
他にScript Insertionとかあるだろボケカス。
しかも不明なのは"意味"じゃないだろ低学歴。
0337nobodyさん2007/08/15(水) 16:30:15ID:???
BBSやカウンタやアクセス解析など小規模なスクリプトで
DBを使用せずにテキストファイルにデータを記録していくにあたって、
データのサーチ、追加、更新、区切り文字などに関する
考え方・方法論などを解説した文献やサイトで何かいいのってないでしょうか。
0338nobodyさん2007/08/15(水) 16:31:42ID:???
htmlspecialcharsかまして;gtとかで判断して痴漢すりゃいいだろ
0339nobodyさん2007/08/15(水) 17:12:06ID:dxRKCLNb
現在の時刻を1/1000秒単位で取得したいんですが、何か方法あります?
0340nobodyさん2007/08/15(水) 17:14:10ID:dxRKCLNb
自己解決しますた
0341nobodyさん2007/08/15(水) 17:18:27ID:???
>>339-340
2分4秒の間に何があったのか
0342nobodyさん2007/08/15(水) 17:19:25ID:dxRKCLNb
いや、自分で調べたら解決しただけ
0343nobodyさん2007/08/15(水) 17:23:44ID:???
オライリーのPHPセキュリティ本にも
strip_tagsとかつかってんじゃねーぞ、htmlspecialchars使うだろふつう
と言うようなことが書いてある。
0344nobodyさん2007/08/15(水) 17:26:16ID:???
>>336
まぁまぁ、とりあえず知障で言葉遣い最悪な役立たずは死ねよ^^
0345nobodyさん2007/08/15(水) 17:44:07ID:NF1lbgTi
MDB2でWHERE句で
WHERE column1 IN (?)
みたくINの中にプレイスホルダーを使いたいんですが、
実装する方法はありますか?
個数が可変だと、IN (?, ?, ?, ?) じゃ無理なので。
0346nobodyさん2007/08/15(水) 17:59:46ID:kCRKlUkC
『あいうえお』
を
あいうえお
にしたいんですがどの関数を使えば一番いいでしょうか?
0347sage2007/08/15(水) 18:01:18ID:???
strposとsubstr組み合わせて使っとけ
0348nobodyさん2007/08/15(水) 18:09:12ID:???
str_replace
0349nobodyさん2007/08/15(水) 18:15:01ID:uX1Nde21
lannd.toでふたば系のPHPを使いたいのですが
パーミッションが644や666で動きませんでした
いくつにしたら動くか教えて下さい
0350nobodyさん2007/08/15(水) 18:38:41ID:???
それはパミッションの問題ではない。
0351nobodyさん2007/08/15(水) 18:41:51ID:CLR6/mbd
指定ファイルの改行コードをCR+LF であれば LF に変換する
プログラムを作成したいのですが、
何か簡単な方法はないでしょうか?

str_replace あたりを使って
---------------------------------------------
$var = file_get_contents($file_path);
$var = str_replace("\r\n", "\n", $var);
file_put_contents($file_path, $var);
---------------------------------------------

だけで良いんでしょうか?
ぱっとテスト動作させた感じはうまくいっているようなんですが、
これだと〜〜のときにうまくいかないよ、
などの情報があったらご教授おながいします。
0352nobodyさん2007/08/15(水) 18:50:18ID:???
>>351
改行コードの統一という意味なら
$var = file_get_contents($file_path);
$var = str_replace("\r\n", "\r", $var);
$var = str_replace("\r", "\n", $var);
file_put_contents($file_path, $var);
のほうがベターだと思う
0353nobodyさん2007/08/15(水) 19:36:03ID:???
>>351
Macの改行コードは\rなので、漏れも>>352が良いと思う
0354nobodyさん2007/08/15(水) 20:16:26ID:???
Mac OS 9以前はね。
0355nobodyさん2007/08/15(水) 22:08:19ID:???
きれいに書こうぜ。
array("\r\n", "\r")
0356nobodyさん2007/08/15(水) 23:39:48ID:+eY6f5Sj
配列名を一括変更する方法ってあるのでしょうか?

$array = array("a"=>"あああ","b"=>"いいい","c"=>"ううう");
と言う配列があったとして、
echo $array["a"]をすると、「あああ」と表示されるわけです。

これを例えば関数で一括変換して配列名を$arrayから$itemに変更し、
echo $item["a"];としても「あああ」と表示する事って出来るのでしょうか?
0357nobodyさん2007/08/15(水) 23:41:48ID:???
$item = $array;
unset($array);
03583562007/08/15(水) 23:45:13ID:???
>>357
ありがとうございます。難しく考えすぎていました。
0359nobodyさん2007/08/15(水) 23:53:02ID:???
できんの?
0360nobodyさん2007/08/15(水) 23:54:17ID:???
できるね
0361nobodyさん2007/08/15(水) 23:54:32ID:???
>>359
空気嫁
0362nobodyさん2007/08/16(木) 02:35:13ID:???
くだらなさすぎ長すぎで申し訳ないんだが

phpプログラマとして会社で働いている俺
先日上司とプログラム著作権についての話が出て
phpやPerlである以上 リリースした後のプログラム著作権を主張しても
コピーしていくらでも使えるし改変も可能なんだよな、との話題になった

俺はそのときphpのコードを暗号化、難読化するものもありますよ
とか口がすべってしまったんだが、そのおかげで
Zend guardについて説明しなければならなくなったんだw
初回40万 年間10万弱するソフトなんてうちの会社規模でつかえねーだろうと思うんだがね・・・

Zend guard取り入れて開発したことのある香具師
暗号、難読化は実際どうなのか
対価に見合う売り上げだとどのくらいあるか、対費用効果はあってるか 教えて欲しい
0363nobodyさん2007/08/16(木) 02:40:05ID:???
>>346
preg_matchで最初の文字と最後の文字を含まない部分を出す
0364nobodyさん2007/08/16(木) 02:41:13ID:???
CBCだろがボケ、つかその程度の予算も組めない会社が仕事取れるのか?
0365nobodyさん2007/08/16(木) 02:44:01ID:???
>>362
プログラマ板か制作板のSOHOスレ・WEB制作の仕事してる奴のスレいくか
この板でスレを立ててきけ
0366nobodyさん2007/08/16(木) 02:44:33ID:???
>>362
ここはそういう質問するところじゃないから
0367nobodyさん2007/08/16(木) 02:47:40ID:???
CBCって何?中部日本放送?

その程度の予算っていうけど
50万ってでかくね?

プログラムの保護はされるけど
予算出したからって売り上げで取り戻すことはできないし。
>>362と同じでそのためだけに50万は出せないようちの会社わw
ま、うちはちっちゃい会社だからしょうがねーか(´・ω・`)
0368nobodyさん2007/08/16(木) 02:54:54ID:???
コピられたら訴えれ
0369nobodyさん2007/08/16(木) 02:59:31ID:???
仕事の話はでてってね
0370nobodyさん2007/08/16(木) 03:09:13ID:???
>>362
コピーや改変が容易なら勝手に使用されても文句言えない


なんて理屈があったらCDコピーは取り締まれないが。
0371nobodyさん2007/08/16(木) 03:17:04ID:???
362です
レスありがとうございます。そしてスレ違いすいませんでした。
phpの質問に答えられる人達が集まるのでここが妥当かと思ってしまいました。

コピーされて使われてるのに気づけばいいけど、気づけないでしょうし難しいですよね。
それがどうしても気になって嫌なら金出して使えばいい ってことでFAにしておきます。
0372nobodyさん2007/08/16(木) 03:31:30ID:???
>>365 >>366 >>369
なんでダメなの?PHPに関する話題じゃん。
プログラマ板やWEB制作板なんか行ったってこのスレに逆誘導されるのがオチ。
0373nobodyさん2007/08/16(木) 03:34:29ID:???
違法と思うから訴えればいい、なんていうのはお子ちゃまの主張
裁判での立証に、どれだけのお金と手間が掛かるか知らんだろうな。
0374nobodyさん2007/08/16(木) 03:44:00ID:???
裁判費用も含めて請求するのが普通だろ。何言っちゃってんの。
0375nobodyさん2007/08/16(木) 03:50:36ID:???
そういった場合にはどうせ和解で解決だろうから、
裁判起こしてやんぞ!ってくらいの意気込みでおk
0376nobodyさん2007/08/16(木) 03:54:24ID:???
裁判の話こそPHPに関係ない話してるし…
質問してるやつに答えるくらいしてやれ
俺はしないが
0377nobodyさん2007/08/16(木) 03:56:31ID:???
>>374
何この馬鹿丸出しのレスw

莫大な金と時間を使って、勝訴できたとしても、
訴訟費用負担の判決がでなければ、費用を求めることもできないし、
その費用も訴訟に費やした金のほんの一部。

弁護士費用や立証のために掛かった諸経費の請求は認められんし、
この手の訴訟はいわゆる割に合わない訴訟。
0378nobodyさん2007/08/16(木) 03:56:32ID:???
けっ、傍観者が
0379nobodyさん2007/08/16(木) 04:03:58ID:???
>>378
チビは黙れよ
0380nobodyさん2007/08/16(木) 04:08:03ID:???
安い煽りだ
0381nobodyさん2007/08/16(木) 04:23:16ID:???
ここは仕事について話すスレじゃないので
0382nobodyさん2007/08/16(木) 06:15:46ID:???
PHPがマルチプロセッシングに対応するのはいつですか?
PHPがある限りApacheはpreforkで実行するしかないんでしょうか?
0383nobodyさん2007/08/16(木) 08:49:24ID:???
>>381
仕事で扱うPHPの質問はNGで、趣味で扱うPHPの質問のみOKですか?
0384nobodyさん2007/08/16(木) 08:49:57ID:???
>>383
ここは仕事について話すスレじゃないので
0385nobodyさん2007/08/16(木) 09:24:56ID:???
配列定義するときに
$a = array('a', 'b', 'c');
って書くけど最後の要素の後ろにカンマつけたら
前はエラーでたと思ったんだけど最近はつけといてもいいの?
0386nobodyさん2007/08/16(木) 09:48:23ID:???
を、本当だ。エラーにならないんだな。
0387nobodyさん2007/08/16(木) 10:41:11ID:???
PHP5から
0388nobodyさん2007/08/16(木) 10:42:57ID:???
>>385
var_export()なんかでは全部に付くからね。
PHPでは問題なく動作するよ。
0389nobodyさん2007/08/16(木) 12:05:29ID:???
>>385
前っていつの話だ?
昔からエラーにならんだろ。
>>387
PHP4だってエラーにはならん。
0390nobodyさん2007/08/16(木) 13:29:43ID:7iV7mGjE
>>362
この話、興味あるな。

みんなはPHPスクリプトをクライアントに渡す時、再利用されても仕方ないなぁ
と思って渡してる?(当然、再利用対価はない)
それとも、何かしらの方法をとって渡してる?

俺が今パッと浮かんだアイデアは、クライアントに渡すスクリプトは、改行を
全部削除して渡す。ってことくらいかな?
0391nobodyさん2007/08/16(木) 13:35:26ID:???
それだと;とか{とか}の後に改行入れるようにするだけで、大分見れるようになっちゃうんじゃないの?
0392nobodyさん2007/08/16(木) 14:05:35ID:7iV7mGjE
そうだけど、クライアントがド素人のことが多いから、それだけであるていど分効果があると思って。
0393nobodyさん2007/08/16(木) 14:08:26ID:???
レス見る限りお前も十分素人の範疇に入る、と思ってるのは俺だけじゃないはず
0394nobodyさん2007/08/16(木) 14:24:42ID:???
それ以前にクライアントに渡すことなんて殆どない
JSの場合は別
0395nobodyさん2007/08/16(木) 14:29:53ID:???
>>392
そんな「ド素人」に、再利用もくそもないもんだ

>>393
ノ
0396nobodyさん2007/08/16(木) 14:33:14ID:???
>>394
ソースコード納品しないの?
心が広いクライアントと仕事してんだな
0397nobodyさん2007/08/16(木) 14:34:30ID:???
は?
0398nobodyさん2007/08/16(木) 14:34:58ID:???
ソース改編と二次利用を禁ずる契約書を交わすのが普通だろ、藻前ら素人か?
0399nobodyさん2007/08/16(木) 14:36:17ID:???
>>398
常識
0400nobodyさん2007/08/16(木) 14:41:26ID:???
>>396
納品しない場合って、鯖を自社運営にする場合じゃないのか?
0401nobodyさん2007/08/16(木) 14:47:12ID:???
お〜〜〜〜いっっっ
スレ違いになってきてるぞ〜〜〜〜〜!
0402nobodyさん2007/08/16(木) 14:47:32ID:???
どぴゅ〜〜〜〜〜っっ
0403nobodyさん2007/08/16(木) 14:48:37ID:???
>>401
だから何?
そういうスレでしょ、ここ
0404nobodyさん2007/08/16(木) 14:59:22ID:???
ちげーよバカ
0405nobodyさん2007/08/16(木) 14:59:38ID:???
なんで?
0406nobodyさん2007/08/16(木) 15:10:27ID:???
仕事の話は専用スレたてるかプログラマ板かweb制作板のそういうスレへどうぞ
0407nobodyさん2007/08/16(木) 15:14:37ID:???
じゃあWEBエンジニアは孤立するじゃんかよおおおおおおおおおおおおおおおおおおおおおおお
0408nobodyさん2007/08/16(木) 15:18:52ID:???
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで


そんなに嫌なら次スレはおまえが立ててテンプレ改変したらいんじゃね?
確かに商用関係でphpに関する話でもいつものくだ質とは若干違うとは思うけどな。
他の話題で盛り上がってるわけでもないしかまわんだろ。
0409nobodyさん2007/08/16(木) 15:18:55ID:???
ところでWEBエンジニアってなーに?
0410nobodyさん2007/08/16(木) 15:38:13ID:7iV7mGjE
>>398
自分がプロのつもりなのか?現場で仕事したこと無い奴は困るな。
そんなもん守ってるわけないだろ。
0411nobodyさん2007/08/16(木) 15:38:46ID:7iV7mGjE
>>393
お前みたいな奴でも気兼ねなく答えられるように敷居を下げてやったんだよ。
0412nobodyさん2007/08/16(木) 15:40:57ID:???
プロだの素人だの言ってる時点でこのスレは素人専用スレッドで間違いない
本当のプロはこんなスレに来るわけないし。

以上。
0413nobodyさん2007/08/16(木) 15:52:36ID:???
現場で仕事していながら契約守ってないと豪語してるやつが約一名・・・
■ このスレッドは過去ログ倉庫に格納されています