【PHP】下らねぇ質問はID出して書き込みやがれ 84
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/04/27(月) 21:39:11ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0233nobodyさん
2009/05/08(金) 23:18:02ID:???(1)と(2)と(3)の共通文字列は、「(1)と(2)の共通文字列」と「(3)」との共通文字列に等しいはずだ。
4つ以上でも同じ。
(1)と(2)の共通文字列を求め、それと(3)の共通文字列を求め、それと(4)の共通文字列を求め…と繰り返せばいい。
0234nobodyさん
2009/05/08(金) 23:21:44ID:???http://jp.php.net/manual/ja/function.simplexml-load-file.php
0235nobodyさん
2009/05/08(金) 23:34:43ID:gndL9SHGアルゴリズムの問題ですか....LCS問題・・・
調べて見たのですが、C系で実装されているサンプルはありましたが、
phpでは見つかりませんでした。理解しながら、phpに実装するのは結構大変そうですね。
先頭からではなく、文中からの一致も必要なのですが、
思った以上に難しくて冷や汗です。
追記しますと、10000件以上対象がありまして、
先ほどの例ですと、東京都港区麻布なら2件一致、東京都港区なら3件一致、
と最小+最小から2番目、3番目・・・とできればやりたいのですが、
もっと難しいですよね。う〜ん、困りました。
0236nobodyさん
2009/05/09(土) 00:05:40ID:???いっそ部分文字列を全パターン切り出して、それをキー値にした配列で個数数えたら?
注意しないと東京都西東京市とかは「東京」がダブルカウントされてしまうが。
0237nobodyさん
2009/05/09(土) 00:13:09ID:???0238nobodyさん
2009/05/09(土) 00:41:11ID:???完全にアルゴリズムの世界なので、C、C++、Javaでしかサンプルは存在しないと考えたほうがいい。
つうか、その例だと先頭からの一致しか見てない気がするのだが。
「大阪府大阪市港区」「愛知県名古屋市港区」「東京都港区」の共通文字列は?「港区」検出したいのか?
0239nobodyさん
2009/05/09(土) 01:01:54ID:???0240nobodyさん
2009/05/09(土) 03:11:42ID:6UxgjX3A自分をincludeしたファイルのパスを知りたいのですが、
どうすれば分かるでしょうか?
0241nobodyさん
2009/05/09(土) 05:49:41ID:???includeしても実行ディレクトリは親だとおもうけど
0243nobodyさん
2009/05/09(土) 08:09:07ID:???0244nobodyさん
2009/05/09(土) 09:57:54ID:???0245nobodyさん
2009/05/09(土) 12:56:31ID:???試してないけど
inc.php
<?php
$filepath = __FILE__;
hoge.php
<?php
incude_once('./fuga/inc.php');
echo $filepath
hoge.phpへのパスが返ってきちゃうか不安だけど。
0247nobodyさん
2009/05/09(土) 12:59:05ID:???0249nobodyさん
2009/05/09(土) 21:36:48ID:xpzC4uCd【PHPのバージョン】php5.29
【質問内容】JISからUTF-8の変換について
質問です。
IRCから受け取った文字列を処理したいのですが、mb_detect_encoding()で受け取った文字列の文字コードを調べたところJISと表示されたので
mb_convert_encoding($data->message,"JIS","UTF-8")のように変換しようとしても変換後の文字列は相変わらずJISになってしまいます。
JIS->UTF-8は他の変換方法があるのでしょうか?
0250nobodyさん
2009/05/09(土) 21:41:49ID:???string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )
0251nobodyさん
2009/05/09(土) 22:20:39ID:???その通りでしたーっ!
いや、なんかC出身なせいか関数(src,dst)っていう先入観が…
言い訳ですよねリファレンスくらいよめよksgですよね
0253nobodyさん
2009/05/09(土) 23:20:03ID:xpzC4uCd仕事?よくわからないですけどただの趣味です。
PHP始めたばっかりでIRCbotでも作ってみようかなと
0254nobodyさん
2009/05/10(日) 01:06:03ID:???引数順序カオスだよなぁ、PHP。
多量の引数を取る関数が多いってのもあるが。
0255nobodyさん
2009/05/10(日) 08:31:15ID:???いまだにエディタしょぼいが
0256nobodyさん
2009/05/10(日) 14:52:43ID:???PHP6ではユニコードになるらしいから新しいマルチバイト命令でるかもね。
0257nobodyさん
2009/05/11(月) 00:53:38ID:r24gXu9ahoge.sort(function(a, b) {return (a > b) ? -1 : 1;})
こんな風に、そのソート関数だけで有効なユーザー定義ソート関数が使えるけど
phpではどうやるの?
function cmp($a, $b){return ($a < $b) ? -1 : 1;}
usort($hoge, "cmp");
だと、他の場所にcmpという関数が無いか気にする必要があるし。
025828
2009/05/11(月) 01:01:59ID:???>257
class mySort
{
public static function cmp($a, $b){return ($a < $b) ? -1 : 1;}
}
usort($hoge, array('mySort', 'cmp');
0259nobodyさん
2009/05/11(月) 01:48:59ID:???usort($arr, function($a, $b){ return $a - $b; });
0260nobodyさん
2009/05/11(月) 02:03:26ID:???php5.3まで待ちます…
0261nobodyさん
2009/05/11(月) 03:00:53ID:???0262nobodyさん
2009/05/11(月) 03:35:39ID:3RhlII/wsrc/php-5.3.0RC2/ext/mbstring/mbstring.c:4757: error: `php_mb_encoding_detector' undeclared (first use in this function)
src/php-5.3.0RC2/ext/mbstring/mbstring.c:4758: error: `php_mb_encoding_converter' undeclared (first use in this function)
どなたか解決策ご存じでしょうか?
0263nobodyさん
2009/05/11(月) 11:00:53ID:thXXZ3vj変更点を確認したいのですが、日本語で記述しているページはないでしょうか?
http://www.php.gr.jp/も日本語ではなく、変更点の記述場所へのリンク(リンク先は英語)です。
0264nobodyさん
2009/05/11(月) 11:08:58ID:???ほとんど箇条書きだし読めるべ?
0266nobodyさん
2009/05/11(月) 17:48:55ID:???PHPは今や完全に時代遅れなのに、そこそこにこのスレが伸びるのはなぜですか?
0267nobodyさん
2009/05/11(月) 17:52:15ID:???0272nobodyさん
2009/05/11(月) 18:06:42ID:???お前は何を言ってるんだ
0273nobodyさん
2009/05/11(月) 18:09:14ID:???学歴ネタは結構スレ伸びるよw
0274nobodyさん
2009/05/11(月) 18:14:58ID:???古いCMを思い出してしまった
0275nobodyさん
2009/05/11(月) 18:24:06ID:???英語で読めと言ってもしょうがない
0276nobodyさん
2009/05/11(月) 18:26:46ID:???お前がクズなのはわかったからこれからは読む努力
をすればいいんじゃない>>275
0277nobodyさん
2009/05/11(月) 18:43:48ID:???でも努力するまでもないよ、読むのは。
0281nobodyさん
2009/05/11(月) 18:49:34ID:???これPHPでどう書きますか?
0282nobodyさん
2009/05/11(月) 18:50:01ID:???あとID
0284nobodyさん
2009/05/11(月) 18:57:03ID:???0285281
2009/05/11(月) 19:25:34ID:xMuv+rlfrequire 'statistics2'
def ci_lower_bound(pos, n, power)
if n == 0
return 0
end
z = Statistics2.pnormaldist(1-power/2)
phat = 1.0*pos/n
(phat + z*z/(2*n) - z * Math.sqrt((phat*(1-phat)+z*z/(4*n))/n))/(1+z*z/n)
end
0287281
2009/05/11(月) 19:44:54ID:xMuv+rlf丁重なご回答ありがとうございます。
無事解決いたしました。
0288nobodyさん
2009/05/12(火) 01:30:22ID:???だいじょうぶ、だいじょうぶ。
あいつら、プログラマ板にいくと
すぐにおとなしくなるから。
「自分よりレベルの高いやつがいないな?」
と思うと、とたんに暴れだす。
「自分よりレベルの高いやつがいるな?」
と思うと、とたんにおとなしくなる。
それがwebプログラマ。
だからレベルの高い集団に放り込んだほうが良い。
0289nobodyさん
2009/05/12(火) 09:35:55ID:V/2qAUy/シバンを書くと、sapiで実行した時にそれが文字として表示されてしまいます
こういう場合シバンなしにするしかないですか?
0290nobodyさん
2009/05/12(火) 12:37:04ID:fpNhR8wCSession_startの前に、何かが宣言されているとのこと。
何が原因だかわかる方いらっしゃればお教え願います
0291nobodyさん
2009/05/12(火) 12:40:15ID:lKlDjO5N以下を確認しる
・session_start()の前にrequire_onceなどが入っていないか。そのrequire_onceで何か出力していないか
・headerなど出力していないか←これもアウトだったよな、今確認できね
・文字コードがUTF-8でBOMがついていないか(BOMついてると最初に2〜3バイトくらい出力してるはず)
0292軟式PHP ◆YgAn9/gytI
2009/05/12(火) 15:18:28ID:???0293nobodyさん
2009/05/12(火) 17:54:53ID:/A/mUsdc以前perlを使ってた時はLWP::Simpleで2行くらいでできたのですが
どなたかご教授願います
0294nobodyさん
2009/05/12(火) 17:55:25ID:lKlDjO5N$_POSTと$_GETのこと?
0295nobodyさん
2009/05/12(火) 18:02:21ID:???1行でできるよ
0296nobodyさん
2009/05/12(火) 18:04:56ID:???http://jp.php.net/manual/ja/wrappers.php
http://jp.php.net/manual/ja/book.curl.php
0297質問です
2009/05/12(火) 22:48:27ID:Ttdyz3C0【症状】 ファイルアップロード時、IEのみページ内リンクへ飛ばせない。
------------------------------------------------------------------
【 PHP 】
if (is_set($_FILES)){
header("Location:test.php#koko");
}
【 HTML 】
<form method="post" action="test.php" enctype="multipart/form-data">
<input type="file" name="test_file" />
<input type="submit" value="投稿" />
</form>
・
・
・
<a name="koko">ここ</a>
------------------------------------------------------------------
Fx、Opera、safariなどは「ここ」へ飛ぶのですが、
IEのみ飛ばず、URLも#以降が消えています。
解決方法があれば教えてください。
0298nobodyさん
2009/05/12(火) 23:00:41ID:???0299297
2009/05/12(火) 23:11:23ID:Ttdyz3C0ページ内リンクって仕様外のことだったんですか?
知りませんでした。ありがとございます。
つまり、飛ばないIEの挙動が正しいってことだったのか……。
0300nobodyさん
2009/05/12(火) 23:14:45ID:Og9YKcWqレスポンスヘッダとレスポンスボディの両方を取得したいんですがどうすればいいんですかね?
get_headers()だとヘッダしか取得できず、
ile_get_contents()だとボディしか取得できない
両方を一度のリクエストで取得したいのです
0301nobodyさん
2009/05/12(火) 23:20:04ID:???0302nobodyさん
2009/05/12(火) 23:29:48ID:???試した感じheaderでアンカー付きで飛ばした時、IE8でも正常に動作するっぽいけどなぁ。
>>300
使ったこと無いけどcurlとかどうなの?
0303nobodyさん
2009/05/12(火) 23:42:50ID:KBOzcqjj同じスクリプトで調べると、1分置きに24時間計測して大体0.20秒です。
(2) 他に別のプロバイダーからそのスクリプトにアクセスしてレスポンスが帰ってくるまでの時間を
1分置きに24時間計測して大体0.40秒です。
この0.2のタイムラグは、通信関係の遅延だと思いますが、
1日に20回程度(2)で測ったタイムの中で5秒を超えるものがあります。
(1)では、3回程度です。
この違いは、どこから来るのでしょうか?
改善する方法はありますか?原因が不明で困っています。
宜しくお願いします。
0304nobodyさん
2009/05/12(火) 23:53:15ID:???webサーバーで定期的に何らかのプログラムが動いていて、その際に一時的に高負荷になっているんだろう。
例えばアクセスログの集計プログラムとかな。
つうか、実行時間計測なら素直にxdebugでプロファイル取れ。
0305nobodyさん
2009/05/13(水) 04:40:45ID:???アンカーはブラウザが解釈する物なのでjavascriptのようにクライアントサイドでないと本来意味ないらしい
0306nobodyさん
2009/05/13(水) 04:48:46ID:???こういうのもあるみたい →nameは廃止されるからidで
ttp://q.hatena.ne.jp/1226298159
0307nobodyさん
2009/05/13(水) 11:18:33ID:43iecwOZ【PHPのバージョン】php5.26
【質問内容】
whois情報から、登録者名とドメイン更新期限日のみを取り出したいのですが
各問い合わせサーバーから返ってくるwhois情報から、文字列検索する
しか方法はないのでしょうか。
非常に困っています。。。教えてください。
0308nobodyさん
2009/05/13(水) 16:20:33ID:???RFC読んでないからわからんけど、たぶんWhoisサーバのリプライに決まった形式はない。
更新期限も Expires On: だったり、Expire-Date: だったりマチマチ。
日付の形式もバラバラ
だから公開されてるライブラリがあったとしても、どれだけ使えるかは
どっちみち自分で確認しないとダメだろう。
なので、レジストリごとに自分で書くのが確実だと思う。
gTLDと.jpとかだけでいいなら楽。
TLD全部引かなきゃいけない場合は...ご愁傷様です。
0309nobodyさん
2009/05/13(水) 17:15:40ID:DEsX7p4Wログインしているかどうかの確認を
if(!$_SESSION["login_id"]){
//ログインしていない場合はトップページに戻す
}
のようなチェックを入れているだけなのですが、
これで問題ないでしょうか?
0310nobodyさん
2009/05/13(水) 17:16:30ID:???セッションの中身は全てサーバーサイドでの管理なので問題ありません
0311nobodyさん
2009/05/13(水) 17:39:08ID:43iecwOZレスありがd、しかしやっぱりそうですか、、、
TLD全部なんですよ。。。チーン
0312nobodyさん
2009/05/13(水) 17:54:45ID:???0313軟式PHP
2009/05/13(水) 18:04:41ID:???何をもって問題ないかにもよるが、セッションハイジャックには弱いな。
とりあえずこのサイトでも読んどけ。
ttp://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html
0314nobodyさん
2009/05/13(水) 20:17:56ID:???(1)exit;を入れる
(2)session_regenerate(true)を入れる
(3)php.iniのuse.cookie.onlyとかを1にする
0315309
2009/05/13(水) 22:50:31ID:DEsX7p4Wありがとうございます。もう少し勉強します。
0316nobodyさん
2009/05/14(木) 12:10:48ID:YD/DCKSf「出力時にもhtmlspecialcharsをしろ」とありますが、
それはデータベース内のデータを出力する際もでしょうか?
それともデータベースにINSERTする時に行えば問題ないのでしょうか?
0317nobodyさん
2009/05/14(木) 12:21:02ID:???_______ __
// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
_____ _____ ______ _______
| ウェブ | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
._________________
|XXS PHP │・検索オプション
└────────────────┘・表示設定
| Google検索 | I'm Feeling Lucky | ・言語ツール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索 ◎日本語のページを検索
0321nobodyさん
2009/05/14(木) 19:17:47ID:jJzNEQqbaaa,sss,ddd,fff
zzz,xxx,ccc,vvv
というファイルtest.txtがあって
それを読み込んで$ALという二次元配列に入れるところまではできたのですが($AL[2][2]がcccです)、この$ALを再び同じ形式でtxtファイルに書き込むにはどうすればいいでしょうか?
txtファイルに書き込むデータの形式は上記のような感じで、1つの行の要素間はカンマでくぎって、行が終わったら改行します
本来はtest.txtを読み込んで、ソートしてから別ファイルに書き込むのですが、2次元配列のソートは覚えるのに時間がかかりそうなので、まずは読み込んで、読み込んだデータを別ファイルに書き込みたい状態です
0322nobodyさん
2009/05/14(木) 19:20:32ID:???これの逆をやればいいのでは?
0323nobodyさん
2009/05/14(木) 22:15:18ID:???当然、どこかのタイミングではする必要がある。
どちらでも問題ないといえば問題ない。
ただし、普通は画面に出力するその瞬間に行なう。何故なら、その方が忘れにくいからだ。
一年前にエスケープして保存したか、そのまま保存したかを覚えている自信はあるか?
保存先が複数になった場合はどういうポリシーにする?セッション変数は?ファイルに書き出したアレはどうしたっけ?
この関数の引数ってエスケープした奴?まだの奴?
保存する場所や、プログラムのほかの場所でエスケープする場合、画面出力するコードを見ただけではXSS対策がなされているかを確認できない。
画面出力をするその場でエスケープする方針ならば、そこを見れば間違いなくXSS対策がなされている事を確認できる。
だいいち、">"という文字列を含むレコードを検索したい時にはどうしたらいいんだっけ?とかいちいち悩みたくないだろ。
保存は生データ、加工は必要な奴が必要な場所でする、が基本。
0324nobodyさん
2009/05/14(木) 22:17:07ID:jJzNEQqb繰り返し文で1行ずつ書き込むのはできそうなのですが、fputs(ファイルハンドル,$AL)みたいにまとめてやることは出来ないでしょうか?
0325nobodyさん
2009/05/15(金) 00:24:41ID:???0326nobodyさん
2009/05/15(金) 01:20:02ID:???0327nobodyさん
2009/05/15(金) 02:18:52ID:???fputs($sp, implode("\n", array_map("joincsv", $AL)));
function joincsv($arr) {
return implode(",", $arr);
}
0328nobodyさん
2009/05/15(金) 02:25:56ID:???おまけ
$text = file_get_cotents("test.txt");
$AL = array_map("splitcsv", explode("\n", $text));
function splitcsv($rec) {
return explode(",", $rec);
}
0329nobodyさん
2009/05/15(金) 15:59:24ID:aGJ1dXbD【PHPのバージョン】php5.29
Apache2.2を使用しています。
PEARはgo-pear.batを叩いてインストールしました。smartyも入っています。
【質問内容】
httpd.confでphp.iniの参照個所を任意の場所に変更してもphpinfoで確認すると
Configuration Fileがc:\Windows配下になっています。
それじゃあということでc:\Windowsにphp.iniをおいてそれを編集しているのですが
それも反映していない気がします。
(c:\Windows\php.iniのinclude_pathを任意の場所に変更してもphpinfoで確認すると
C:\php5\pearになってしまう)
Apacheは毎回再起動しています。
環境変数はちゃんとPHPインストールしたフォルダを指定しているのですが
ほかに何か設定が必要なのでしょうか。
超初心者質問ですみません・・・。
0330nobodyさん
2009/05/15(金) 16:05:16ID:???0331nobodyさん
2009/05/15(金) 16:06:41ID:???http://pc11.2ch.net/test/read.cgi/php/1167984858/の1から見てインストールしていけばいいよ
0332nobodyさん
2009/05/15(金) 16:23:16ID:???>【OS名】windowsVista
virtualstoreに反映されてない?
エディタを管理者権限で動かしてから編集してみて。
■ このスレッドは過去ログ倉庫に格納されています