トップページ⇒php
1001コメント304KB

【PHP】下らねぇ質問はID出して書き込みやがれ 127

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2013/03/19(火) 22:13:49.76ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 126
http://kohada.2ch.net/test/read.cgi/php/1359808868/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0438nobodyさん2013/04/09(火) 12:06:53.35ID:???
マイナスを考慮してるといっても2106年で限界が来るだろ
根本的解決になってないけどそれでいいのかよ
0439nobodyさん2013/04/09(火) 12:11:35.33ID:???
ここは9999年まで使えるユリウス通日をだな
0440nobodyさん2013/04/09(火) 12:59:59.55ID:???
class MyDate {
 private $year;
 private $month;
 private $day;

 public function addYear($year) {
  $this->year += $year;
 }

 public function addMonth($month) {
  $this->month += $month;
  if ($this->month === 12) {
   $this->year++;
   $this->month = 0;
  }
 }
}
とかのクラス作ればいいんじゃないかと思うんだが、違うのかな。
0441nobodyさん2013/04/09(火) 13:17:42.58ID:???
>>439
そのころにはユリウスさん死んでるだろ
0442nobodyさん2013/04/09(火) 17:49:22.79ID:???
>>432
pearはただのPHP
0443nobodyさん2013/04/09(火) 19:25:12.90ID:Bv2LP4mI
2106年まで計算出来れば十分だよ
そんときゃ俺はもういないし
0444nobodyさん2013/04/09(火) 19:30:24.16ID:???
俺はいるかもしれない
0445sage2013/04/09(火) 20:32:27.31ID:???
2106までいるってなにもんだよ
0446nobodyさん2013/04/10(水) 00:15:03.20ID:???
新人類
0447nobodyさん2013/04/10(水) 00:34:11.60ID:???
今俺ハタチだろーあと93年だろー
113・・・ギリギリセーフだろー
0448nobodyさん2013/04/10(水) 01:21:33.51ID:V2usnkco
【PHPのバージョン】5.3
【連携ソフトウェア】MYSQL
画像で説明となって失礼します。
http://brunhild.sakura.ne.jp/up/src/up590551.png
(ミラー)http://www.07ch.net/up2/src/lena8917.png

