【PHP】下らねぇ質問はここに書き込みやがれ 31
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/10/25(水) 08:45:46ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
【前スレ】
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しない)
・ サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0151149
2006/10/26(木) 18:14:47ID:5uZ/3Bq6ありがとうございました。助かりました。
仕組みは良く分からないですけど・・
同じnameのcheckboxのvalue="n"を2のn乗の合計値で持ってて、それ合計値からvalueを引き出すのに苦労してました。
0152nobodyさん
2006/10/26(木) 18:20:50ID:???ありがとう。
0153nobodyさん
2006/10/26(木) 18:22:39ID:???ちゃんと検証してないがこんな感じかね。
$sum = 53;
$array = array();
$n = 0;
while ($sum > 1) {
while ($sum % 2 == 0) {
$sum = $sum / 2;
$n++;
}
$array[] = $n;
$sum--;
}
print_r($array);
/*
14: (1,2,3)
52: (2,4,5)
53: (0,2,4,5)
1000: (3,5,6,7,8,9)
1025: (0,10)
*/
ところでこれ何て夏休みの宿題?
0154153
2006/10/26(木) 18:24:09ID:???ちゃんとリロードしてから書き込めばよかーたよ(´・ω・)
0155nobodyさん
2006/10/26(木) 18:28:52ID:???0156149
2006/10/26(木) 18:30:09ID:5uZ/3Bq6ありがとうございます。
皆さんのおかげでなんとか宿題終わりそうです。
0157149
2006/10/26(木) 18:41:58ID:5uZ/3Bq6(3,4,6)->88
(5,6)->96
という値を持ってるので61から求めることは無いので大丈夫です。
0159nobodyさん
2006/10/26(木) 21:22:28ID:50QBwnTPマニュアルで検索しても乗っていないのですが、
どういう意味なのでしょうか?
class Shopping {
var $item = "コンピュータ";
var $price = 99800; // ここまでメンバ変数の設定
function getTotal() {
$tax = $this->price * 0.05;
return $this->price + $tax;
} // ここまでメソッドの定義
}
0160nobodyさん
2006/10/26(木) 21:29:26ID:dpAXN0uK阿呆。流れを読め
>>123
阿呆。どこにPageRank上げるって書いてあるんだよ。
クライアントが気にしてるから満足度を満たしてやってるだけだっつうの。
帯域って(w そんな細い帯域使ってないよ(笑うのも無駄
>>124
自力でやってるっつうの。header出すのは、君にはそんなに高度なのか?
0161nobodyさん
2006/10/26(木) 21:30:49ID:dpAXN0uK言ってることのどこに一理あるんだ?単に読解力がないだけだろ?
0162nobodyさん
2006/10/26(木) 21:32:19ID:dpAXN0uK0163nobodyさん
2006/10/26(木) 21:46:59ID:???0164nobodyさん
2006/10/26(木) 21:49:25ID:???PHP4において変数を宣言するためのキーワード、という説明で分かるかな?
PHP5では使わない方が良い。詳しくはこちら。
http://www.php.net/manual/ja/language.oop5.visibility.php
0165nobodyさん
2006/10/26(木) 21:50:54ID:???じゃあこっちも時代に合った対応をしてやらないとな。
>>162
うん、そうなのでちゅ。
ここはあなたよりれべるのひくいおこちゃまがこたえるすれなのでちゅ。
だからあなたのようなさんじげんさいきょーにつよまってきちがいじみたずのうをおもちの
ちょーぜつてんさいぷろぐらまーなかたのくらいあんとの
まんぞくどをみたす(あげるってこと?)てつだいにはならないのでちゅ。
わかったらとっととかえってくらいあんとに「じぶんにはむりでしたごめんなちゃい」って
なきながらどげざしてあやまってくだちぃ。
0166nobodyさん
2006/10/26(木) 21:51:46ID:???0167nobodyさん
2006/10/26(木) 21:56:52ID:???0168nobodyさん
2006/10/26(木) 22:22:13ID:???なるほど、関数だと思ってしました。
php4ではvarは使えるけど、php5ではE_STRICT警告がでてしまうと。
php4とphp5に共通したコードを書くのはE_STRICT警告でてしまうのですね。
う〜ん、どうにか怒られないで共存できる方法があればいいんですけどね。
0169nobodyさん
2006/10/26(木) 22:42:55ID:???だけど、ここのスレはいい人ばかりで大好きです。
ありがとう。
0172nobodyさん
2006/10/26(木) 23:28:19ID:???ありがとうございます。
両方で動作する仕組みを作りたいのですが、
とりあえず勉強ということでどっちかのバージョンで作成を試みます。
0173nobodyさん
2006/10/26(木) 23:33:18ID:???可能な限り最新の内容を検索結果に反映させたい、ってことじゃないの?
で、とりあえず>>105への回答だけど、それでいいと思うよ。
googleがそれで頻繁に更新してくれるのかまでは知らんけど。
0175nobodyさん
2006/10/27(金) 00:03:01ID:???少なくともGoogleはLast-modifiedなんて読んでいないようだ。
If-modified-sinceに対して300台を返せば、クロール時の帯域を節約できるとは書いてあるが(160によるとそこは気にしていないようだし)、Googleのロボットがクロールする頻度を操作できるという記述はない。
FAQによれば、飽くまで「定期的」に巡回しているし、その度に更新はすぐに検出される、という記述しかない。
つーか内容の真偽以上に ID:dpAXN0uK の暴れ具合の酷さは目に余る。
0176nobodyさん
2006/10/27(金) 00:12:28ID:???0177nobodyさん
2006/10/27(金) 00:15:13ID:???正確にはLast-modifiedをクロール頻度の操作に使わないということ。
0178nobodyさん
2006/10/27(金) 00:22:56ID:???0179nobodyさん
2006/10/27(金) 00:25:17ID:???0180nobodyさん
2006/10/27(金) 00:25:48ID:???こっちのスレいってやってくんない?質問する人と回答する人のじゃまだからでてってくれ。
0181nobodyさん
2006/10/27(金) 00:27:13ID:???あ、俺もか。
0182nobodyさん
2006/10/27(金) 00:37:42ID:???>>105=>>113で本人が「Last-modifiedを見てる」と信じてるんだから
そこはスルーでいいんじゃないのかな。
表向き公開されてない裏仕様なんだ!とか言い出されても確認しようがないし。
ほっときゃいいじゃん。
で、>>105の質問はあくまで「PHPページで最終更新日時を詐称する方法」なんだから
それに対しては「header()でLast-modifiedを返せば良い」でFAだと思うんだけど。
0184nobodyさん
2006/10/27(金) 00:44:19ID:???0185nobodyさん
2006/10/27(金) 00:45:04ID:???0186nobodyさん
2006/10/27(金) 00:49:52ID:???あと、発狂してる人がいるけど、内容をよく吟味すればPHPでサイト構築する上ではわりと頻繁に使われるHTTP関係の話だし、そんなにめちゃくちゃに高度で専門的な話でもないよ。
0187nobodyさん
2006/10/27(金) 00:57:06ID:???そんなん無視すれ。気にしても始まらんでしょ。
あそこまで分かっててheader()でいいの?って聞いてくる辺り、
むしろオツムの弱い人だと俺は解釈してたよ。
>>185
その実装に関する話はここで合ってるよ。
>>186
誰も高度で専門的だとは言ってないと思うけどね〜
0188nobodyさん
2006/10/27(金) 00:59:06ID:BT8IGUCu逆ギレ?日本語をちゃんと使えるようにした方がいいぞ?プログラミング言語も満足に使えてないんだからさ。(煽りのレベルも低すぎ・・・)
0189nobodyさん
2006/10/27(金) 00:59:53ID:BT8IGUCuSEO対策について知らないんだな。黙ってろよ
0190nobodyさん
2006/10/27(金) 01:02:58ID:BT8IGUCuあ、まともなレスが返ってきて助かりました。
論理の通じる人がいるんだと安心できました。
0191nobodyさん
2006/10/27(金) 01:14:18ID:BT8IGUCu少し論理が通じる人が書き込んでて安心しました。
俺が暴れているというより、日本語の通じない人が書き込んでて、俺がレスを返してるだけです。
蛇足ですが、GoogleのクローラーがLast-modifiedを読むのはSEOの世界では常識です。
>>176
はい。
>>177
>正確にはLast-modifiedをクロール頻度の操作に使わないということ。
使います。経験則から更新頻度が高いと頻繁に訪れてるっぽいと判断できます。
もちろんそれは、PageRank、PagePriorityに影響しないでしょう。
>>182
>>>105=>>113で本人が「Last-modifiedを見てる」と信じてるんだから
俺はそれをここで議論する気はないよ。
>>183
すいません。日本語が使えないのにレスを返す人がいるので、少し懲らしめました。
>>187
全然高度な話じゃないので、立ち話のつもりで書き込んだら、難しくて理解できない人がいたらしいことに吃驚しました。
0192nobodyさん
2006/10/27(金) 01:19:10ID:???よく飽きずに中途半端な書き込みするな。
ちみのやっていることは、最初から無駄以外の何物でもないと早く気づきなされ。
Last-modifiedでそんな操作できると思うならソース晒してみ。
そんなオイシイ対策があるのにWeb上で誰も話題にしてないわけないだろ。
客からロボットにクロールされる頻度を上げてくれと言われたなら、その時点で「効果はない」と言えるエンジニアになろうね。
客に合わせて実装した振りするなら、そもそも質問するまでもなく、Last-modifiedでも何でも吐いときゃいいだろ。
要はお前はレベル低いの。
0193nobodyさん
2006/10/27(金) 01:21:24ID:???http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
0194nobodyさん
2006/10/27(金) 01:23:34ID:???http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
0196nobodyさん
2006/10/27(金) 01:27:06ID:???http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
こっちいけ
http://pc8.2ch.net/test/read.cgi/php/1019844261/l50
0197nobodyさん
2006/10/27(金) 01:29:01ID:???そういうのが自治すると逆に迷惑な良い例。
0198nobodyさん
2006/10/27(金) 01:29:55ID:qOfMqiwc019979
2006/10/27(金) 02:23:44ID:Q6o9pTT9出来ませんでしたorz
$next_lines[1] + 1のようにしても、$numの値をチェックすると1になってしまうんです。
おそらくファイルの読み込み時でこけているのかと思いますが、具体的な原因がさっぱりで・・・
どなたかどの辺りでこけているのかこっそりヒッソリ書きこんでいただけないでしょうか?
よろしくお願いします。
書き込み部ソース:http://source.is.land.to/s/q.phps
全体:http://source.is.land.to/s/all.phps
0200nobodyさん
2006/10/27(金) 02:26:24ID:???その議論はスレ違い。他所でやれ。
クロール頻度やPageRankのルールなんてしょっちゅう変わってるんだから
そんなことの是非は実装を議論する板で問うべき問題ではない。
0201nobodyさん
2006/10/27(金) 02:34:36ID:???> 書き込み部ソース:http://source.is.land.to/s/q.phps
これだけ見るとファイルに書き込んでる部分がないので原因は分からない。
なので、allの方だけ見てみるけど、
まず
> $read_1 = file($res_num_dat);//まず、読み込みます。
で読み込んだ直後に、$read_1の内容をvar_dump()して中身を確認。
それが確認できたら、
> $end_1 = end($read_1);//最後の要素を取り出します
の$end_1
> $next_lines = explode("\t",$end_1);//それを分割して配列にしまいます
の$next_lines
> $for_num_lines = array_splice($next_lines,-5,1);//最後から5番目の要素(最後の$num)をとりだします。
の$for_num_lines
> $num = ($for_num_lines[0] + 1);//それに1をプラスします
の$num
をそれぞれvar_dump()して、期待してる動作をしているのか確認する。
それがデバッグの基本。
0202nobodyさん
2006/10/27(金) 02:35:51ID:BT8IGUCuぅゎぁ・・・びっくり・・・知らないの?(マジ吃驚)
それと、SEOについて知らないんだったら、口を挟まない方がいいよ。恥の上塗り。
>>200
俺も全くその通りだと思うね。同意。
0203nobodyさん
2006/10/27(金) 02:36:19ID:???クロール頻度がどれくらいかではなく、クロール頻度をPHPで操作できるかどうかが話題であって、しかも105からの反論がなければ、とりあえずこの場では操作できないでFAになるわけだし。
実装がコロコロ変わる、という結論もありではあるが、ソースのない話なので何とも言えませんな。
別に板違いと称する必要もなかろ。
0205201
2006/10/27(金) 02:38:40ID:???> $read_1 = file($res_num_dat);//まず、読み込みます。
ここでファイルの中身が読み込めてないと思うよ。
だから常に 0 + 1 になっちゃって結果が 1 なんでしょう。
記事ファイルってentryとかいうディレクトリにあるんでしょ?
読み込み時点ではchdirしてないしファイルパスにもディレクトリくっついてないし、
書き込みのときだけchdirしてるんだよね。
ファイル名の指定の仕方が読み込み時と書き込み時、親記事とレス記事とで
どれもバラバラの手法を使ってるもんだから非常にバグを出しやすいと思う。
こういうのはちゃんと統一しましょう。
書き込み時にわざわざchdirするのはナンセンスだよ。ファイル名のパス指定で十分。
020679
2006/10/27(金) 02:40:02ID:Q6o9pTT9早くの回答ありがとうございます。
わかりました!
一応$numだけはダンプして見たのですが不十分ぽいですので他にも全て出力して見ます。
0208nobodyさん
2006/10/27(金) 02:47:17ID:???SEO対策なんてみんな憶測混じりで色々やってんだから
そういうのは
【SEO】検索エンジン総合スレ22【雑談】
http://pc8.2ch.net/test/read.cgi/hp/1161313398/
で議論してください。
0209nobodyさん
2006/10/27(金) 02:50:05ID:???質問者がキモイでFAだ。
0210nobodyさん
2006/10/27(金) 02:54:26ID:???0211nobodyさん
2006/10/27(金) 02:57:12ID:???0212nobodyさん
2006/10/27(金) 03:00:23ID:???0213nobodyさん
2006/10/27(金) 03:01:07ID:???021479
2006/10/27(金) 03:11:02ID:Q6o9pTT9どうやら、親記事のすぐ後の子記事のカウントアップは成功しているようなのです。・・・たぶん。
つまり、このような感じです。
親記事:1
子記事1:2
子記事2:2
子記事3:2
子記事4:2
どうしてかは分かりませんが・・・。
0215nobodyさん
2006/10/27(金) 03:30:59ID:???親記事直後の番号は元の番号+1じゃなくて常に「START_LINE」の値みたいだけど
これは何番になってるのさ。
0216nobodyさん
2006/10/27(金) 03:57:31ID:???//
//□子記事書き込み部
//
if($_POST['res']){//子記事(レス)時
:
:
chdir('entry');//ワークディレクトリの変更
}
このchdirをもっと上にもってけ。
もしくはchdirをやめれ。
読み込んでるファイルと書き込んでるファイルが食い違ってるだろ。
(なんか釣りっぽいと感じるの俺だけ?)
データを記録するディレクトリを定義しておくとトラブルを起こしにくくなる
[config.php]
define("DATA_DIR",'entry/');
[all.php]
$res_num_dat = (DATA_DIR.$res_num.'.dat');
こんな感じにコードを弄って実験したらこんな結果になった。
test.php?res_num=1
[entry/1.dat]
?1fusianasan1本文localhost
12127.0.0.1
13127.0.0.1
14127.0.0.1
親記事は手動でファイルを作成
\tは/に置き換えてます。
[entry/1.dat]
?/1/名前/1/本文/localhost
1/2////127.0.0.1
1/3////127.0.0.1
1/4////127.0.0.1
0219nobodyさん
2006/10/27(金) 05:28:05ID:???defineで定義してたところで、場所によって
パスにディレクトリを含めてみたり、chdirしてみたりと
やり方自体をバラバラにしてたら何の意味も無いと思うよ。
それよりはファイル名の生成を関数化する方が先決。
0220nobodyさん
2006/10/27(金) 14:10:28ID:AQszo3d9php.iniで設定したいのですがsafe modeをonする以外に
参考となるURLございませんでしょうか?
0222nobodyさん
2006/10/27(金) 14:51:25ID:???自身の関数名を取得できる関数はありませんか?
ちょうどget_classのような
0223nobodyさん
2006/10/27(金) 15:04:29ID:???0224nobodyさん
2006/10/27(金) 15:26:28ID:???0226nobodyさん
2006/10/27(金) 16:04:47ID:???bin2hexで変換
pack('H*',$hogel)で元に戻す
Crypt_Blowfishを使ってパスワードを復号化
というようなことをしようとしてるんですが、なぜか復号化
したものをもう一度bin2hexにかけると最後に
000000000000という余計なもの(ヌル文字列?)が
ついてしまうんですが、packの戻し方が悪いんでしょうか?
回避するいい方法があれば教えてください<m(_)m>
0228nobodyさん
2006/10/27(金) 17:38:09ID:???if($hoge==A){echo "tanaka";}else if($hoge==B){echo "satou";}else if{($hoge==3){echo "suzuki";}
みたいな形だと長いので連想配列ですると
$array=array(A=>"tanaka",B=>"satou",C=>"suzuki");
echo $array[$hoge];
みたいになると思うのですが
これを一行にまとめるかもっと簡略な書き方はありませんでしょうか?
0230nobodyさん
2006/10/27(金) 18:34:33ID:???普通に考えたらそれで十分簡素だと思うけどなぁ。
俺だったらむしろ、前半の配列定義をプログラム先頭に置いておいて、
実行部分と分けちゃうけどね。
0231nobodyさん
2006/10/27(金) 18:41:58ID:VglO/Vdq"=" "[=]" "(=)" "\=" とか試したけどだめでした……
0232231
2006/10/27(金) 18:57:37ID:VglO/Vdq0233nobodyさん
2006/10/27(金) 18:57:54ID:???普通に preg_match('/=/, 〜 で検索できるはずだが。
if(preg_match('/=/', 'aaa=bbb')) echo "OK\n";
でも
if(ereg('=', 'aaa=bbb')) echo "OK\n";
でも結果は「OK」
できないコードを見せてみ。
0234233
2006/10/27(金) 18:58:40ID:???023579
2006/10/27(金) 19:16:03ID:Q6o9pTT9>>205
してませんでしたorz
本当に書き込み時しかしてませんでしたorz
早急に直します。。
>>217-218
実験ありがとうございます(ぉ
早速直すべきところは直したいです。
>>219
やはりしておいたほうがいいのでしょうか・・・
いつもコード書いている時間が午前3時とかなんでいつもおかしくなっちゃってあきらめまs(ry
orz
お邪魔になるかもしれませんが、もし直りましたら一応報告したいと思いますです。
0237nobodyさん
2006/10/27(金) 19:50:56ID:???テクに走るオナニーは、趣味までで。
0238nobodyさん
2006/10/27(金) 20:23:35ID:???0239nobodyさん
2006/10/27(金) 20:45:15ID:???0240nobodyさん
2006/10/27(金) 20:50:36ID:KqclDjNYどの言語にも共通のこととは思うのですが、
1万行のファイルから特定の内容を行ごとで検索するという処理と
同一ディレクトリにある1万個のファイルに特定の名前の物が存在するか?
というものはどちらのほうがより高速なのでしょうか?
前者はファイルを開いて1行づつ読み込みを、後者はis_file()のような1行です。
前者はメモリを消費して、後者はHDD容量を消費しそうという印象を持っているのですが、速度面では?
0241nobodyさん
2006/10/27(金) 20:53:59ID:???0243nobodyさん
2006/10/27(金) 21:00:14ID:???ファイルは何種類にわけてますか?
自分はフォーム、チェック、送信と3つにわけてますが、
2つにしぼったほうがいいでしょうか?
それとも1つで完結するべきでしょうか?
0244nobodyさん
2006/10/27(金) 21:06:45ID:KqclDjNY実験の丸投げに見えてしまいましたか。申し訳ありません。
自分は結果的にどうなのかを知らないのですが、知ってる人にとっては
実験をせずとも当然のことなのだろうと思ったので質問させてもらったんです。
0246nobodyさん
2006/10/27(金) 21:23:23ID:???ひとつのディレクトリに入れた場合、パフォーマンスがかなり落ちるって書いてた。
0247nobodyさん
2006/10/27(金) 21:26:00ID:???ファイル1万なら余裕。作るのもsshでls取るのも1秒もかからなかった。
0248nobodyさん
2006/10/27(金) 21:46:49ID:KqclDjNYファイルごとに分けてしまうと処理時間は長くなると考えたほうが良いのですね。
ひとつのファイルにまとめて記述をして、そこから検索という形が
容量、速度ともに良さそうということでしょうか。
ファイルごとに分けるというのが、is_fileなどで一発なので、書くのは楽ですが
オーバーヘッドが大きくなるということですか。
0249nobodyさん
2006/10/27(金) 21:51:09ID:???0250nobodyさん
2006/10/27(金) 21:58:39ID:FC6M/LoAこの記述は何か機能があるんでしょうか?必要なんでしょうか?
0251nobodyさん
2006/10/27(金) 22:01:03ID:???■ このスレッドは過去ログ倉庫に格納されています