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

【PHP】下らねぇ質問はID出して書き込みやがれ 106

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/04/29(金) 17:11:00.40ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0652nobodyさん2011/05/25(水) 12:52:28.00ID:???
>>650
array_shift($m);
0653nobodyさん2011/05/25(水) 12:54:20.44ID:???
$m[1]
0654nobodyさん2011/05/25(水) 13:54:43.50ID:???
この質問定期的にくるね
0655nobodyさん2011/05/25(水) 13:59:17.74ID:???
無限ループ無限ループと馬鹿にするので質問と回答の無限ループを作ってみた
0656nobodyさん2011/05/25(水) 14:20:09.56ID:???
配列が空かどうか調べる方法を教えてください
0657nobodyさん2011/05/25(水) 14:23:26.04ID:vv7yAL0x
$a = array(array(),array(),array());
これが空と判定されて
$a = array(array(1,2,3),array(),array());
が入っていると判定する方法はありませんか?
値は数字とは限りません
0658nobodyさん2011/05/25(水) 14:30:15.42ID:???
>>657
var_dump((bool)array_filter($a, 'count'));
06596172011/05/25(水) 14:55:26.09ID:???
解決できました
fgetcを使ったのがいけないみたいです
0660nobodyさん2011/05/25(水) 15:11:51.33ID:???
>>658
それ面白いね
0661nobodyさん2011/05/25(水) 15:45:03.45ID:???
>>655
回答しないとループしないぜ。
俺は今回回答しないことに。てか、過去ログ見ろって思うよね。
0662nobodyさん2011/05/25(水) 15:49:58.98ID:???
さすがに無限ループが原因と思ってる回答はねーわな
0663nobodyさん2011/05/25(水) 17:40:34.17ID:???
$a = array(1,2,3,4,5,6,7,8,13,24,100,54,23);
配列内の値を2で掛けた値に変更したいのですがどうやるのが一番よいですか?
0664nobodyさん2011/05/25(水) 17:43:37.47ID:jb860Ok3
どうやるのが一番良いって言われても・・・。
どういうやり方があって各メリットがあって、それに対して意見求めるならわかるんだが
ただ単に「どうやるのが一番よいですか?」ってただの教えて君にしか見えないよ
0665nobodyさん2011/05/25(水) 17:50:42.86ID:???
無限ループを解凍したあだ名は無限ループ君が荒らしてるのか
0666。 ◆oDupeixhZv52 2011/05/25(水) 17:59:26.70ID:???
>>663
array_walk($a,function(&$v){$v*=2;});
とか
foreach($a as $var=>$val)$a[$var] = $val*2;
0667nobodyさん2011/05/25(水) 18:09:35.07ID:???
>>663
>>658がヒントになりそうだな
0668nobodyさん2011/05/25(水) 19:34:25.69ID:???
>>666
foreachの参照でok
0669nobodyさん2011/05/25(水) 20:11:24.92ID:???
foreach($a as &$v)$v*=2;
0670nobodyさん2011/05/26(木) 04:11:50.15ID:???
キタっ、検索エンジンスパム
http://www.c-recipe.biz/
0671m ◆HtQ8Kj2zzc 2011/05/26(木) 09:19:06.10ID:Hn9Exv6E
【OS名】CentOS release 5.4
【PHPのバージョン】5.1
【連携ソフトウェア】なし
【質問内容】
セッション管理での質問です。

session_start()の後にガベージコレクションが動くと思うのですが以下の状態になって困っています。

ガベージコレクションの実行確立は100%(session.gc_probability=100,session.gc_divisor = 100)
session.gc_maxlifetimeを10秒に設定して1回目の処理でsession_start()時点でセッションファイルを作成。
同じ処理を15秒後に再度実行、session_start()直後に1回目で作成したセッションファイルが削除される。

session_start()の時点でセッションファイルの寿命が伸び、作成から0秒なのでガベージコレクションの
削除対象とはならないと思うのですがこの考え方は間違っていますか?

