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

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

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

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 98
http://hibari.2ch.net/test/read.cgi/php/1284805237/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0711nobodyさん2010/10/22(金) 12:42:18ID:???
まぁそんなことでSEO対策にはならんけどな
0712nobodyさん2010/10/22(金) 12:58:28ID:???
なんでPHPと関係ない質問が多いのか
なんで他人様のドメインを勝手に直リンさせるのか
0713nobodyさん2010/10/22(金) 13:06:30ID:qwjMjkx8
>>697
どうもありがとう!
0714nobodyさん2010/10/22(金) 13:51:06ID:CQ5MzjSC
>>709
ありがとうございます!
0715nobodyさん2010/10/22(金) 15:39:17ID:???
どういたました!
0716nobodyさん2010/10/22(金) 17:04:47ID:???
コールバックっていう言葉の意味は
returnから帰ってくる値って意味でいいんですか?
0717nobodyさん2010/10/22(金) 17:10:07ID:???
>>712
紛らわしいドメインを取ってる奴が悪い。
0718nobodyさん2010/10/22(金) 17:13:27ID:???
>>4
> 2. このスレに書き込むときに自分のサイト名を晒したくない
> → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
0719nobodyさん2010/10/22(金) 18:18:29ID:???
>>716
携帯に着信履歴を残して、相手にかけさせること。
0720nobodyさん2010/10/22(金) 18:39:08ID:???
>>717
example.com および example.net, example.org は、 RFC 2606 の 3 章で予約されているセカンドレベルドメイン名である。
これらはソフトウェアドキュメンテーションにおける例示のために使われるもので、実際に登録することはできない。
これらのドメインを予約するにあたって、 IANA はマニュアルやソフトウェアの設定のサンプルなどに使用できる
ドメイン名一覧を作成した。 それにより、もしもドキュメンテーション内で記述されているドメイン名が
そのまま使用されたとしても、 第三者に悪影響が及ばないことを保障することが出来る。
コピペ
0721nobodyさん2010/10/22(金) 19:01:13ID:???
>>720
ほー
スレ独自のルールじゃないんだ
勉強になりました
0722nobodyさん2010/10/22(金) 19:08:48ID:???
とあるライブラリからモジュールをぶっこぬいて使おうとしたのですが、
パスが通らないようです。
require_once()文を変更せずに、\PEAR下を見に行くようにするには、どうすればよいですか?

Warning: require_once(Net/UserAgent/Mobile/Error.php) [function.require-once]: failed to open stream: No such file or directory in D:\MyProject\ptrade\symfony\ptrade\lib\vender\PEAR\Net\UserAgent\Mobile.php on line 40

Fatal error: require_once() [function.require]: Failed opening required 'Net/UserAgent/Mobile/Error.php' (include_path='.;C:\xampp\php\PEAR') in D:\MyProject\ptrade\symfony\ptrade\lib\vender\PEAR\Net\UserAgent\Mobile.php on line 40

0723nobodyさん2010/10/22(金) 21:08:20ID:???
>>722
./pear/を読ませたいなら
set_include_path(get_include_path() . PATH_SEPARATOR . realpath("./pear/"));
0724nobodyさん2010/10/22(金) 21:09:11ID:???
>>718
お前が勝手にルールを決めるな
0725nobodyさん2010/10/22(金) 21:30:58ID:???
globの読み方ってグロブ?グラブ?
pearをベアーって読むって最近知った
ピアーっていってた
07267252010/10/22(金) 21:38:53ID:8u5PyO3j
あ、idでてなかったごめん
0727nobodyさん2010/10/22(金) 22:01:13ID:???
1. 発音記号を学ぶ
2. ネットで音声付きの辞書を引く
3. WindowsならSamかAnnaが住んでるから喋らせてみる
0728nobodyさん2010/10/22(金) 23:42:08ID:???
>>724
>>721
0729nobodyさん2010/10/22(金) 23:46:27ID:???
>>728
>>724
0730nobodyさん2010/10/23(土) 00:58:25ID:???
別スレで聞いたら10秒で答えてくれたわ
おまえらレベル低すぎ!
0731nobodyさん2010/10/23(土) 01:14:40ID:???
>>730
>>721
0732nobodyさん2010/10/23(土) 03:05:06ID:???
>>725
ベアーとは読まんだろ
0733nobodyさん2010/10/23(土) 05:15:29ID:???
>>727
3.kwsk
0734nobodyさん2010/10/23(土) 06:08:08ID:???
>>733
text-to-speechのことだろ
0735nobodyさん2010/10/23(土) 07:30:31ID:???
<?php
text_to_speech("pear", "Sam");
?>
0736nobodyさん2010/10/23(土) 08:29:41ID:???
ベアーwwww
0737nobodyさん2010/10/23(土) 09:23:06ID:???
ベアーと読もうが本人の勝手だろ
0738nobodyさん2010/10/23(土) 09:56:33ID:???
そんなマジレス返されましても
07397252010/10/23(土) 10:22:02ID:???
あぁ、またまたごめん
iPhoneから打ったからタップが一回足らなかったw
ベアーじゃクマーだな

