【PHP】下らねぇ質問はID出して書き込みやがれ 127
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/03/19(火) 22:13:49.76ID:???過去スレ、関連スレ、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等)・フレームワークは各該当スレへ
0413402
2013/04/05(金) 19:24:49.12ID:39+wkXdW>>407
なるほど、普通はそういった方法を使うのですね。
ありがとうございます、勉強になります。
0414nobodyさん
2013/04/05(金) 19:47:44.44ID:???0415nobodyさん
2013/04/06(土) 02:00:26.72ID:???0416nobodyさん
2013/04/06(土) 04:21:01.34ID:???0417きら ◆Kira.u9zNc
2013/04/06(土) 04:50:16.93ID:???さきゅばすCLI版を起動させるバッチファイルを作ったんですが
名前を指定して実行などでは普通に出来るのにPHPのexec();でだけ出来ません。
どうすればexecで起動出来ますか?
0418きら ◆Kira.u9zNc
2013/04/06(土) 04:53:09.41ID:???【PHPのバージョン】5.3.18
【連携ソフトウェア】MySQL VertrigoServ
【質問内容】>>417
0420nobodyさん
2013/04/06(土) 06:37:26.53ID:???>出来ません。
ってだけで、
エラーメッセージとかコマンドの詳細を書かないってことは、
エスパーできる範囲で質問せざるをえないわけだが。
イベントログかPHPのエラーログ見た?
セーフモードは?
フルパスで起動してる?
パスに空白入ってない?
権限は?
0421nobodyさん
2013/04/06(土) 09:33:39.67ID:???0422nobodyさん
2013/04/06(土) 18:25:33.81ID:yOARrNMO【連携ソフトウェア】MySQL
<?php
$hoge = intval($_GET["hoge"]);
$q=<<<eot
select * from table where id = $hoge;
eot;
$re=mysql_query($q);
$hairetu=mysql_fetch_array($re);
?>
<body>
<?= $hairetu["taijuu"] ?>
これで実行すると下のようなエラーが出てしまいます。
Notice: Undefined variable: taijuu in C:\xampp\htdocs\xxxx.php on line 100
3行目を追加($taijuuを定義)して、<?= $hairetu ?>に変更すると、
(途中省略)
$re=mysql_query($q);
$hairetu=mysql_fetch_array($re);
$taijuu = $hairetu["taijuu"];
?>
<body>
<?= $hairetu["taijuu"] ?>
正常に<?= $hairetu["taijuu"] ?>が処理され表示されます。
なぜ、<?= $hairetu["taijuu"] ?>ではエラーが出るのでしょうか。
0424nobodyさん
2013/04/06(土) 19:04:29.97ID:yOARrNMOありがとうございます。そこが問題だったようです。
そこを書き換えて、あと100行目前後の変数の部分が変な記述になっていたので
これも直したら正常に処理することが出来ました。
0425nobodyさん
2013/04/07(日) 10:05:58.96ID:???http://hissi.org/read.php/news4vip/20130407/T29ZaG1nNGow.html
◆じゃあのさんまとめ◆
http://jyaanowww.wiki.fc2.com/
0426nobodyさん
2013/04/08(月) 09:47:10.31ID:Hgt8t7EN【PHPのバージョン】5.1.6
【連携ソフトウェア】なし
【質問内容】
ファイルを圧縮・解凍したいと思っています。
PHPが5.1.6なのでZipArchiveがありません。
phpMyAdminなどの追加も出来ない環境なのでモジュールを使ってするということができません。
コマンドも権限が無いので叩けない状態です。
こういった状況で圧縮・解凍する方法がPHPであればアドバイスもらえないでしょうか。
0427nobodyさん
2013/04/08(月) 10:04:42.45ID:???0428nobodyさん
2013/04/08(月) 10:24:46.31ID:???調べてサーバーで使用禁止の設定を確認したか。
0430426
2013/04/08(月) 11:39:04.03ID:Hgt8t7EN検索ワードが悪かったせいか、上位にZipArchiveに関する事が多く出ていました。
zlib関数があることを知りませんでしたので、そちらで汎用的なzipファイルを作成できるという
ことであればそちらを使ってみたいと思います。
0431nobodyさん
2013/04/08(月) 21:14:28.36ID:???目の錯覚か
0432nobodyさん
2013/04/08(月) 23:33:19.67ID:w0n+quq7【PHPのバージョン】5.1.6
【連携ソフトウェア】なし / モジュール追加不可
【質問内容】
2038年を超える日付計算をしたいのですが、PHP5.1系のためDateTimeも使えず
モジュールも追加出来ないためPearで計算することも出来ません。
こういった状況で2038年を超える日付計算をするにはどのようにすればいいのでしょうか?
0433nobodyさん
2013/04/08(月) 23:51:09.14ID:???unixタイムのマイナス値使わないなら マイナス値対応させれば2106年くらいまでけそうだな
独自ファンクション作ってしまえ
そしてここで公開しよう
0434nobodyさん
2013/04/09(火) 00:11:04.43ID:???0435nobodyさん
2013/04/09(火) 01:17:58.80ID:???0437426
2013/04/09(火) 09:05:47.21ID:Bv2LP4mIマイナス値になったら2038年以降とみなして計算するとかそういう作りになってんのかね。
0438nobodyさん
2013/04/09(火) 12:06:53.35ID:???根本的解決になってないけどそれでいいのかよ
0439nobodyさん
2013/04/09(火) 12:11:35.33ID:???0440nobodyさん
2013/04/09(火) 12:59:59.55ID:???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;
}
}
}
とかのクラス作ればいいんじゃないかと思うんだが、違うのかな。
0443nobodyさん
2013/04/09(火) 19:25:12.90ID:Bv2LP4mIそんときゃ俺はもういないし
0444nobodyさん
2013/04/09(火) 19:30:24.16ID:???0445sage
2013/04/09(火) 20:32:27.31ID:???0446nobodyさん
2013/04/10(水) 00:15:03.20ID:???0447nobodyさん
2013/04/10(水) 00:34:11.60ID:???113・・・ギリギリセーフだろー
0448nobodyさん
2013/04/10(水) 01:21:33.51ID:V2usnkco【連携ソフトウェア】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:V2usnkcophpのソース部分です。
$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:???0452nobodyさん
2013/04/10(水) 08:28:04.93ID:V2usnkcoありがとうございます、ユーザ変数を使うと後で参照出来るのですね。
さっそく活用してみます。
>>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:???0456nobodyさん
2013/04/10(水) 11:05:23.23ID:???0457nobodyさん
2013/04/10(水) 11:06:31.12ID:???いまさらオブジェクト指向の話題とかふるなよ
あんなのは最早知ってて当然のレベル
0458nobodyさん
2013/04/10(水) 14:38:17.61ID:???0459nobodyさん
2013/04/10(水) 16:01:47.70ID:IX7jFUbJ0461nobodyさん
2013/04/10(水) 17:01:12.23ID:???PHP使ってる奴って安価で切りやすい労働力だからもっと社会に輩出してほしい
それ以外にPHP厨に価値はないからな
0462nobodyさん
2013/04/10(水) 17:20:21.26ID:???昔、PSや任天堂はダメでセガというやつ、windows、unixはダメでMacというやつがいて
異常な情熱をして燃やしてるのがいたが。
同じ事で主流、メジャーに対する反抗なんだろうな。
それ自体かいいか悪いかでなく、メジャーだからという理由。
0463nobodyさん
2013/04/10(水) 19:02:04.29ID:???よし、そのためにはPHPのお仕事を今よりももっと量産してくれ
そしたら簡単な仕事がさらに増えてルーチンワークで金を稼げる
0464nobodyさん
2013/04/10(水) 21:54:25.24ID:V2usnkcoなるほど、キャッシュに入るのでしょうか。それでしたらそれに越したことは無いのですが、
リクエストが多くなっていることと、また、ソースが複雑になっていたことも考慮して
テーブルを統合してみました。アドバイスどうもありがとうございます。
0465nobodyさん
2013/04/10(水) 22:42:35.48ID:B4F75Z08ここからさらにIPアドレスから自動的に国まで特定したいと思ってるんだけどいい方法無い?
ちなみにGeoIPというツールをインストールすればIPアドレスから国を調べることができるらしいけど
あいにくうちのレンタルサーバー(000webhost)はシェルの操作ができないからmake; make install;とか出来ないんだよね。
なんかもっと簡単に、どこかにIPアドレスを投げると国名を返してくれるネットサービスとかあればいいんだけど。
0466nobodyさん
2013/04/10(水) 23:34:51.06ID:???ウェブの基本も知らずにウェブを通して利用するシステム書いてるとかありえね。
そんなことも知らないレベルならセキュリティリスクもありまくりだろうな。
悪意のあるハッカーに踏み台を用意してるゴミ=>>465
0471nobodyさん
2013/04/11(木) 01:54:53.00ID:???> なんでPHP厨って >>465 みたいにウェブの基本も分かってないゴミしかいないんだろうな。
>
> ウェブの基本も知らずにウェブを通して利用するシステム書いてるとかありえね。
>
> そんなことも知らないレベルならセキュリティリスクもありまくりだろうな。
>
> 悪意のあるハッカーに踏み台を用意してるゴミ= >>465
具体的に465のどこの発言からwebの基本が分かってないと判断したのだろうか?
ちなみに、IPアドレスから国を判断するというのであれば、自分で調べれば自前で実装できる。
GeoIPのメリットは都市まで調べられるところだな。
0472nobodyさん
2013/04/11(木) 12:32:28.71ID:???0473nobodyさん
2013/04/11(木) 12:46:48.22ID:???0474nobodyさん
2013/04/11(木) 12:52:40.88ID:???なんでルールを無視しようと思ったの?
そんなに荒らしたいの?
お前らみたいなクズのせいでPHPが馬鹿にされるんだよ
0476nobodyさん
2013/04/11(木) 15:01:39.89ID:???id出さずに聞くとはね。
0481nobodyさん
2013/04/11(木) 16:59:28.61ID:???2013/04/10 (Wed) 06:08:25
に変換するという質問です
0482nobodyさん
2013/04/11(木) 17:01:59.31ID:???0483nobodyさん
2013/04/11(木) 17:04:10.44ID:HixpqTLWsageを削除するんですね
0484nobodyさん
2013/04/11(木) 17:09:45.63ID:itiKrwCW0485nobodyさん
2013/04/11(木) 17:10:02.05ID:0KD/BzYB0486nobodyさん
2013/04/11(木) 17:11:56.71ID:???0487nobodyさん
2013/04/11(木) 17:16:41.35ID:HixpqTLW0488nobodyさん
2013/04/11(木) 17:18:44.27ID:???0489nobodyさん
2013/04/11(木) 17:28:50.22ID:???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:???0492nobodyさん
2013/04/11(木) 17:37:33.71ID:HixpqTLWまたsage削除を忘れました
0493nobodyさん
2013/04/11(木) 17:43:40.31ID:???0495nobodyさん
2013/04/11(木) 17:45:18.61ID:???1365541705
0496nobodyさん
2013/04/11(木) 17:45:50.66ID:???0497nobodyさん
2013/04/11(木) 17:48:38.28ID:itiKrwCWtest.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:???0499nobodyさん
2013/04/11(木) 18:23:57.62ID:HixpqTLW365541705は
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:???なんでわざわざ substr で 後ろから9文字取り出してるの?
10桁あるんだから 1が落ちて当然だよね?
0502nobodyさん
2013/04/11(木) 18:48:26.96ID:???0503nobodyさん
2013/04/11(木) 18:54:33.33ID:HixpqTLWあれの意味はうしろから9桁なんですね
どうしてそうしたのか尋ねてみます
明日以降になると思います
0505nobodyさん
2013/04/11(木) 21:13:22.64ID:???0506nobodyさん
2013/04/11(木) 22:45:58.95ID:yLGwf0zn> ちなみに、IPアドレスから国を判断するというのであれば、自分で調べれば自前で実装できる。
IPアドレスの国への割り振りって動的に変動しているけどそれはそういうのに追従できる方法?
0507nobodyさん
2013/04/11(木) 22:53:54.56ID:???123456789123456の真ん中の67991
0509nobodyさん
2013/04/11(木) 22:55:56.12ID:???0510nobodyさん
2013/04/11(木) 22:58:49.26ID:???0511nobodyさん
2013/04/11(木) 22:59:58.02ID:???0512nobodyさん
2013/04/11(木) 23:13:28.27ID:???■ このスレッドは過去ログ倉庫に格納されています