また、この状態は正常ですか?
回避する方法はありますでしょうか?
0672nobodyさん2011/05/26(木) 11:17:31.15ID:???
>>671
> session_start()の時点でセッションファイルの寿命が伸び、作成から0秒なのでガベージコレクションの
> 削除対象とはならないと思うのですがこの考え方は間違っていますか?
間違っている。
session_start()内の処理順序は、セッションファイルの読み込み→GCの起動。
GCは単純にファイルの更新日時を見て削除する。
セッションファイルの読み込みだけではファイルは更新されないので寿命は延びない。

> また、この状態は正常ですか?
正常。

> 回避する方法はありますでしょうか?
session_start()直後にsession_regenerate_id()を呼べば、
新しいセッションファイルが作成されるのでセッションを継続できる。
他にもあるかもしれないけど知らない。
0673nobodyさん2011/05/26(木) 11:19:13.28ID:???
やったことないけど、間違ってるんのカナ

同じセッションIDでも

不要セッションファイル削除
↓
以前のセッションファイル読込み
↓
新たにセッションファイルに書き込み

てなっとるんかな?わしも知りたい
0674nobodyさん2011/05/26(木) 11:20:38.54ID:???
ほー 逆なのね
0675nobodyさん2011/05/26(木) 11:29:40.63ID:???
知りたいならsession_set_save_handlerあたりをつかって
自分でDBとかに保存するプログラムを書くのが一番理解しやすいと思うよ
0676671 ◆HtQ8Kj2zzc 2011/05/26(木) 12:51:53.70ID:Hn9Exv6E
回答ありがとうございます。

session_start()内の細かい処理はわかりませんが、session_start()が終わった時点でファイルの更新日時は更新されるようです。
GCが別の更新日時を見てるのか…。
セッションファイルの読み込み→GCの起動→セッションファイルの更新という順番なのか…。

そもそも、session_regenerate_id(true)を行ったときに以下のエラーがでたのでこの問題に気づきました。
session_regenerate_id()では問題ないのですが、元session_regenerate_id(true)を利用したいのですよね。

[エラーメッセージ]
Warning: session_regenerate_id() [function.session-regenerate-id]:
Session object destruction failed in ファイル名 on line 42

session_set_save_handlerは試してみます。
0677nobodyさん2011/05/26(木) 20:49:39.23ID:OIghcQ22
$str1 = 'あああ';
echo mb_detect_encoding($str1, "UTF-8,sjis-win,eucjp-win");//UTF-8
$str2 = <strong>'あああ</strong>';
echo mb_detect_encoding($str2, "UTF-8,sjis-win,eucjp-win");//SJIS-win

と言う結果になります。ページの文字コードはUTF-8です。
どうして後者のHTMLが入った場合はSJISになるのでしょうか?
0678nobodyさん2011/05/26(木) 21:15:36.65ID:???
mb_detect_encodingの正しい使い方をしましょう
0679nobodyさん2011/05/26(木) 21:34:36.21ID:???
それを質問してるんだろうが。くずが
0680nobodyさん2011/05/26(木) 21:35:02.20ID:???
氏ね
0681nobodyさん2011/05/26(木) 21:41:04.82ID:???
>>679-680
おまいら両方とも消えろ
0682nobodyさん2011/05/26(木) 22:09:43.48ID:???
>>677
再現しない
下のコードでも本当にそんな結果になる?

<?php
$str1 = "\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82";
echo $str1, ':', mb_detect_encoding($str1, "UTF-8,sjis-win,eucjp-win"), PHP_EOL;
$str2 = "\x3c\x73\x74\x72\x6f\x6e\x67\x3e\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\x3c\x2f\x73\x74\x72\x6f\x6e\x67\x3e";
echo $str2, ':', mb_detect_encoding($str1, "UTF-8,sjis-win,eucjp-win"), PHP_EOL;
0683nobodyさん2011/05/26(木) 22:16:33.72ID:???
>>677
両方ともUTF-8になるよ。
syntax errorにならない最少コードをちゃんと書いて試して環境を添えて報告して。
0684nobodyさん2011/05/26(木) 22:19:49.17ID:OIghcQ22
>>682
そのコードであればUTF-8になります。