globは英単語だったんだね
グロブと読むらしい

cronみたいな造語だと思ってた
0740nobodyさん2010/10/23(土) 11:19:34ID:???
日本語ならグロブでもいいんじゃないw
0741nobodyさん2010/10/23(土) 11:39:26ID:???
>>740
グロブでもいいってグロブと読むって言ってんのに
0742nobodyさん2010/10/23(土) 11:43:55ID:???
ブログ
0743nobodyさん2010/10/23(土) 12:03:21ID:???
日本語ならブログでもいいんじゃないw
0744nobodyさん2010/10/23(土) 12:08:33ID:???
ぐろっぶ
0745nobodyさん2010/10/23(土) 12:13:30ID:???
読み方がわからない人ってのは口頭で話す機会のない人なんだろ?
発音しないんだから発音しらなくてもよくね?
口頭でやりとりする人なら人に聞きゃ済むわけだしな
0746nobodyさん2010/10/23(土) 14:18:13ID:???
>>745
部署内みんな間違ってたって事はある。
0747nobodyさん2010/10/23(土) 15:14:46ID:???
http://www.tagindex.com/statistics/tag_name/index.html
こういうの面白いよね
0748nobodyさん2010/10/23(土) 15:21:19ID:???
>>747
面白い!うちのデザイナーはWidthとHeightを一位ので読んでて多少気になるw
0749nobodyさん2010/10/23(土) 16:04:47ID:???
多少か!w
0750nobodyさん2010/10/23(土) 16:06:14ID:???
ワイズとヘイト?ありえねーわ
0751nobodyさん2010/10/23(土) 16:43:47ID:???
hrefをハーフと言ったりする人もいるよな
もぞもぞする
0752nobodyさん2010/10/23(土) 17:00:37ID:???
エイチレフ
0753nobodyさん2010/10/23(土) 17:02:04ID:???
俺は「ハイパリファレンス」って呼んでる
たいてい通じないから「エイチャーレフ」って言い直す
0754nobodyさん2010/10/23(土) 17:51:36ID:???
俺はウィドゥスとヘイトだな綴りの都合上ヘイグヒトと覚えてるが
英語読みだとウィドゥ(スは消え入る音でほとんど聞こえない)とハイトみたいだね
0755nobodyさん2010/10/23(土) 18:43:54ID:sKO4L/iz
mb_convert_encodingで文字コードを変換してechoで吐くと目的どおりの文字コードになって、
文字化けもしてないのに、DBにいれると???????になるんですが、これは原因はなんなんでしょうか?
shift-jis->euc-jpでDBテーブルはujis_japanese_ciです。
0756nobodyさん2010/10/23(土) 18:44:37ID:???
set names ujis
0757nobodyさん2010/10/23(土) 18:46:09ID:???
全部utf-8に統一しなよ・・わざわざ変える意味あるのか
0758nobodyさん2010/10/23(土) 18:48:42ID:???
>>755
フィールドの照合順序もujisになってる?
0759nobodyさん2010/10/23(土) 19:19:28ID:sKO4L/iz
>>756
これをやるとPhpmyadmin上はちゃんと表示されるようになりました・・・
Euc-jp表示なのに文字化けしてないのはなぜ・・・

