【PHP】下らねぇ質問はここに書き込みやがれ 68
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/05/03(土) 22:52:16ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0584nobodyさん
2008/05/15(木) 04:22:17ID:???0585nobodyさん
2008/05/15(木) 06:14:36ID:???%や_をエスケープするのに簡単な方法はありますか?
自分で考えたのは
function myescape($keyword) {
$keyword = str_replace('\\', '\\\\\\\\', $keyword);
$keyword = str_replace('%', '\%', $keyword);
$keyword = str_replace('_', '\_', $keyword);
return $keyword;
}
$db->getAll("select * from t where name like '%".myescape($keyword)."'";
という感じなのですが、これでいいのでしょうか?
0586585
2008/05/15(木) 06:16:42ID:???0588585
2008/05/15(木) 07:19:28ID:uzQIA50K騙るのはやめてください
まったく、ひまですね
IDだせばいいんでしょ!
回答よろ
0590nobodyさん
2008/05/15(木) 09:52:12ID:???やり方は以下のページと同じで、
http://www.trekdevel.net/archives/171
コンパイルは成功したのですが、php.iniにzend_extension=...を書いても
php -mやphpinfoにxdebugが出てきません。
こういう場合どこかにエラーでも出ないのでしょうか?
0591nobodyさん
2008/05/15(木) 10:28:13ID:???NGID:uzQIA50K
0592nobodyさん
2008/05/15(木) 10:52:56ID:uzQIA50K0593nobodyさん
2008/05/15(木) 10:56:09ID:???0594nobodyさん
2008/05/15(木) 11:08:52ID:uzQIA50K0595nobodyさん
2008/05/15(木) 11:21:37ID:???>それで動くなら、それでいいじゃん。
動 く な ら 、 そ れ で い い じ ゃ ん ! !
動 く な ら 、 そ れ で い い じ ゃ ん ! !
動 く な ら 、 そ れ で い い じ ゃ ん ! !
0596nobodyさん
2008/05/15(木) 11:43:45ID:???--with-php-config=
で指定する
php-config
locateしてみたのですがないようです。
この場合どうすればいいでしょうか?
0597596
2008/05/15(木) 11:58:42ID:???0599nobodyさん
2008/05/15(木) 12:53:47ID:???PHPの質問受け付けてくれるところなら、ほかにもあるしね。
0600nobodyさん
2008/05/15(木) 13:07:31ID:???どんだけスキルないのw
0605nobodyさん
2008/05/16(金) 05:45:52ID:???病院で精密検査してもらったら心筋梗塞と診断されてしまった。
3ヶ月間入院して安静にしたら、ついに寝たきりになってしまった。
その後、介護認定を受けたら介護度は5になった。
膀胱カテーテルを留置してもらい、しかも疥癬に感染してしまった。
そのため、家族に感染を防ぐ為毎日全身を清拭することになった。
疥癬が治癒したら、入浴サービスを利用することにした。
訪問看護は週に3回である。これは、JP1で典型的に成功した事例です。
0606nobodyさん
2008/05/16(金) 14:05:30ID:???それと同じことが出来るライブラリとかがあれば教えてください
0607nobodyさん
2008/05/16(金) 16:46:29ID:???0608nobodyさん
2008/05/16(金) 18:27:15ID:rxHRpk5j16777215
という数値を
FFFFFF
に直すには、どのような変数を使うのがスマートでしょうか?
よろしくお願いします。
0609nobodyさん
2008/05/16(金) 18:36:51ID:???0612nobodyさん
2008/05/16(金) 18:57:32ID:???0613nobodyさん
2008/05/16(金) 19:15:54ID:LhmlCzbvフォームのデータをDBに入れるときはエスケープ処理をしますが
セッションに入れるときも何か処理したほうがいいのでしょうか?
0614608
2008/05/16(金) 19:38:41ID:rxHRpk5j>>610
レスありがとうございます。
dechexで希望通りのことができました。
実際につかうときはstr_padで桁数をそろえたりも必要かもしれませんね。
>>611
来ると思ってましたがこういうのも好きですw
ありがとうございました。
0615nobodyさん
2008/05/16(金) 20:38:00ID:???Apache 2.2 / PHP 5.2.6 をインストールし直しました。
今までXAMPP下で動かしていたプログラムを移動し、実行したところ、
関数に対して文字列の引数を与える際、"" や '' で囲ってあげなかったところ――例えば foo(hoge);――が以下のようなエラーを吐くようになりました。
NOTICE : Use of undefined constant image - assumed 'hoge' ....
どうやら与えられた引数を定数として解釈してしまい、そんな定数ないじゃん!と言っているようなのです。
これは error_reporting の設定の問題なのでしょうか。それとも別に何か設定があるのでしょうか。
ご助言いただけると幸いです。
0617nobodyさん
2008/05/16(金) 20:55:05ID:???0619nobodyさん
2008/05/16(金) 21:09:20ID:???0620nobodyさん
2008/05/16(金) 21:12:42ID:???http://www.php.net/manual/ja/language.constants.php
> 未定義の定数を使用した場合、ちょうどstringとしてコールしたかのように(CONSTANT vs "CONSTANT")、
> PHPはその定数自体の名前を使用したと仮定します。 この際、E_NOTICE が発生します。
未定義の定数 hoge を使っても、E_NOTICE つきで hoge == 'hoge' と見なしてくれてしまう。
この仕様、世話焼きすぎだと思う。
0621615
2008/05/16(金) 21:44:42ID:cNash65Gそれに訂正です。
foo(hoge); を投げたときに帰ってくるエラーが
Notice : Use of undefined constant hoge - assumed 'hoge' ....
です。
0622nobodyさん
2008/05/16(金) 21:49:02ID:???>>616-620
返信ありがとうございます。
確かに引数は括るべきであって、それを怠った自分が悪いということはわかっています。
ただ、今までは括らなくとも動いていたので、どこの設定でそうなっているのか、ということを知りたく、質問した次第です。
スレ汚し失礼しました。
0623622
2008/05/16(金) 21:49:52ID:cNash65G0627ヌルホース
2008/05/17(土) 01:50:40ID:???通称fpは、どこのサーバをレンタルしてるかわかりますか?
また、どうやって調べるか教えてください。
0628nobodyさん
2008/05/17(土) 01:53:45ID:???はい次の質問者どうぞ。
0629ヌルホース
2008/05/17(土) 01:59:21ID:???ヌルー
どこのスレいったら、教えてくれるでしょうか?
0631nobodyさん
2008/05/17(土) 09:01:16ID:???http://www.prox.ne.jp/
0633nobodyさん
2008/05/17(土) 21:19:35ID:axq+Svx6「read.php/1/」「read.php/23/」みたいに指定し、ログの表示は出来たのですが、
なぜかスタイルシートが適用されません。
何もパスを付けずに「read.php」を実行させると普通にスタイルシートが適用されるのですが、
「read.php/1/」みたいな感じにパスを付けるとどうしてもCSSが適用されません。
どうしたらよいでしょうか?
0634nobodyさん
2008/05/17(土) 21:27:32ID:???0635nobodyさん
2008/05/17(土) 21:30:11ID:axq+Svx6本当ありがとうございます。
出来ました。
0637nobodyさん
2008/05/17(土) 22:06:54ID:???SELECT *
FROM `TBL_1` AS `T1`
INNER JOIN `TBL_2` `T2`
ON `T1`.`hoge_ID`=`T2`.`hoge_ID`
";
$result = mysql_query($sql);
$rows = @mysql_num_rows($result);
while($row = @mysql_fetch_array($result)){
$row[]←ここでどうかけばいいの?
}
こんな風に二つのテーブルをjoinしてその両方に同名のカラムがあった場合にselect * した場合はphp側で同名のカラムをどうやって$row[]の添え字に書いて取り出せば良いのでしょうか?
*を使わずにselectでダブらない様にカラムをいちいちAS 〜としてやらずに済ませたい場面がありましたので質問した次第。
0638637
2008/05/17(土) 22:32:30ID:???0640637
2008/05/17(土) 22:39:39ID:???0641nobodyさん
2008/05/17(土) 22:40:47ID:2uwsWgrzこれで満足ですよね、解決したいので回答よろ
0643nobodyさん
2008/05/17(土) 22:47:36ID:???全くわからんけど
今から風呂はいって
頭洗って
珈琲ノンでから考えてみる。
とりあえず、ptint_rでrowの中身みてみた?
0644nobodyさん
2008/05/17(土) 23:08:16ID:???0645nobodyさん
2008/05/17(土) 23:08:50ID:2uwsWgrz$row[]←ここでどうかけばいいの?
}
この部分聞いてるのでおねがいしますよ
0646nobodyさん
2008/05/17(土) 23:09:01ID:???0647637
2008/05/17(土) 23:10:29ID:1fE1M1vI勝手に私を騙ってID出さないで下さい。
もう解決したんですから。
0648643
2008/05/17(土) 23:59:54ID:???print_r($row)で中身みると
Array (
[0] => NULL
[hoge1] => NULL
[1] => NULL
[hoge2] => NULL
[2] => NULL
[hoge3] => ぱんつ
・・・エンドレスはめ殺し・・・
)
だから
while($row = @mysql_fetch_array($result)){
$orz = $row[2];
}
とすれば、hoge3のカラムが取り出せる。
0649nobodyさん
2008/05/18(日) 00:48:21ID:YbibvtLr0650nobodyさん
2008/05/18(日) 01:05:20ID:Ye23aTZkここまではなんとかなったのですが・・・。
<?php
header("Content-type: text/html; charset=shift_jis");
$filedir='.';#取得したいディレクトリ //[.]はカレントディレクトリを表す
$dirlist=array();#格納先の配列を準備
$strDir=opendir($filedir);#ディレクトリを開く
while($str=readdir($strDir)){array_push($dirlist,$str);}#1つづつ配列に格納
closedir($strDir);#ディレクトリを閉じる
//print_r($dirlist);#配列を表示
$filelist=array();#格納先の配列を準備
foreach ($dirlist as $filename){
if(filetype($filename) == "file"){array_push($filelist,$filename);}#ファイルだけを格納
}
?>
0651nobodyさん
2008/05/18(日) 01:10:51ID:TyvZJlXjid pri message
11 5 あああ
12 2 いいい
13 5 ううう
14 3 えええ
この場合id 14のメッセージが3/(5+2+5+3)の確率で
表示されるようにしたいのですが良い方法はありますか
0653nobodyさん
2008/05/18(日) 01:19:14ID:???if (!($dir = opendir("./"))) {
die;
}
while ($fnm = readdir($dir)) {
if (ereg('.csv$', $fnm)) {
print "<P>$fnm</P>\n";
}
}
closedir($dir);
?>
0654nobodyさん
2008/05/18(日) 01:20:59ID:???0657nobodyさん
2008/05/18(日) 01:37:51ID:gOK6sC5jget_defined_varsで
ユーザ定義の変数のみを取り出すスマートな方法があったら教えてください。
よろしくお願いします。
0658nobodyさん
2008/05/18(日) 01:41:31ID:???0659nobodyさん
2008/05/18(日) 01:49:01ID:TyvZJlXj重み付けがあるので
0660657
2008/05/18(日) 01:51:46ID:gOK6sC5j自分で考えつくのは、
GLOBALSなどをひとつずつ排除していって、
残ったものがユーザ定義変数である・・・とかそんな感じです。
じっさいに試してはいませんが・・・。
よろしくお願いします。
0661nobodyさん
2008/05/18(日) 02:04:38ID:???0=>"a",
1=>"b",
2=>"c",
"あ"=>"d",
"い"=>"e"
);
array_valuesを使ってひらがなのキーの値だけ取り出すスマートな方法がありますか?
コードにして書いてください
ここは宿題スレじゃないので、必要最低限コードぐらいは自分で考えて書いてください
0666nobodyさん
2008/05/18(日) 02:30:07ID:???randができるのは↑のこと
今回、質問者の悩みは解決しない
0667nobodyさん
2008/05/18(日) 02:33:15ID:???0668nobodyさん
2008/05/18(日) 02:44:33ID:???randなんて今回は使わない
ゆとり乙
0669nobodyさん
2008/05/18(日) 02:54:04ID:???0670637
2008/05/18(日) 03:02:09ID:tgzZzG90ここのルールをよく知らないでの質問した私が悪いのですが、今更ですがIDを出します。
>>643
中身は見てます。phpに渡される時点で添え字が数字でなく文字列の場合は上書きされてしまっていますね。
と言うことはphp側ではどうしようもないということか・・・
>>646
マスターテーブルが自身をjoinして参照しなくてはならない場面があったからです。
こういう場合に、SELECT * ってSQLに書いた場合に、いちいち、
`T1`.`hoge_ID` AS `T1_ID`
`T2`.`hoge_ID` AS `T2_ID`
としないで済ませる事が出来る方法がないかと質問しました。
0671637
2008/05/18(日) 03:10:52ID:tgzZzG90テーブル
ID|名前|好きな人id
1 |太郎|3
2 |花子|1
3 |美咲|1
で、
太郎は美咲が好き
花子は太郎が好き
美咲は太郎が好き
という結果が欲しい。
まともにASするとか、このテーブルをID=>名前ってな連想配列にしとくとか、そういう手があるのは百も承知で、
SELECT
*
FROM テーブル AS `T1`
INNER JOIN テーブル AS `T2`
みたいに「*」使った場合に上記のような結果が欲しいわけです。
0672nobodyさん
2008/05/18(日) 03:24:37ID:???0673nobodyさん
2008/05/18(日) 08:46:12ID:???スレ違い
http://pc11.2ch.net/test/read.cgi/php/1158647441
0674nobodyさん
2008/05/18(日) 08:50:37ID:???向こうのスレいってこうゆとり
0675nobodyさん
2008/05/18(日) 09:15:25ID:???0676ヌルホース
2008/05/18(日) 09:42:14ID:???ありがとうございます(`・ω・´)
そういやhttp://tool-1.net/
って穴があるからスクリプト抜けるって聞いたのですが、本当ですか?
0677nobodyさん
2008/05/18(日) 09:43:20ID:???0679ヌルホース
2008/05/18(日) 09:51:07ID:???穴の勉強していたのですが、(`・ω・´)
穴があるサイトの例がhttp://tool-1.net/
らしいので(・・;)
一流のプログラマーが勢揃いしているところで聞かせてもらってます。
0680nobodyさん
2008/05/18(日) 09:54:37ID:???0681ヌルホース
2008/05/18(日) 10:00:32ID:???(・・;)
0682森
2008/05/18(日) 11:59:57ID:???■ このスレッドは過去ログ倉庫に格納されています