実際は、フォームから送信された値をチェックしてるんです。
それでPOST内にHTMLがあるとSJISになってしまうので調べていました。
>>677のような最小のコードを書いてもHTMLがあるとSJISになるので
どうしたものかと悩んでいました。

特にHTMLが変数に入っているからmb_detect_encodingが効かないとか
そう言う事はないみたいですね。サーバ側の問題かもしれません。
もう少し調べてみます。ありがとうございました。
0685nobodyさん2011/05/26(木) 22:27:24.08ID:???
サーバの文字コードの設定ぐらい掛けや
0686nobodyさん2011/05/27(金) 00:22:17.49ID:???
文字コードの設定は掛かっていません
0687。 ◆oDupeixhZv52 2011/05/27(金) 11:15:08.73ID:???
その文字の実際の文字コードは何?
0688nobodyさん2011/05/27(金) 11:21:37.18ID:???
ページの文字コードはUTF-8ですが、文字の文字コードはどうやって調べるのでしょうか。
というより、文字コードを調べるためにmb_detect_encodingを使ったわけですが。
0689。 ◆oDupeixhZv52 2011/05/27(金) 11:30:23.10ID:???
まあ、何がどうなってるのか分からんので切り分けですよ。
フォームから送信された値を
print_r( unpack("H*",$str)); で
0690nobodyさん2011/05/27(金) 11:46:49.71ID:???
formタグに accept-charset 属性を付けても同じ結果になる?
0691nobodyさん2011/05/27(金) 12:03:47.56ID:???
PHP_EOLって最近よくみるな
0692nobodyさん2011/05/27(金) 12:07:03.08ID:???
違った、PHP_ELOって最近よくみるな
0693nobodyさん2011/05/27(金) 12:07:45.18ID:???
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
0694nobodyさん2011/05/27(金) 12:30:03.23ID:???
◆回答者への注意
・ 回答者として、態度をわきまえること。
0695nobodyさん2011/05/27(金) 12:34:21.62ID:???
>>688
phpの文字コードだけ調べてform送信しているページの文字コードを調べてないに一票
formの文字コードが Shift_JIS で>>677も実際は $str1 = 'aaa'; $str2 = '<strong>あああ</strong>'; だから $str2 だけ SJIS-win になるんだろう
0696nobodyさん2011/05/27(金) 12:40:46.74ID:???
>>694
もっと上から目線で偉そうに挑発的に回答しないといけないのか?
俺小心者だから困っちゃうな・・・
0697nobodyさん2011/05/27(金) 12:53:44.16ID:???
>>696
語尾にニャを付けにゃさいと言ってるにゃ!
0698nobodyさん2011/05/27(金) 13:13:39.08ID:???
PHP初心者が多いのにプライド上級者だけは多いスレだからな
0699nobodyさん2011/05/27(金) 13:21:52.85ID:???
自己紹介か?
0700nobodyさん2011/05/27(金) 14:25:35.98ID:FAcyXKz2
すみません。
メンバーのプロフィールをMySQLで管理するシステムを作っているのですが
登録される画像は皆さんどう入れていますか?
バイナリでMySQLに入れるようにすればいいんでしょうか?
それとも画像用のフォルダを作ってそこに入れればいいのでしょうか?
自分で使う用ではなく、他人に使わせる用なので悩んでいます。
ちなみに、メンバーは総数で数十人というところです。
0701nobodyさん2011/05/27(金) 14:31:41.18ID:???
>>700
うちは後者でやってるにゃ
0702nobodyさん2011/05/27(金) 14:36:54.98ID:???
画像ファイルを総当たりで見られても良いならフォルダ
見られたら拙い物であればDBからPHPを通して持ってきている
0703nobodyさん2011/05/27(金) 14:38:38.52ID:???
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0704nobodyさん2011/05/27(金) 14:55:55.60ID:WQFzDbB3
>>700
フォルダは危険だな。
画像なんていらねーよ
諦めろ
07057002011/05/27(金) 14:58:52.61ID:FAcyXKz2
ありがとうございます。
DBでやってみることにします。