画像の洞くつ結果表、海上結果表、山道結果表を得るのに、
下のSQL文のように、スキルテーブルを一つのphpファイルのSQL文で
何回も必要として呼び出しているのですがDBの負荷が心配です。(正規化にも問題あるような気もしますが。。
何か効率的な書き方や、使い回しやバッファにため込む(?)等、出来ればいいなと思うのですが、何か良い方法はあるでしょうか。
0449nobodyさん2013/04/10(水) 01:22:41.12ID:V2usnkco
>>448の続き
phpのソース部分です。

$doukutu=<<<EOM
select
洞くつ.レベル
洞くつ.技
スキル.攻撃力
スキル.消費MP
from 洞くつ
join スキル
on 洞くつ.技 = スキル.技
where 洞くつ.敵 = 'スライム';
EOM;
$query_doukutu=mysql_query($doukutu);
$kaijou=<<<EOM
select
海上.レベル
海上.技
スキル.攻撃力
スキル.消費MP
from 洞くつ
join スキル
on 海上.技 = スキル.技
where 海上.敵 = 'スライム';
EOM;
$query_kaijou=mysql_query($kaijou);
0450nobodyさん2013/04/10(水) 01:25:17.10ID:???
http://dev.mysql.com/doc/refman/4.1/ja/variables.html
0451nobodyさん2013/04/10(水) 02:33:34.60ID:???
>>449
敵テーブルに場所列を付ければ?
0452nobodyさん2013/04/10(水) 08:28:04.93ID:V2usnkco
>>450
ありがとうございます、ユーザ変数を使うと後で参照出来るのですね。
さっそく活用してみます。

>>451
なるほど、書いていませんでしたが前の行で敵名を別で読み込んでいるので、
それをwhere 敵=に読み込んでいたのですが、
敵テーブルに場所列を付けるというやり方もありますね、検討してみます。
ありがとうございます。
0453nobodyさん2013/04/10(水) 08:39:55.65ID:???
伝わっているとは思うけど、洞窟、海上、山道テーブルを敵テーブルとして統合するってことね

そもそも何を心配しているかによるけど。
スキルテーブルを何度もjoinするのが心配?
それより地形ごとに何度もクエリを発行するほうが負荷。
てか1リクエスト事に地形は1種類だけでいいのでは?だったら参照する地形テーブルを動的に変えるか、上で書いたように統合すればいい
0454nobodyさん2013/04/10(水) 08:44:18.91ID:???
どうせ、キャッシュに入ってるだろ。
心配なら、自分でキャッシュすればいい。
この件でSQLの書き方工夫したところでたいした効果はない。
0455nobodyさん2013/04/10(水) 11:01:42.44ID:???
クラスについて「オブジェクト」「new」「カプセル化」の用語を使って説明しなさい。
0456nobodyさん2013/04/10(水) 11:05:23.23ID:???
落書きは、自分のノートに
0457nobodyさん2013/04/10(水) 11:06:31.12ID:???
PHP初心者にありがちではあるが
いまさらオブジェクト指向の話題とかふるなよ
あんなのは最早知ってて当然のレベル
0458nobodyさん2013/04/10(水) 14:38:17.61ID:???
プログラミング、オブジェクト指向のどちらの初心者にとっても、やっぱり難しい話だと思うよ。
0459nobodyさん2013/04/10(水) 16:01:47.70ID:IX7jFUbJ
依存性の注入についてわかりやすく3行でまとめて下さい
0460nobodyさん2013/04/10(水) 16:03:55.18ID:???
>>459

依存性の注入とは
プログラミングの手法の一つですが
>>459 には未だ早い
0461nobodyさん2013/04/10(水) 17:01:12.23ID:???
PHP厨をもっと量産してくれ
PHP使ってる奴って安価で切りやすい労働力だからもっと社会に輩出してほしい
それ以外にPHP厨に価値はないからな
0462nobodyさん2013/04/10(水) 17:20:21.26ID:???
いまはしらんが。
昔、PSや任天堂はダメでセガというやつ、windows、unixはダメでMacというやつがいて
異常な情熱をして燃やしてるのがいたが。
同じ事で主流、メジャーに対する反抗なんだろうな。
それ自体かいいか悪いかでなく、メジャーだからという理由。
0463nobodyさん2013/04/10(水) 19:02:04.29ID:???
>>461
よし、そのためにはPHPのお仕事を今よりももっと量産してくれ
そしたら簡単な仕事がさらに増えてルーチンワークで金を稼げる
0464nobodyさん2013/04/10(水) 21:54:25.24ID:V2usnkco
>>453-454
なるほど、キャッシュに入るのでしょうか。それでしたらそれに越したことは無いのですが、
リクエストが多くなっていることと、また、ソースが複雑になっていたことも考慮して
テーブルを統合してみました。アドバイスどうもありがとうございます。
0465nobodyさん2013/04/10(水) 22:42:35.48ID:B4F75Z08
PHPで作った掲示板に書き込みがなされるたびにIPアドレスを保存するようにしている。
ここからさらにIPアドレスから自動的に国まで特定したいと思ってるんだけどいい方法無い?

ちなみにGeoIPというツールをインストールすればIPアドレスから国を調べることができるらしいけど
あいにくうちのレンタルサーバー(000webhost)はシェルの操作ができないからmake; make install;とか出来ないんだよね。

なんかもっと簡単に、どこかにIPアドレスを投げると国名を返してくれるネットサービスとかあればいいんだけど。
0466nobodyさん2013/04/10(水) 23:34:51.06ID:???
なんでPHP厨って>>465みたいにウェブの基本も分かってないゴミしかいないんだろうな。

ウェブの基本も知らずにウェブを通して利用するシステム書いてるとかありえね。

そんなことも知らないレベルならセキュリティリスクもありまくりだろうな。

悪意のあるハッカーに踏み台を用意してるゴミ=>>465
0467nobodyさん2013/04/10(水) 23:43:34.73ID:???
>>465
お前がやらなきゃならないのは国の特定ではなく今すぐ回線を切ること
0468nobodyさん2013/04/10(水) 23:48:10.26ID:???
>>465
system('make')
0469nobodyさん2013/04/11(木) 00:00:09.61ID:???
>>465
マルチ
0470nobodyさん2013/04/11(木) 00:05:39.68ID:???
>>465
叩かれたら放置でマルチか
0471nobodyさん2013/04/11(木) 01:54:53.00ID:???
>>466
> なんでPHP厨って >>465 みたいにウェブの基本も分かってないゴミしかいないんだろうな。
>
> ウェブの基本も知らずにウェブを通して利用するシステム書いてるとかありえね。
>
> そんなことも知らないレベルならセキュリティリスクもありまくりだろうな。
>
> 悪意のあるハッカーに踏み台を用意してるゴミ= >>465 

具体的に465のどこの発言からwebの基本が分かってないと判断したのだろうか?
ちなみに、IPアドレスから国を判断するというのであれば、自分で調べれば自前で実装できる。
GeoIPのメリットは都市まで調べられるところだな。
0472nobodyさん2013/04/11(木) 12:32:28.71ID:???
タイムスタンプを視認しやすい年月日時フォーマットに変換するのってプラグインつくらず標準機能でできるの?
0473nobodyさん2013/04/11(木) 12:46:48.22ID:???
strftime のことかな
0474nobodyさん2013/04/11(木) 12:52:40.88ID:???
>>472-473
なんでルールを無視しようと思ったの?
そんなに荒らしたいの?
お前らみたいなクズのせいでPHPが馬鹿にされるんだよ
0475nobodyさん2013/04/11(木) 14:58:02.81ID:???
>>474
おまえこそ2ちゃんのルールを守れよ
0476nobodyさん2013/04/11(木) 15:01:39.89ID:???
というか、ここのルールだなw
id出さずに聞くとはね。
0477nobodyさん2013/04/11(木) 15:10:55.16ID:???
>>474
質問はIDを出してね
0478nobodyさん2013/04/11(木) 15:27:42.24ID:???
>>472
秒数なんで足し算とか割り算とかしたら簡単にできるよ
0479nobodyさん2013/04/11(木) 15:34:58.04ID:???
>>478=ゴミw
0480nobodyさん2013/04/11(木) 15:44:57.58ID:???
>>472
Cロケールの可能性を考慮して、ここはdate()で。
0481nobodyさん2013/04/11(木) 16:59:28.61ID:???
365541705を
2013/04/10 (Wed) 06:08:25
に変換するという質問です
0482nobodyさん2013/04/11(木) 17:01:59.31ID:???
さすがに id 出してくれないとw
0483nobodyさん2013/04/11(木) 17:04:10.44ID:HixpqTLW
すみません、なんのことかわかっていませんでした
sageを削除するんですね
0484nobodyさん2013/04/11(木) 17:09:45.63ID:itiKrwCW
つい最近、PHPではうるう秒が使えず、libcなんかと互換性が無いみたいな話を見かけたような気がするがきのせいか?
0485nobodyさん2013/04/11(木) 17:10:02.05ID:0KD/BzYB
IDが出ないこの板が悪い
0486nobodyさん2013/04/11(木) 17:11:56.71ID:???
うるう秒って会議で決めるもんなんだから無理に決まってんだろがクズがよー
0487nobodyさん2013/04/11(木) 17:16:41.35ID:HixpqTLW
簡単にはできないということですか?
0488nobodyさん2013/04/11(木) 17:18:44.27ID:???
お前が毎日ニュースサイトで閏秒の決定がないか監視する必要がある
0489nobodyさん2013/04/11(木) 17:28:50.22ID:???
>>483
echo date("Y/m/d (D) H:i:s", 365541705);
echo strftime("%Y/%m/%d (%a) %H:%M:%S", 365541705);

ロケールとか影響しないフォーマットにしてみたけど
この数字だと 1981/08/01 (Sat) 19:21:45 になるから元が違う?
0490nobodyさん2013/04/11(木) 17:29:36.79ID:???
まあ 60 秒が存在できるかどうか、というのもあるしなあ
0491nobodyさん2013/04/11(木) 17:36:59.62ID:???
>>489
え!元が違うことはないかと
メール送信時に同時に書き込まれてます
0492nobodyさん2013/04/11(木) 17:37:33.71ID:HixpqTLW
すみません
またsage削除を忘れました
0493nobodyさん2013/04/11(木) 17:43:40.31ID:???
元が(エポックタイムとは)違う何かなのでは。
0494nobodyさん2013/04/11(木) 17:44:58.45ID:???
>>491
頭の1抜けてるっしょ、1365541705 だろう
0495nobodyさん2013/04/11(木) 17:45:18.61ID:???
じゃなくて、単に一番上の「1」が抜けてるんだな
1365541705
0496nobodyさん2013/04/11(木) 17:45:50.66ID:???
ああかぶりました。495=493
0497nobodyさん2013/04/11(木) 17:48:38.28ID:itiKrwCW
ちょっと手元で試してみた。

test.c
--
#include <stdio.h>
#include <time.h>
int main()
{
time_t t = 915148821;
struct tm *tm = localtime(&t);
printf("%s\n", asctime(tm));
return 0;
}
--

test.php
--
<?php
echo date("Y/m/d (D) H:i:s", 915148821) . PHP_EOL;
--

うるう秒を考慮するzoneinfoを使うと…
$ TZ=/usr/share/zoneinfo/right/Japan ./test
Fri Jan 1 08:59:60 1999

$ TZ=/usr/share/zoneinfo/right/Japan php test.php
1999/01/01 (Fri) 09:00:21

うーむ…。
0498nobodyさん2013/04/11(木) 18:18:16.16ID:???
解釈の違いによって20秒くらいの誤差が出てもかまわないという考え方もある。
0499nobodyさん2013/04/11(木) 18:23:57.62ID:HixpqTLW
メールを見直しましたが頭に1はついてないみたいです

365541705は
date( substr(time(), -9) );

2013/04/10 (Wed) 06:08:25は
date( "Y/m/d (D) H:i:s", time() );

という関数で吐き出されています
0500nobodyさん2013/04/11(木) 18:42:20.92ID:???
>>499
なんでわざわざ substr で 後ろから9文字取り出してるの?
10桁あるんだから 1が落ちて当然だよね?
0501nobodyさん2013/04/11(木) 18:44:53.19ID:???
>>500
ワロタw
時刻が関係する場所だから-9がずーっと時差関係の数字に見えてたww
0502nobodyさん2013/04/11(木) 18:48:26.96ID:???
GMT+9だもんな日本時間
0503nobodyさん2013/04/11(木) 18:54:33.33ID:HixpqTLW
>>500
あれの意味はうしろから9桁なんですね
どうしてそうしたのか尋ねてみます
明日以降になると思います
0504nobodyさん2013/04/11(木) 20:01:05.11ID:???
>>500
10桁になる前に書かれたロジックとか。
0505nobodyさん2013/04/11(木) 21:13:22.64ID:???
それはすごい
0506nobodyさん2013/04/11(木) 22:45:58.95ID:yLGwf0zn
>>471
> ちなみに、IPアドレスから国を判断するというのであれば、自分で調べれば自前で実装できる。

IPアドレスの国への割り振りって動的に変動しているけどそれはそういうのに追従できる方法?
0507nobodyさん2013/04/11(木) 22:53:54.56ID:???
15桁の数字の真ん中の5桁を抜き出すの1行で書けます?
123456789123456の真ん中の67991
0508nobodyさん2013/04/11(木) 22:54:36.57ID:???
>>507
>>1
0509nobodyさん2013/04/11(木) 22:55:56.12ID:???
文字列変換とsubstr
0510nobodyさん2013/04/11(木) 22:58:49.26ID:???
文字列に変換?
0511nobodyさん2013/04/11(木) 22:59:58.02ID:???
そもそもストリップをどうするのか解らなくて 汗
0512nobodyさん2013/04/11(木) 23:13:28.27ID:???
var [ alias, dom ] = ate.split("@");
0513nobodyさん2013/04/11(木) 23:30:57.18ID:???
>>506
馬鹿は黙っててね
0514nobodyさん2013/04/12(金) 04:09:06.68ID:???
10万でわって10万で割ったときのあまり
0515nobodyさん2013/04/12(金) 18:15:51.75ID:???
>10万でわって10万で割った

最初は全部ひらがなで「わって」って書いてるのに、次は「割って」って書いてる。
この一貫性のなさは絶対アスペだろ。
そこを変えるなら全部変えるべき。
最初は「100,000でわって」にして、
次は「10万で割って」にするとか。
これだったら「最初と次を変える」という一貫性が窺えるから気持ち悪さはない。
中途半端に変えるってのは精神的に安定してない証拠。
こいつ絶対にアスペ。
普段のコミュニケーションにも支障をきたしてそう。
気持ち悪い。
0516nobodyさん2013/04/12(金) 18:34:27.03ID:???
一貫性の無さは、むしろアホなんじゃ……
アスペの統一性の高さはちょっと異常レベルだし
0517nobodyさん2013/04/12(金) 19:11:33.43ID:???
そういうくだらない部分の指摘しかできないのもアスペルガーか何かじゃないの?
0518nobodyさん2013/04/12(金) 19:34:25.22ID:???
>>515
技術的なツッコミができないからそういう感じになっちゃうのか
何でここにいるの?
0519nobodyさん2013/04/12(金) 20:19:06.70ID:???
>>509
もう少しヒントをお願いします
0520nobodyさん2013/04/12(金) 21:30:09.59ID:???
>>519
文字列変換は暗黙の型キャストを嫌う場合の処理。
substr はヒントも何もそれが答えだよ。
自分で調べてないのが丸わかりだ。
0521nobodyさん2013/04/12(金) 21:32:18.65ID:???
あとたぶん8を9に置換する処理が必要だな
0522nobodyさん2013/04/12(金) 21:38:55.90ID:???
>>519
>>508
0523nobodyさん2013/04/12(金) 21:44:33.51ID:???
>>520
質問者?
0524nobodyさん2013/04/13(土) 00:43:50.64ID:???
>>519
質問者でもないゴミが書き込むな
0525nobodyさん2013/04/14(日) 04:05:20.50ID:???
>>515
これマジで書いてるよな
こういうキモイの初めて見た
世の中キチガイってマジでいんだな
0526nobodyさん2013/04/14(日) 04:09:13.76ID:???
>>525って自分がキチガイでリアルでもキモがられてるのに気付いてなさそうw
0527nobodyさん2013/04/14(日) 13:16:41.05ID:GUqrSjpz
$a[0]から$a[200]の数値が入った配列の操作について聞きたいです。
配列の範囲を指定して、その合計値を出す方法が知りたいです。

$a[50]から$a[70]の数値をすべて合計した値を出すなど
0528nobodyさん2013/04/14(日) 13:43:25.50ID:???
>>527
array_sum(array_slice($array, 50, 21))
0529nobodyさん2013/04/14(日) 15:05:52.19ID:GUqrSjpz
>>528
ありがとうございます
0530nobodyさん2013/04/15(月) 17:12:04.80ID:Zye3ucx/
自分用にゲームの発売日なんかを自動で集めてきて表示するサイトってPHPで作れますか?
0531nobodyさん2013/04/15(月) 17:15:50.60ID:???
>>530
作れる
0532nobodyさん2013/04/15(月) 17:17:26.44ID:Zye3ucx/
>>531
ありがとうございます
ついでといっちゃなんだがなんかヒントくれよな
0533nobodyさん2013/04/15(月) 17:22:34.61ID:???
かき集めてきてHTML出力すればいいんじゃないの
定期的にcronなりタスクスケジューラなんかでかき集めておいて、
生成しておいたプレーンなHTMLにアクセスするほうがいいかもしんない。
0534nobodyさん2013/04/15(月) 17:25:23.97ID:A3jblSzx
すいません、開発環境を構築していたところ、
本番環境ではでなかった
以下のようなエラーが表示されるようになってしまいました。

A PHP Error was encountered
Severity: Notice
Message: Use of undefined constant END_TRANSACTION - assumed 'END_TRANSACTION'
Filename: db/mysql.php
Line Number: 117

【PHPバージョン 5.3】
原因・回避方法わかりましたらご教示ください。。。
0535nobodyさん2013/04/15(月) 17:34:24.67ID:???
>>532
まず手動で集めて表示するサイトを作ってそれを自動化
0536nobodyさん2013/04/15(月) 17:40:51.15ID:???
>>533,535
サンクス!
0537nobodyさん2013/04/15(月) 17:59:13.24ID:???
>>534
ドキュメントルートがおかしいのではないかって海外フォーラムでいわれているよ
開発環境と本番環境それぞれの、そのあたりを注目してみてはどうでしょう
■ このスレッドは過去ログ倉庫に格納されています