>>757
本サイトがEucで携帯がShift-jisなもんで・・・

>>758
すいません、説明間違ってました。
DefaultCharsetがujisで照合順序がujis_japanese_ciでした。
0760nobodyさん2010/10/23(土) 19:20:18ID:???
>>756
間違えたset names sjisでやるとphpmyAdmin上では文字化けしてませんでした。
0761nobodyさん2010/10/23(土) 21:13:08ID:???
解決しました。
DBIniInsert時にset names sjisにして
表示時にshift-jisにしたら直りました。
0762nobodyさん2010/10/23(土) 21:42:17ID:???
MySQLで SET NAMES を使ってはいけない
0763nobodyさん2010/10/24(日) 01:33:24ID:???
なんで
0764nobodyさん2010/10/24(日) 01:35:09ID:???
>>762の言うことは嘘だから気にするな。
SET NAMES は積極的に使うべき
0765nobodyさん2010/10/24(日) 01:40:50ID:???
良い子のみんなは「MySQLで SET NAMES を使ってはいけない」でググってね
0766nobodyさん2010/10/24(日) 03:40:32ID:f6QEzh36
大人なのでSET NAMESを使います
0767nobodyさん2010/10/24(日) 12:29:37ID:YiuzekCl
fpmでforkしたphp間で共有されるものってある?
複数コネクションを同時にさばくとき、Railsみたくフレームワークのモデルさんが壊れないか気になるんだけど
0768nobodyさん2010/10/24(日) 20:07:38ID:XupTldvh
while( 条件文1 && 条件文2 ){
・・・
}

こういう構文の時、条件1でfalseが返ってきたら条件文2はそもそも検証すらされずwhileループを抜けますか?

たとえば条件1で配列の上限を超えたかどうかを調べ、
超えていればそのままwhileループを抜け出し
条件2の検証で配列の要素数オーバーを防げるかどうかを知りたいです。
0769nobodyさん2010/10/24(日) 20:09:53ID:???
エスパー出番よ
0770nobodyさん2010/10/24(日) 20:25:12ID:???
>>768
条件2が検証されるかされないかなんて重要なことではなくね?
オーバーを防げるの意味がわからん
具体的な例文書いてみて
0771nobodyさん2010/10/24(日) 20:26:19ID:???
>>768
条件1がfalseなら条件2は評価されないはず、でもソース無い。
後半の「配列の上限を超える」「要素数オーバーを防ぐ」が良く分からん。
0772nobodyさん2010/10/24(日) 20:27:13ID:???
条件2で配列に追加を行うわけじゃないんだから条件2を検証しようがしまいがオーバーを防ぐように処置してりゃ防げるんでないの?
0773nobodyさん2010/10/24(日) 20:28:47ID:8gi8mHZF
>>768
短絡評価でググると良いよ

>>779
短絡評価は結構重要なテクニック
0774nobodyさん2010/10/24(日) 20:30:24ID:???
条件2が
$i+=1 < 100
みたいなのってことなのかな
0775nobodyさん2010/10/24(日) 20:34:41ID:???
クラスとか二次元配列じゃない?
0776nobodyさん2010/10/24(日) 20:36:34ID:???
>>779>>770のミス
コードの行数とステップ数を減らすぐらいしかメリットがないけど・・・
下の例ではHello!と表示される
<?php
function example1(){
return true;
}
function example2(){
echo "Hello!";
}
example1() && example2();
?>
0777nobodyさん2010/10/24(日) 20:42:12ID:???
PHPマニュアルのここに詳しいな
ttp://www.php.net/manual/ja/language.operators.logical.php
0778nobodyさん2010/10/24(日) 21:24:52ID:???
>>768
$arr = array('a', 'a', 'a');

$i = 0;
while (isset($arr[$i]) && $arr[$i] === 'a') {
var_dump($i);
$i++;
}

$i = 0;
while ($arr[$i] === 'a') {
var_dump($i);
$i++;
}

