【PHP】下らねぇ質問はID出して書き込みやがれ 111
■ このスレッドは過去ログ倉庫に格納されています
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 110
http://hibari.2ch.net/test/read.cgi/php/1314692611/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0022nobodyさん
2011/09/30(金) 23:12:19.15ID:???すみません。私がよく理解してないだけかも。
APCでググったんですけど理解不能です。
WPのキャッシュプラグインが原因である可能性もありますか?
0023nobodyさん
2011/09/30(金) 23:37:12.76ID:???実際のアクセス数 100
実際のアクセスのリファラ google:yahoo = 8:2
キャッシュを返したのが90、ロジックが動いたものが10
という状態だとして
ってなったときに、PHPで出力しているアクセス解析の結果が
googleが8でyahooが2になってないのが気に入らない、という話だと思ったんだけど、違ってる?
もし違うならちゃんと伝えてほしい。
0024nobodyさん
2011/09/30(金) 23:54:20.55ID:jn39aScn適切なスレ誘導お願いします(´;ω;`)
0025nobodyさん
2011/10/01(土) 00:00:50.96ID:???■ 使用方法
以下のコードを挿入
<PHPページ内の場合>
<?include("rar.php");?>
の意味理解してる?で、それと同等のことをしてる?
0026前スレ994
2011/10/01(土) 00:04:42.35ID:???まさにおっしゃるとおりです。
サイトによって他のアクセス解析の結果とほとんど同じ物もあれば(多いパターンは多分無い)
異常に少ない場合があります。分母はおそらく十分ありますので誤差の範囲ではないです。
0027nobodyさん
2011/10/01(土) 00:21:13.88ID:???いろいろ言いたいこともあるけれど、わかりやすそうな例を作ってみる。
>>23の例で、キャッシュを返したのが99だとするよ。
このとき、ロジックが動くのは1回(最初のアクセス)になるよね。
それでもgoogle8割yahoo2割の結果になってほしいって言ってるのが今の状態。
キャッシュを再作成するタイミングで誰がアクセスするかなんてわからないよ。
0028nobodyさん
2011/10/01(土) 00:26:08.13ID:???0029nobodyさん
2011/10/01(土) 00:32:13.44ID:swP2fzC0ここです
<img src="./rar.php?http://a.net/page1/" border=0 width=1 height=1>
一応アクセスカウントされてるので機能してると思います。
0030nobodyさん
2011/10/01(土) 00:38:38.30ID:???ヘッダーってheader.phpのこと?
そんな所に埋め込んでも、wp-supercacheとかを入れてたら意味ない。
いつでもphpが動く場所に入れておかないと
APCはphpの中間コードをキャッシュするものなので、コードを書き替えたときに
ちゃんと反映される設定になってれば問題ないよ
0031前スレ994
2011/10/01(土) 00:42:55.21ID:???キャッシュの問題であれば
<SCRIPT Language="JavaScript">
<!--
document.write("<img src='hogehoge.com/log.php?refer=");
document.write(document.referrer+"' border=0 alt='axs'>");
// -->
</SCRIPT>
を埋め込んで前のphpスクリプトでリファラをGETすれば毎回取得できますか?
0032前スレ994
2011/10/01(土) 01:23:44.64ID:???phpが動いてない
0033nobodyさん
2011/10/01(土) 01:28:00.61ID:BqE8SzGp例えば
$c=new classname();
$c->throwError();//ここでクラス内でエラーが起きて
$c->doFunction();//これ以降このクラスは無いものとしたい
クラスにisErrorプロパティ作って、全てのメソッドにその値をチェックする処理を入れるしか無いのでしょうか
unset($this)みたいな事がしたいのですが。
0034nobodyさん
2011/10/01(土) 01:30:09.08ID:???wp-supercacheがフックを掛ける前に入れればいいんだよ
wordpress/index.php
なら、何を入れてあっても必ず読み込まれる
0035前スレ994
2011/10/01(土) 01:41:03.78ID:???index.phpの最後に入れて動作確認しました。
後は正常にリファラを取得できてるか確認してみます。
本当にありがとうございます
0037nobodyさん
2011/10/01(土) 02:02:34.34ID:ee5xhFK6それはSSL対応アプリケーションということなんでしょうか?
003937
2011/10/01(土) 02:13:47.95ID:ee5xhFK6ありがとうございます
PHP関係なさそうで安心しました
0040nobodyさん
2011/10/01(土) 03:43:22.39ID:UymdO/ZBどうすれば良いか教えてください神様<(_ _)>
0043前スレ994
2011/10/01(土) 12:37:39.57ID:???リファラがとれていないようです。
javascriptで取得できてPHPで取得できないってあり得ないですよね?
アクセスを多く見せかけるためのこういった不正ってあり得ますか?
0044nobodyさん
2011/10/01(土) 13:09:21.31ID:???余計な事をせず全てのアクセスのリクエストヘッダを記録してみれば原因がつかめるかもな
取得は $_SERVER ないし apache_request_headers() で
0046前スレ994
2011/10/01(土) 14:00:45.93ID:???しっかりログ取れてました。
0048nobodyさん
2011/10/01(土) 16:47:45.92ID:bmbeJnMj必要ないものまで読み込むことになると思いますので。
キャッシュは出来るのでしょうか?
0049前スレ994
2011/10/01(土) 17:02:56.56ID:???で別のログを同時に出力するようにしたところ
リファラが極端に減ったと思われていたサイトが下のような形で頻繁に出てくるようになりました。
Cookie: の項目に__utmc=英数字の羅列(サイトドメイン)英数字の羅列(ドメイン以下)英数の羅列
ログを眺めても全く意味不明ですがちょっと調べてみます
0050前スレ994
2011/10/01(土) 17:29:44.46ID:???該当サイトからのアクセスにはRefererの項目自体が無いです
0051前スレ994
2011/10/01(土) 17:43:16.28ID:???自サイト内のURLがrefererの項目に表示されてます
0054nobodyさん
2011/10/01(土) 20:30:08.78ID:???まともな人はそういうのはもう関わりたくなくなっちゃうからね。
昔はここまで酷くなかったんだけど、そういうキチガイが常駐するスレになっちゃったんだ。
今回はあきらめような。
0060nobodyさん
2011/10/02(日) 02:33:20.62ID:MdeRfVQT0061nobodyさん
2011/10/02(日) 02:46:10.85ID:???コンピューターは0と1しか理解できないんだぜ?
0062nobodyさん
2011/10/02(日) 02:55:49.98ID:???コンピューターって超馬鹿じゃん!
0064nobodyさん
2011/10/02(日) 03:09:04.61ID:???そのHTMLの元にはテキストがあって、そのテキストは0と1で構成されていて
なんだかDNAの構造みたいなロマンがある
0066nobodyさん
2011/10/02(日) 11:32:14.06ID:???俺はその質問に何の意味があるのか、
その疑問はどこから湧いて出るのか知りたいよ
銀行口座の4桁数字の暗証番号のような用途でもあるのか?
それともただのバカなのか?
なぜわざわざ暗号強度を下げることをする
(A) 0〜9の10通りで暗号化
(B) 0〜9とa〜zの36通りで暗号化
AとBでそれぞれ暗号化して5文字の暗号を生成したとしよう
それらのパターンは
(A) 10の5乗=100000通り
(B) 36の5乗=60466176通り
単純に考えれば、パターンの多いBの方が暗号強度が高いことがわかる
であれば、BはAに比べて生成する暗号 つまり、パスワードを入力するときに
入力する文字列を減らせる
暗記する文字列を減らせる
0067nobodyさん
2011/10/02(日) 12:21:22.68ID:MdeRfVQTすみません、暗号化というより文字から特定の数値をランダムで吐き出すというものを作りたかったので
0068nobodyさん
2011/10/02(日) 13:34:16.91ID:???何がすみませんなのか知らんがそれくらい自分で何とかしろ。
進数、アルゴリズムの初歩の初歩だろ。それくらいできなきゃプログラマの資格ない。
やってみてわからないことがあったら質問しろ。丸投げするな。
0069nobodyさん
2011/10/02(日) 14:06:11.34ID:???特定なのかランダムなのかどっちなんだよ
具体的に何に使うのか話したほうがアホに絡まれずに済むぞ
ハッシュ値が欲しいなら
list(, $value) = unpack('l', hash('crc32', 'unko chink manko', true));
で符号1bitを含む32bit整数が手に入るので欲しい値の範囲に正規化する
CRC32なのでセキュリティに関与する箇所には使えないが
0070nobodyさん
2011/10/02(日) 14:08:48.93ID:???0071nobodyさん
2011/10/02(日) 14:16:21.16ID:???なんちゃって
0072nobodyさん
2011/10/02(日) 16:43:55.66ID:???可逆なら2進数や8進数にでも変換すればいいだろ
0073nobodyさん
2011/10/02(日) 17:33:33.43ID:???0075nobodyさん
2011/10/02(日) 20:43:53.62ID:E9/7d1Bi【PHPのバージョン】6.0
【連携ソフトウェア】MySQL
【質問内容】
1から10までの数字をランダムにそれぞれ1回ずつ表示させたいのですが
rand関数だと範囲の指定は出来ても、登場回数までは当然コントロールできません。
一旦別の変数に登場した数を記録しておいて、乱数が表示される度に比較するという方法以外でよい方法があれば教えていただけないでしょうか。
0076nobodyさん
2011/10/02(日) 21:09:39.32ID:???>一旦別の変数に登場した数を記録しておいて、乱数が表示される度に比較するという方法以外でよい方法があれば教えていただけないでしょうか。
なんで以前に出た値を変数や配列に保存して、今回の乱数の値と比較する方法がダメなの?
0077nobodyさん
2011/10/02(日) 21:20:47.03ID:???1-10入れて
http://php.net/manual/ja/function.shuffle.php
0078nobodyさん
2011/10/02(日) 22:17:41.92ID:E9/7d1Biダメではないんですが、最近細かいところを見直してまして、それでほかにも効率のよい方法があるのかな〜と
>>77
こんな関数があるのを知りませんでした。
これで解決しそうです。
0079nobodyさん
2011/10/02(日) 22:30:51.07ID:UYwChkh+鯖をlightppdからnginxに変えたら
file_exists関数でもファイル認識しなくなった
0080nobodyさん
2011/10/02(日) 22:39:02.35ID:UYwChkh+php 5.3.6だと動くけど
5.3.8で動かなくなってる
もうだめぽ
0081nobodyさん
2011/10/02(日) 22:46:04.30ID:???ランダムというのは、大きな目で見れば均一だが
局所的には偏るのが当然
コインを投げれば表が10回連続で出ることもある
それがランダムだというのに、
ランダムの結果を任意に管理するというのか?
バカげてる
それはランダムではないし、ゆえにその目的においてランダムを使う意味も無い
1〜10の数字を配列に入れてシャッフルすればいい
0082nobodyさん
2011/10/02(日) 22:49:15.65ID:UYwChkh+ううむ…。
0084nobodyさん
2011/10/03(月) 01:43:05.12ID:???悪いけどお前の言ってることが全く理解できない
でも俺が馬鹿ではないことは俺が一番良く知ってる
てことは馬鹿なのはお前だということになる
0085nobodyさん
2011/10/03(月) 04:53:13.77ID:???>でも俺が馬鹿ではないことは俺が一番良く知ってる
ttp://blog.livedoor.jp/goldennews/imgs2/0910/g1001001.jpg
0086nobodyさん
2011/10/03(月) 07:05:41.31ID:???悪いけどお前の言ってることは完全に理解できる
でも俺が馬鹿だということはお前が一番良く知ってる
てことは馬鹿なのは俺だということになる
0087nobodyさん
2011/10/03(月) 14:47:49.64ID:???他人が嫌がることをするべきではない。
0088nobodyさん
2011/10/03(月) 14:58:25.66ID:TRRl/0eBわからないところがあります。
2chなどにあるage機能はどのように書いているのでしょうか?
つまり、mail欄にsageを入力でスレの位置そのまま
それ以外を入力だとスレが先頭に上がるという機能のことです。
DBを使用していますか?
また、MySQLを使おうかテキストファイルで管理しようか迷っているのですが
MySQLだとトラフィックが増えると同時接続数の問題が出てきてしまうのでしょうか?
負荷を減らすためにMySQLからのレスポンスをキャッシュさせると新着レスがスムーズに表示されなくなりませんか?
0089nobodyさん
2011/10/03(月) 15:11:24.72ID:???ageであればそのスレをリストの先頭に移動するだけだから、DBでもテキストでもどちらでも実現できるよね。
同時接続数の問題が生じるのはテキストで管理しても一緒でしょ。
負荷を減らすためにキャッシュのことを考慮するならMySQLのレスポンスもそうだけど
WEBサーバーのレスポンスも考えないとね。
0090nobodyさん
2011/10/03(月) 15:23:46.45ID:TRRl/0eB>リストの先頭に追加
なるほど。
スレッド毎に数字か何かを振ってソートしているのかと勘違いしていました。
>テキストでも同時接続数の問題
どうやら同時接続数の意味をよく理解できていなかったようです。
試作してみて管理しやすい方でやってみます。
ありがとうございました。
0091nobodyさん
2011/10/03(月) 15:24:35.32ID:???0092nobodyさん
2011/10/03(月) 17:09:28.67ID:emr96KFI$abc[20] => "234"
$abc[30] => "345"
これから[]の中身を取り出したいのですが、取り出す関数などあったりするのでしょうか?
0093nobodyさん
2011/10/03(月) 17:10:20.56ID:???XAMPPインストールしたんですが管理画面が表示されません。
009591
2011/10/03(月) 17:30:30.90ID:emr96KFIサンクス
こんな関数あるとは知らなんだ
リファレンス本でも買っといたほうがいいのかな
0096nobodyさん
2011/10/03(月) 17:38:36.11ID:LRWhYvIr【PHPのバージョン】5.2.17 Win32 VC6 x86
【連携ソフトウェア】Apache 2.2.21、MySQL 5.5
【質問内容】
文字化けに悩んでいます。
まず、データベースとPHPの文字コードの設定になります。
■データベース(下記はuseコマンドでDBを選択後にコマンドラインより実行)
------ SHOW VARIABLES LIKE "%collation%";
Variable_name | Value
----------------------+-----------------
collation_connection | utf8_general_ci
collation_database | utf8_general_ci
collation_server | utf8_general_ci
------ show variables like "char%";
Variable_name | Value
--------------------------+-------
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem | binary
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8
0097nobodyさん
2011/10/03(月) 17:39:26.28ID:LRWhYvIrmbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
上記個所以外でロジックなどで文字コードを操作はしていません。
0098nobodyさん
2011/10/03(月) 17:39:59.48ID:LRWhYvIr1.phpMyAdminでデータをインサートした場合
インサートしたデータはphpMyAdmin上では文字化けせずに見れる
インサートしたデータをphpで取得してブラウザで表示すると文字化け、mb_detect_encodingで調べると文字コードはASCIIとなっている
2.phpのプログラムからデータをインサートした場合
インサートしたデータはphpMyAdminで見ると文字化けしている
インサートしたデータをphpで取得してブラウザで表示すると文字化け、mb_detect_encodingで調べると文字コードは取得できない
※コマンドラインからもインサートされたデータを見ると文字化けしています。
■質問
今まで文字コードの設定は上記設定のみでUTF-8で統一することでうまくいっていたのですが、
MySQL5.5にしたとたん文字化けするようになり原因がわかりません。
プログラムでの入力も出力もUTF-8で統一、文字化けしないようにしたいのですが、どこの設定を変えればいいのでしょうか。
よろしくお願いいたします。
現象2でUTF-8でデータがインサートされていないっぽい理由も知りたいです。
0100nobodyさん
2011/10/03(月) 18:09:45.53ID:???show variables like "char%"; はPHPから発行して確認する
結果が>>96と同じならインサートするデータがUTF-8ではないという事になる
010196
2011/10/03(月) 18:27:22.12ID:???ありがとうございます。
PHPのプログラムで対象のDBに接続し、取得した結果をダンプしたら以下のようになりました。
Variable_name | Value
--------------------------+-------
character_set_client | latin1
character_set_connection | latin1
character_set_database | utf8
character_set_filesystem | binary
character_set_results | latin1
character_set_server | utf8
character_set_system | utf8
コマンドラインからDBに接続して確認した場合と、PHPから発行した場合で違うのはなぜなんでしょうか。
PHPからの場合、上記文字コードの設定になるのはどこの設定が影響しているんでしょうか。
010296
2011/10/03(月) 18:37:09.65ID:???すみません。
いろいろ調べていたら、下記記事を見つけました。
http://blog.cheki.net/archives/349
起きている現象がこの記事の理由と同じなのかよくわかりませんが、
似たような現象だったのでSET NAMES utf8をかましたら文字化けせず正常に表示されました。
PHPからshow variables like "char%"を発行したことはなかったので、勉強になりました。
ありがとうございました。
0103nobodyさん
2011/10/03(月) 18:44:07.93ID:???http://hibari.2ch.net/test/read.cgi/mysv/1128262593/
あとID
0106nobodyさん
2011/10/03(月) 21:37:31.87ID:qFzsBTTUグループ開発を体験してみたいです
なんかそういうグループ開発初心者おk的な開発プロジェクトないですかね?
svnやgitなんかのバージョン管理の仕方や
フレームワークを使った開発の仕方なんかを実践で学びたいです
0108nobodyさん
2011/10/04(火) 00:26:35.22ID:GRHx0QKkその画像を入力した数字分だけ並べたいのですがどうやればいいんでしょうか。
forを使ってやってみたのですが、前のページから取ってきた画像をどうやって表示させればいいかがわかりません。
0109nobodyさん
2011/10/04(火) 01:54:17.42ID:???0110nobodyさん
2011/10/04(火) 12:09:30.41ID:aG7AxKA7<a id="board_delete" href="<?php echo $url_deleteboard; ?>">
<input type="button" value="Delete" />
<input type="hidden" name="delete_board" value="delete" />
</a>
ボタンを押したときにhiddenで値を送るのは上記コードであっていますか?
0111nobodyさん
2011/10/04(火) 13:11:59.64ID:???0112nobodyさん
2011/10/04(火) 15:28:08.35ID:9X0aQkvy$sha1 = sha1("date('Ymd')"."12345"."100");
とやっても期待していた値が得られませんでした。
$sha2 = sha1("20111004"."12345"."$100");と同じものが得られる予定でした。
そこで
$date=date('Ymd');
$sha3 = sha1("$date"."12345"."100");とすると
$sha3=$sha2となり、期待していた値が得られました。
なぜ$sha1では期待していた値にならなかったのでしょうか?
0113nobodyさん
2011/10/04(火) 16:39:38.99ID:???date('Ymd') を""で囲むと文字列 "date('Ymd')" になってしまうのでdate関数の返り値は得られない
$sha1 = sha1(date('Ymd')."12345"."100");
で試してみろ
0114nobodyさん
2011/10/04(火) 17:18:51.11ID:9X0aQkvy関数も変数と同じように考えていました。
勉強になりました。ありがとうございました。
0115nobodyさん
2011/10/04(火) 21:01:31.17ID:xk8cds+AMakeGoodというのが出てきましたが、あまりEclipse上でPHPUnit使う人がいないのかあんま情報無いようです
0117nobodyさん
2011/10/05(水) 00:27:26.02ID:???php5.3インスコしようとしたらVC6ないので
5.2使うしかないっぽいですか?
0118nobodyさん
2011/10/05(水) 01:21:47.24ID:???一応ここに残しておきます
ttp://sourceforge.jp/projects/sfnet_wdscript/downloads/Easy%20Web%20Server/PHP%205.3%20VC6/php-5.3.6-Win32-VC6-x86.zip/
■ このスレッドは過去ログ倉庫に格納されています