>>704
画像必須なサイトのようなので
0706nobodyさん2011/05/27(金) 14:58:52.43ID:???
ログインしないと見れないようにするならデータベースに入れとけ
そうでないなら直リンだけふさぎたいだけならhtaccessで設定しろ
07077002011/05/27(金) 14:59:34.26ID:FAcyXKz2
ぶっちゃけ風俗サイトです
0708nobodyさん2011/05/27(金) 15:05:48.59ID:???
業務サイトなら自分でかんがえろ
0709nobodyさん2011/05/27(金) 15:15:25.51ID:???
>>700
public_html 配下になければフォルダでもいいと思うけどなあ
0710nobodyさん2011/05/27(金) 15:22:11.12ID:???
公開ディレクトリかつpublic_htmlじゃないところはどうなんですかね。
0711nobodyさん2011/05/27(金) 15:30:38.24ID:???
ばかだwwwwwwwwwwwwwwwwww
public_html内に置かないと画像よめねえだろwwwwwwwwwwwwwww
0712nobodyさん2011/05/27(金) 15:31:51.97ID:???
知らないなら黙ってろ
0713nobodyさん2011/05/27(金) 15:41:44.49ID:???
俺も>>709を支持するなぁ、PHPが読み込めるのは何も公開フォルダだけじゃないし
DBにバイナリデータつっこむと色々とめんどいよ
0714nobodyさん2011/05/27(金) 15:43:17.25ID:???
自演w
0715nobodyさん2011/05/27(金) 15:47:16.29ID:???
じゃあ俺は>>710を支持すればいいの?
0716nobodyさん2011/05/27(金) 15:58:21.53ID:???
別にpublic_html配下においても困る画像じゃないんでしょ
下半身でもうpするのか?
0717。 ◆oDupeixhZv52 2011/05/27(金) 16:03:22.78ID:???
こうなるからテンプレに入ってるのに・・・
0718nobodyさん2011/05/27(金) 16:05:18.11ID:???
風俗なんてチャンコロ産業に手を貸すお前らアホス
北朝鮮にでもいけ
0719nobodyさん2011/05/27(金) 16:05:48.90ID:???
ドイツがいい
0720nobodyさん2011/05/27(金) 16:12:05.65ID:???
俺は>>711を支持するにゃ
0721nobodyさん2011/05/27(金) 16:12:30.79ID:???
今時画像ってどうなのよ。動画でしょ動画。
0722nobodyさん2011/05/27(金) 16:17:47.71ID:???
>>716
困るから質問してるんだろ
0723nobodyさん2011/05/27(金) 16:20:16.04ID:???
>>722
質問するのは困るからとは限らないと思うよ
0724nobodyさん2011/05/27(金) 16:20:28.26ID:???
ID:FAcyXKz2は画像が必須と言ってるだけで困るとかはいってない
お前らが勝手にpublic_htmlとか言い出してヴァカな議論してるだけだw
0725nobodyさん2011/05/27(金) 16:22:34.32ID:???
PHPが読める場所ならどこでも画像呼び出せるだろ。
0726nobodyさん2011/05/27(金) 16:24:08.92ID:???
お前らさ、質問するのはいいんだけどそのあと上級者ヅラしてスレに居座るのやめろ
バレバレ
0727nobodyさん2011/05/27(金) 16:24:24.68ID:???
>>724
どんな方法が適切か、を聞いてるんだろ
public_html 配下におかないことが不適切な理由をいえ
0728nobodyさん2011/05/27(金) 16:24:28.86ID:???
>>711は共有サーバのtmpにアップロードされた画像がまずきて
それをユーザディレクトリーにコピーして使うという
アップロード処理の基本も知らないかわいそうな子なんだからスルーしとけよ
0729nobodyさん2011/05/27(金) 16:26:11.28ID:???
>>711=>>727
0730nobodyさん2011/05/27(金) 16:28:36.76ID:???
>>729
おまえひょっとして…バカなの?
0731nobodyさん2011/05/27(金) 16:28:46.95ID:???
結論。 /root ディレクトリに置くのがベスト。
0732nobodyさん2011/05/27(金) 16:28:47.58ID:???
別にそこで困ってそうには見えないよ
0733nobodyさん2011/05/27(金) 16:29:06.82ID:???
>>727
そりゃお前が勝手に誇大解釈してるだけだわw
理由を言えなんて言われてもそんな下らない議論に付き合う気はないし
答え>>703で出てますしー
0734nobodyさん2011/05/27(金) 16:29:44.57ID:???
だから置くなら画像じゃなくて動画にしろよ!
今時画像じゃ物足りないんだよ!
0735nobodyさん2011/05/27(金) 16:30:48.49ID:???
>>733
お前、ハタから見てると充分議論に付き合っているように見えますが
0736nobodyさん2011/05/27(金) 16:31:08.06ID:???
>>728
じゃあ俺は/tmp監視してアップロードされたファイル全部かっさらうわ
0737nobodyさん2011/05/27(金) 16:32:11.39ID:???
>>736
残念でした。アップロードされたファイルは/tmp以外に置くようにしてます〜
0738nobodyさん2011/05/27(金) 16:32:19.78ID:???
盛り上がってるなあ
「好きにしろ」なら他人の意見を否定できるはずないのにね
0739nobodyさん2011/05/27(金) 16:32:22.74ID:???
>>735
質問者のいないとこで盛り上がるなといってんだよヴァカめ
もうとっくにいないだろ
0740nobodyさん2011/05/27(金) 16:33:19.80ID:???
>>739
僕を議論に巻き込んでくれてありがとう。寂しかったの。
0741nobodyさん2011/05/27(金) 16:33:51.80ID:???
さすがPHPスレだなwwwwwwwwwwwwwww
バカ同士の共食いが始まってるぜwwwwwwwwwwwwwwwwwwwwwwwwwwww
0742nobodyさん2011/05/27(金) 16:34:04.57ID:???
>>739
ちゃんと見てますよ
0743nobodyさん2011/05/27(金) 16:34:15.04ID:???
777にすればいい
0744nobodyさん2011/05/27(金) 16:34:34.27ID:???
>>741
どう見てもお前の書き込みが一番馬鹿っぽい
0745nobodyさん2011/05/27(金) 16:35:47.80ID:???
そういう画像って一人でコソーリ愉しむ物だろ
わざわざ公開する意図がわからん
0746nobodyさん2011/05/27(金) 16:38:19.20ID:???
>>745
自分のプロフィール画像を一人でコソーリ愉しむの?サミシイノ?
07477092011/05/27(金) 16:50:44.19ID:IFfcoRNX
>>742
大変だね…
Twitterのように公開主体のシステムなら公開し、逆なら非公開にすればいいと思ったんだけど>>705で最終的に後者の選択をしたから>>709を勧めた
画像とはいえ会員情報の一つなんだから慎重に考えるべきだと思うよ
0748nobodyさん2011/05/27(金) 16:55:24.83ID:???
黙ってろよ在日
0749nobodyさん2011/05/27(金) 16:59:52.35ID:???
>>709がDB格納を勧めない理由とは?
0750nobodyさん2011/05/27(金) 17:01:04.34ID:???
>>749
在日だから
0751nobodyさん2011/05/27(金) 17:03:03.64ID:???
>>746
自分の画像でもいいですが、自分が蒐集した画像というべきですね
07527092011/05/27(金) 17:10:34.02ID:IFfcoRNX
>>749
http://q.hatena.ne.jp/1224125375
■ このスレッドは過去ログ倉庫に格納されています