とかやってみればわかるじゃん。
07797682010/10/24(日) 21:56:44ID:XupTldvh
PHPは短絡評価をサポートされていたんですね。
ありがとうございましたm(_ _)m
0780nobodyさん2010/10/24(日) 22:23:05ID:???
>>773がいろんな意味でエスパーすぎてマジびびったわ
0781nobodyさん2010/10/24(日) 22:39:03ID:???
Javaの場合は、
if (obj != null && obj.test())
って書く場合がよくある。
obj が null の場合、
後ろの obj.test() でエラーになるが、実際には実行されないので・・・
0782nobodyさん2010/10/24(日) 23:00:25ID:Etwa0dNn
http://d.hatena.ne.jp/shellcat/20090928/1254144157

ここの下の方にある $_GET のところで、

>また、同じキーで複数の値が送られる以下のような場合、
http://localhost/test.php?foo=bar&foo=bee
>キーに対応する値は配列となる。
>$_GET['foo'] = array('bar', 'bee');

このように書かれているのですが、試してみましたところ、
そのようにはなりませんでした。

php.ini等の設定がいるのでしょうか?
どうか教えてください。
0783nobodyさん2010/10/24(日) 23:04:41ID:???
ならんですね
[]が必要
0784nobodyさん2010/10/24(日) 23:18:09ID:???
http://localhost/test.php?foo[]=bar&foo[]=bee
の間違いでしょ
07857822010/10/24(日) 23:45:01ID:Etwa0dNn
なるほど。
ありがとうございます。

とあるソーシャルアプリの開発を行っているのですが、
id=28456&id=28969
こんな感じでスクリプトがコールされるんですね。

簡単にそれぞれ取れるような方法はないものでしょうか。
QUERY_STRINGから分割して処理する関数書くしかないですかね。
0786nobodyさん2010/10/25(月) 00:07:03ID:???
そのスクリプトは直らんのか?
0787nobodyさん2010/10/25(月) 00:52:51ID:???
ユーザーが投稿したコンテンツにランダム文字列を付加して、識別できるようにしたいと考えております。
このランダム文字列をなるべく短く、かつ、絶対(あるいは無視できるほどの低確率)にぶつからないように付加したいのですが、
一般的にはどのような方法があるでしょうか?

ぶつからないようにするためには、DBに入れた値を毎回検索してダブりが無いか確認…
とやれば出来るのですが、さすがにパフォーマンス的に現実的ではない気がします。
0788nobodyさん2010/10/25(月) 00:55:36ID:???
>>787
>>1
07897872010/10/25(月) 01:02:33ID:???
自己解決しました。お騒がせしました(^^;)
0790nobodyさん2010/10/25(月) 01:04:11ID:???
>>785
こんな感じかな、あまりいい方法じゃないけど
http://ideone.com/otchQ
<?php
$str = "id=28456&id=28969";
$str = str_replace('=','[]=', $str);
$res = array();
parse_str($str,$res);
var_dump($res);
?>
0791nobodyさん2010/10/25(月) 01:07:03ID:???
そもそもそのクエリってRFCに準拠してるのかね
rewriteして内部の整合性をとったほうが精神衛生上よろしいんじゃないの
0792nobodyさん2010/10/25(月) 01:18:58ID:hJcPLAGl
test.php ( スクリプトファイルは、UTF-8で作成)内に
日本語入力項目を設けた上で、同画面にPOSTを行うと
なぜか文字化けしてしまいます。


<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />

header("Content-Type: text/html; charset=UTF-8");
print("<form method=\"post\" action=\"test.php\" accept-charset=\"utf-8\">");

なぜ文字化けしてしまうのでしょうか?

※Windows Vista
0793nobodyさん2010/10/25(月) 01:22:51ID:???
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
普通こうでしょ
まったく
0794nobodyさん2010/10/25(月) 01:26:46ID:???
>>792
mb_language("ja");
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
0795nobodyさん2010/10/25(月) 09:35:07ID:???
>>793 >>794
いずれの方法を行っても文字化けしてしまい

POSTされた値を

$test_value = mb_convert_encoding($test_value, "UTF-8", "auto");

