【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カテゴリ)の各スレで
0301nobodyさん
2008/05/09(金) 03:59:05ID:???予想ではipv6関係でbind9が遅くなってる
でもこんなんはレンサバの設定を見なきゃ何も言えん
もはやPHP関係ないし
0302227
2008/05/09(金) 04:03:33ID:snanmjytそうですか…
とりあえず原因がすっきりしたことに感謝します
レンサバにもきいてみます
しかたないのでしばらくはIP直でやるか
cronでときどき gethostbyname しておいて それを使うとかしようと思います
0303nobodyさん
2008/05/09(金) 04:26:38ID:???0304nobodyさん
2008/05/09(金) 08:07:25ID:???0305243
2008/05/09(金) 09:38:31ID:NVAYhOqrようやくそれなりに満足できるものが作れました。
0306nobodyさん
2008/05/09(金) 09:42:34ID:???帰ってきたk.k.projects【私がやります】
http://pc11.2ch.net/test/read.cgi/php/1210192743/
0307nobodyさん
2008/05/09(金) 11:35:21ID:???というのを
<?php ?>のなかで書く場合どう書けばいいのでしょうか?
<?php echo "<a href=\"*****.php" ?><?=SID?><?php echo "\">リンク</a>">
ではかっこ悪いような・・・
0308nobodyさん
2008/05/09(金) 11:41:47ID:???てか、配布されてるスクリプト改造したいんだろうけど、
ちょっとぐらいは言語の勉強しようよ・・・
0309nobodyさん
2008/05/09(金) 11:51:10ID:???echo '<a href="*****.php' . SID . '">リンク</a>';
?>
0310nobodyさん
2008/05/09(金) 12:30:14ID:???Call to undefined function: mysql_connect()
と出てしまいます。
web上からは正常に動くのですがどのようにすればいいのでしょうか
0311310
2008/05/09(金) 12:31:11ID:???0312nobodyさん
2008/05/09(金) 12:32:40ID:???0314nobodyさん
2008/05/09(金) 14:36:27ID:TK9WqWmpttp://xoopscube.jp/のオンライン状況という機能をつくたいのですが、
pearパッケージでそのようなものがあるのならなるべく利用して作りたいです。
0315nobodyさん
2008/05/09(金) 14:53:28ID:???0316nobodyさん
2008/05/09(金) 15:08:30ID:???>>314じゃないけど、そんな関数あるの?
以前気になって調べたけど、見つけられなかった。
http://www.php.net/manual/ja/book.session.php
0317nobodyさん
2008/05/09(金) 15:15:33ID:???そこのファイルを数えるとかだとダメかな
0319nobodyさん
2008/05/09(金) 15:21:33ID:???0320nobodyさん
2008/05/09(金) 16:23:57ID:???0321nobodyさん
2008/05/09(金) 16:26:43ID:???どういう仕組みなんだろ
0322nobodyさん
2008/05/09(金) 16:27:42ID:???0323nobodyさん
2008/05/09(金) 16:27:45ID:???0324nobodyさん
2008/05/09(金) 16:35:23ID:TK9WqWmpセッション使ったやり方がどうしてもわからないのでこんな感じを考えてみました
訪問者のアクセスログを取得
↓
現在の時刻より直近1分前までののログを取る
↓
ユニークなidのみ抽出、カウント
↓
オンライン人数表示
0325nobodyさん
2008/05/09(金) 16:40:19ID:???0326nobodyさん
2008/05/09(金) 16:46:13ID:TK9WqWmpidではなく、ipです
0327nobodyさん
2008/05/09(金) 16:49:03ID:???ログアウトしたら消し、タイムアウトしたら消し
0328nobodyさん
2008/05/09(金) 16:50:54ID:???0329nobodyさん
2008/05/09(金) 16:51:32ID:???0330nobodyさん
2008/05/09(金) 16:55:23ID:???訪問者のIPアドレス/時刻を記録して、
3分くらい前までのIP数をカウント。
それだけだ。
0331nobodyさん
2008/05/09(金) 17:05:13ID:???0332nobodyさん
2008/05/09(金) 17:07:31ID:???アクセスログだと、だんだん長くなるからパフォーマンスが、ちと不安。
自分は使ったことはないけど、共有メモリに session_id で取得したIDをキーとして
最終アクセス時刻を格納した配列を格納して、それからカウントしたほうがいい気がする。
http://www.php.net/manual/ja/book.shmop.php
http://www.php.net/manual/ja/function.session-id.php
0334nobodyさん
2008/05/09(金) 17:10:16ID:???0335nobodyさん
2008/05/09(金) 17:11:21ID:???マニュアル見直したら、共有メモリって、直には配列とかオブジェクト格納できないっぽい。
まぁ、適当なデータ構造作れば、意図することは可能だと思うけど。
0336nobodyさん
2008/05/09(金) 17:15:09ID:TK9WqWmpdlしてソースみたのですが、自分のやり方でも問題ないかと思いました。
ご指摘された大量アクセスの場合に備えて、>>332さんのアドバイスを元にやり方を考えて見ます。
ありがとうございます
0337nobodyさん
2008/05/09(金) 17:16:10ID:???timstamp,ipadress
timstamp,ipadress
timstamp,ipadress
timstamp,ipadress
の2カラムのCSVなりをアクセス毎に走査して、指定秒数が過ぎた行は削除。
後は残りの行数カウントするだけなんだが。
同一IPが1カウントになるのが嫌なら、クッキーでも食わして判別すりゃOK
0338nobodyさん
2008/05/09(金) 17:18:53ID:???0339nobodyさん
2008/05/09(金) 17:18:57ID:???0341nobodyさん
2008/05/09(金) 17:23:04ID:???アクセスログだと無駄に走査する行数が増えるだろう?
では無くて専用の記録ファイルをつくっておいて、
常時内容を走査するって事よ。
アクセス
↓
ログイン数記録ファイルを走査
↓
自分のIPと、期限切れIPを削除
↓
自分のIPを追記
↓
ファイル更新
って感じに。
0342307
2008/05/09(金) 18:23:41ID:Ln96d6P1SIDは定数だから普通に書いたらよかったんですね。
うっかりしてました。
ありがとうございます。
0343nobodyさん
2008/05/09(金) 19:53:51ID:???0344nobodyさん
2008/05/09(金) 19:55:14ID:cq1aYSJI0346nobodyさん
2008/05/09(金) 21:37:35ID:TK9WqWmp0347nobodyさん
2008/05/09(金) 21:42:53ID:???0348nobodyさん
2008/05/09(金) 21:46:51ID:???0349nobodyさん
2008/05/09(金) 22:00:14ID:???FWに最低限必要な機能ってなんだと思う?
最近使い始めたFWの機能がどーも最悪なもんでw
ちなみに個人的には
バリデーション、DBへのラッパー
あたりかなーと思ってるんだけど
0350nobodyさん
2008/05/09(金) 22:00:53ID:???0351nobodyさん
2008/05/09(金) 22:25:45ID:???セキュリティの事とか深く考える必要は無いと言われたんですが
本当なんでしょうか??
0352nobodyさん
2008/05/09(金) 22:29:31ID:???0354nobodyさん
2008/05/09(金) 22:35:19ID:???0355nobodyさん
2008/05/09(金) 22:54:11ID:???権限がなければ考えてても仕方ないw
スクリプト自体のセキュリティはいつの時でもしっかり考えないと。
0357nobodyさん
2008/05/10(土) 10:59:14ID:3v++6OkNrunkitを入れたのですが、
これだとクラスのメソッドを書き換えるのでちょっと大げさです
オブジェクトだけのメソッドを書き換えるにはどうしたらいいですか?
0359nobodyさん
2008/05/10(土) 11:52:36ID:???0360nobodyさん
2008/05/10(土) 12:45:57ID:???0361nobodyさん
2008/05/10(土) 13:22:00ID:???ログイン
↓
セッション生成、値格納
↓
ページ移動(ページA)
↓
セッション情報を使う
↓
ページ移動(ページB)
↓
セッションがなくなる
こんな感じになります。
ページAとBは同じソースなので
プログラムがおかしい時はどっちもおかしくなりますw
DoCoMoはうまくいったのですが....
解決方法をご存知の方。
教えてください!
よろしくおねがいします、
0362nobodyさん
2008/05/10(土) 13:24:46ID:vET5c+ho良くある、ページが2つのエリアに別れていて「左がメインコンテンツ」「右がコンテンツに関連する広告」
みたいな構造って、左のコンテンツを吐き出す処理の中で、その中のキーワードに応じて
右のコンテンツを吐き出すfunctionを叩くような形になっているんでしょうか?
もしくは、広告のキーワードを変数として吐き出して、それを広告部分のphpが取得して
出力処理って流れなのかな? (ad.php?key="music"みたいな…)
どういうやり方で作ればいいのか、アドバイスお願いします
0363nobodyさん
2008/05/10(土) 13:48:26ID:???0364nobodyさん
2008/05/10(土) 14:36:45ID:???で、>>362の場合は好きに作れって結論になると思うが
良くあるって話だと今はフレーム切らないから、メインコンテンツを吐く処理中に
広告を吐くfunctionを呼びゃいいんじゃね
テンプレートエンジンを使ってるなら、出力順なんて気にならないだろ
0365361
2008/05/10(土) 14:49:38ID:???0366nobodyさん
2008/05/10(土) 14:51:57ID:???コンテンツの内容に合わせて広告も変えるってことでいいのかな
それだとしたらphpshotのここ最近の記事を参照
ヒントはここまで
0367nobodyさん
2008/05/10(土) 15:20:51ID:???どこまで最適にやるかって話はあるけど、amazonのなんかだと自動的に判別してくれるんじゃないの。
0368nobodyさん
2008/05/10(土) 15:34:43ID:baYV5j6gPHPにおける特殊記号の取り扱いについて質問させていただきます。
以下の処理を行っているのですが特殊記号'―'(ダッシュ)の扱いで悩んでいます。
1.文字コード'utf-8'のファイル内文字列をget_filecontentsで取得
2.取得文字列を'SJIS'に変換(mb_convert_encoding使用)
3.文字列内に'―'が存在していた場合'?'となってしまう
ex)"今日の野球結果 5―6"(文字コードutf-8)
->SJIS変換後 "今日の野球結果 5?6"
特殊文字'―'を文字コード変換できずに上記のような現象が起こっていると
思うのですがこれを回避する方法がありましたらご教示お願いします。
※サーバ:solaris
PHPバージョン:4.3.8
0369nobodyさん
2008/05/10(土) 15:40:48ID:???0370nobodyさん
2008/05/10(土) 15:43:06ID:???該当部分のコードぐらい書けよ
だれもおまえが書いたようなコード書けるんだし、著作権を主張するほどのライブラリってわけじゃないんだろ
0372nobodyさん
2008/05/10(土) 16:12:21ID:baYV5j6gいや、仕事じゃないんですけれど
解決できてず、悩んでるので書き込みさせて頂きました。
0373nobodyさん
2008/05/10(土) 16:27:38ID:???これって MS932がSJISと異なるとかいう話題だよね。
試してないけど、SJISじゃなくて、SJIS-WIN とか指定すればいいのかな。
0374nobodyさん
2008/05/10(土) 16:28:39ID:???session_destroy();
するとうまく動作しないんですがなんででしょうか
0375nobodyさん
2008/05/10(土) 16:29:14ID:baYV5j6gfunction XML_Analizer($file,$correct_feed){
if( !file_exists( $file ) ){
$cpCmd = '/usr/bin/cp -p ' . $correct_feed . ' ' . $file;
system( $cpCmd, $ret );
}
$data = file_get_contents($file);
$data = str_replace("[―]","-",$data);
if( !$data ){
return false;
}
$str_encoding = mb_detect_encoding($data, 'auto');
if ($str_encoding != 'UTF-8') {
$data = mb_convert_encoding($data, 'UTF-8', $str_encoding);
}
$Unserializer =& new XML_Unserializer();
$Unserializer->setOption('parseAttributes', TRUE);
$status = $Unserializer->unserialize($data);
if ($status === true) {
$res_array = $Unserializer->getUnserializedData();
$arr_result_constructure[] = $res_array;
return $arr_result_constructure;
}else{
return false;
}
}
この後utf-8からSJISに文字コード変換しています
'―'の文字コード「?」を使って文字変換できないものでしょうか。
※$data = str_replace("[―]","-",$data); このあたりで
0376nobodyさん
2008/05/10(土) 16:31:23ID:baYV5j6gありがとうございます
早速ためしてみます!
0377nobodyさん
2008/05/10(土) 16:32:23ID:DzSEGQLQ$array = array(あ,い,う,え,お,か,き,く,け,こ);
これを
$array = array(い,え,か,く,こ);
にしたいんだけど。
0378nobodyさん
2008/05/10(土) 16:39:49ID:baYV5j6g誤記がありました
この後utf-8からSJISに文字コード変換しています
'―'の文字コード「&#8213;」を使って文字変換できないものでしょうか。
~~~~~~~~~~~
※$data = str_replace("[―]","-",$data); このあたりで
0379nobodyさん
2008/05/10(土) 16:56:03ID:???$dest = ();
$t = length($array) / 2;
for (int i = 0; i < $length; $i++) {
$dest[] = $array[$i * 2];
}
0380nobodyさん
2008/05/10(土) 17:02:50ID:???$_SESSION = array();
session_destroy();
session_unset();
これらを使ってセッションの中身(?)を消そうと思ったんですが
DoCoMoではdestroy以外、auでは全てで消えませんでした。
仕様ですか?w
0381380
2008/05/10(土) 17:08:56ID:???old A
new B
data 100
としてお気に入りに入れて
再度アクセスしたら
old B
new C
data 100
で出てくるような感じです。
A、B、CはPHPSESIDをあらわしてます。
dataはsessionでもちまわってるデータです
0382nobodyさん
2008/05/10(土) 17:46:30ID:09hEgNWCどうやってインストールしたらいいのでしょうか?
0384380
2008/05/10(土) 18:50:06ID:???アドレスはBでくるのに
old C
new D
になってしまい、それはそれでおかしな動作になります(T_T)
0385nobodyさん
2008/05/10(土) 19:42:52ID:???ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?queId=7136970
こちらのほうがきれいなコードでおすすめ
0386nobodyさん
2008/05/10(土) 19:46:46ID:???0387nobodyさん
2008/05/10(土) 19:57:15ID:???0388っ
2008/05/10(土) 20:50:31ID:bCQuG41r0389nobodyさん
2008/05/10(土) 21:04:08ID:???0391nobodyさん
2008/05/10(土) 21:17:42ID:ZfUSU8TDログインチェック用に別ファイルの.phpをすべてのページに読み込ませたいと
思っています。
個別に include()させるほかにどんな方法があるでしょうか?
アドバイスお願いします
もしかしたらphpの話題からずれてるかもしれませんが、もちろんphpでも
うまいやり方があれば教えてください。よろしくお願いします
0392nobodyさん
2008/05/10(土) 21:20:53ID:???0393nobodyさん
2008/05/10(土) 21:34:39ID:batXv2Osxdebugをインストールし、有効にすると、
zend debuggerがphpinfoに表示されなくなりました。
zend debuggerとxdebugは同時に使うことが出来ないのでしょうか?
同時に使う方法があれば教えてください
0394nobodyさん
2008/05/10(土) 21:42:03ID:???0395nobodyさん
2008/05/10(土) 22:22:47ID:???エラー時のスタックトレースはxdebug
って感じに両方の機能を使いたいんですが
やっぱり無理ですかね〜
0396nobodyさん
2008/05/10(土) 22:37:07ID:???0398nobodyさん
2008/05/10(土) 22:47:07ID:???0399nobodyさん
2008/05/10(土) 22:57:37ID:???0401nobodyさん
2008/05/10(土) 23:14:52ID:???■ このスレッドは過去ログ倉庫に格納されています