としたところ文字化けせずに画面に表示されました。

しかし、毎回この様な文字コードの変換を行うのは面倒なのですが
根本的な原因は何なのでしょうか?
0796nobodyさん2010/10/25(月) 09:43:32ID:???
>>795
あとはスクリプト自体の文字コードとwebサーバの文字コードの確認
apacheならAddDefaultCharsetとか。

あとPOSTされた値の文字コードは何?それで原因がわかるんじゃない?
0797nobodyさん2010/10/25(月) 10:02:30ID:???
>>796
>>795で文字化けが回避出来たので恐らくsjisだと思います。
少々面倒くさいですが解決出来たので一先ず満足です。
0798nobodyさん2010/10/25(月) 10:07:38ID:???
Pearでユーザ認証を行う場合に

user_id
user_name

をテーブルに保存する訳ですが、この時にuser_nameはハッシュ値で登録するので
未だ良いとは思いますが user_id は暗号化して保存しておいた方が無難でしょうか?
0799nobodyさん2010/10/25(月) 10:34:54ID:???
パスワードはないのかよ
0800nobodyさん2010/10/25(月) 11:03:24ID:???
文字コードのことになると頓珍漢なレスしかつかないという
0801nobodyさん2010/10/25(月) 11:08:32ID:0LkbmEJw
インラインスケートで通学できる小学校なんてあるのかよ
08027982010/10/25(月) 11:12:18ID:???
>>799
間違えました。次の列構造を予定しています。

@ user_id
A user_pass      ← ハッシュで保存
B user_pass_own   ← 独自の暗号化した文字列で保存予定(複合化可能にする為)

@もBと同じく暗号化して保存した方がやはり良いでしょうか?

0803nobodyさん2010/10/25(月) 11:23:01ID:DYebYvBq
APIで返されるXMLに含まれる日付データのフォーマットが
「2010-10-09T22:16:28+09:00」なのですが、
このフォーマットを変換してくれる関数とかってあるんですか?
今は単純に T と +09:00 を削除しています。
0804nobodyさん2010/10/25(月) 12:01:36ID:???
>>803
strtotime() でUNIXタイム取得。あとはdate()なりなんなりで。
0805nobodyさん2010/10/25(月) 12:02:39ID:???
>>802
それよりサイトとDBのセキュリティに気を使った方が良いよ。
0806nobodyさん2010/10/25(月) 12:18:43ID:???
>>805
SQLインジェクション対策として
:hogehoge タイプを使用しています。

個人情報等も扱うので最悪流出しても
分からない様にほとんどを暗号化してDBに保存しようと思ってますが
これだとパフォーマンスが落ちますよね。。。

しかし、安全面を考えればその方が未だ良いかと思ってますが
如何でしょうか?
0807nobodyさん2010/10/25(月) 12:33:27ID:IEJpRj+g
すいません。ID出し忘れたのでもう一度投稿します。

ユーザーが投稿したコンテンツにランダム文字列を付加して、識別できるようにしたいと考えております。
このランダム文字列をなるべく短く、かつ、絶対(あるいは無視できるほどの低確率)にぶつからないように付加したいのですが、
一般的にはどのような方法があるでしょうか?

ぶつからないようにするためには、DBに入れた値を毎回検索してダブりが無いか確認…
とやれば出来るのですが、さすがにパフォーマンス的に現実的ではない気がします。

よろしくお願いします。
0808nobodyさん2010/10/25(月) 12:36:42ID:???
復号化可能にする意味が分からない
他人のパスワードみてニヤニヤするの?
まさかパスワードリマインダーで復号してメールで送ったりするの?
それとも、会員のパスワードを使ってログインしようとしたり・・・?
0809nobodyさん2010/10/25(月) 13:03:23ID:???
>>806
パフォ落ちても(略 ということなら、それはそれでいいんじゃね?

>>807
低確率で衝突してもいいんだったら、適当なハッシュアルゴリズム使えばいいんじゃね?
0810nobodyさん2010/10/25(月) 13:09:56ID:???
>>807
通し番号を付ければいいだけではないのか?
■ このスレッドは過去ログ倉庫に格納されています