【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等)・フレームワークは各該当スレへ
0369nobodyさん
2013/04/03(水) 20:46:12.73ID:???0370nobodyさん
2013/04/03(水) 21:00:14.58ID:YRjUCssz今、Windowsのローカル環境で error_reporting を 32767 にセットして警告をシラミ潰しにしているのですが、
Declaration of Walker_Nav_Menu_Edit::start_el() should be compatible with Walker::start_el(&$output, $object, $depth, $args, $current_object_id = 0) in D:\localhost\wordpress\wp-admin\includes\nav-menu.php on line 207
というのをどうやっても消せません。
これは継承元のクラスメソッドとシグニチャが一致しない場合の警告なのですが、元の Walker::start_el と同じに変更しても消えないのです!
同じ警告がこのファイルの別のクラス)(Walker_Nav_Menu_Checklist)でもやはり発生して消えません。
この種類のエラーはWordPressのいたるところに散在していて、他は確認できる範囲では全て消せました。(このファイルの別のクラスでも消せたものもあります)
しかしこのファイルのこの箇所のみ解消できないのです。
どなたかお分かりになる方はいらっしゃいませんか?
0371nobodyさん
2013/04/04(木) 07:26:37.47ID:???_, ,_
w (・ω・ )
(~)、 / i )
\ ` |_/ /|
`ー_( __ノ |
( `( 、ノ
wwwww_ノ`i__ノ
0372nobodyさん
2013/04/04(木) 10:54:32.39ID:???> 普通は、httpデーモンさんはphpファイルさんに直で話しかけられない恥ずかしがりやさんだから
> apacheさんに変わりに聞いてもらっている
> httpデーモンさんは普通はアパッチさんの
2度もでてくるってことはhttp daemonとapacheがそれぞれ存在する環境なんだろうなぁ。
0373nobodyさん
2013/04/04(木) 11:18:40.47ID:???http://livedoor.blogimg.jp/erotika_dea/imgs/c/6/c64e57cf.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/b/a/baaaa95e.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/0/6/0642961f.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/2/d/2dba6b48.jpg
http://livedoor.blogimg.jp/erotika_dea/imgs/c/f/cf1b79c7.jpg
0374nobodyさん
2013/04/04(木) 12:53:27.85ID:???んじゃ、http://php.net/manual/ja/index.phpのソース取ってきてみ
0375nobodyさん
2013/04/04(木) 12:55:28.10ID:???0378nobodyさん
2013/04/04(木) 15:41:23.79ID:???あと ~ とか .bak で落とせるところが今でもある
どうみてもレン鯖なところにビッグチャンスあり
0379nobodyさん
2013/04/04(木) 16:19:30.19ID:ukDPOk48sprintf (エスプリントエフ)
ob_start (オービースタート)
とかでよい?
0380nobodyさん
2013/04/04(木) 17:13:56.47ID:???"おーびーすたーと"だと0件。
つまり、Web上にはそのような一覧は多分無いってことだね。
CとかUnixのだと古いのがあったりするんだが。
http://atom.rye.tama.ac.jp/~stock/cgengo/04ctext2/04furoku-c.pdf
まあ、読み方はそのままでいいんじゃない?
0381370
2013/04/04(木) 17:59:41.69ID:JZyowHPw0382nobodyさん
2013/04/04(木) 18:30:28.61ID:???WordPressはさっぱり知らないし、どのWPのバージョンの話なのか、PHPのバージョンは何なのか
さっぱりわからないが、何で消そうとしてるの?
出なくなるまで、ログレベルを下げるわけにはいかないの?
それと、どうやって消してるのか知らないけど、WP本体を変更しちゃったら、バージョンアップしたら
変更が消えちゃわない?
あとググった?
0383nobodyさん
2013/04/04(木) 19:37:19.25ID:???ぐぐったらでてきたんだけどこれじゃダメ?
http://stackoverflow.com/questions/9734422/errors-when-trying-to-integrate-wordpress-on-my-existing-website
0384nobodyさん
2013/04/05(金) 04:18:02.22ID:OQtVBSh8ある特定の画像のみ上手くいきません
$fileType = $_FILES['uploadPic']['type'];
if(preg_match("/jpeg/", $fileType)){
jpgならアップロード処理
}else{
echo $fileType;
}
としても、jpgと判定されない上に、echo $fileTypeで何も出力しません
さらに別のやり方で、
switch(exif_imagetype($_FILES['uploadPic']['tmp_name'])){
case IMAGETYPE_JPEG:
アップロード処理
break;
default:
echo exif_imagetype($_FILES['uploadPic']['tmp_name']);
}
この方法でも、 echo exif_imagetype($_FILES['uploadPic']['tmp_name']); で何も出力しません
何が原因なんでしょうか
PHPは5です
0385384
2013/04/05(金) 04:51:07.31ID:???ファイル容量的には全く問題なかったんですが、画像の寸法が大き過ぎたようです
一辺が3000px以上あると、PHPはメモリエラーを起こすらしいです
知らなかった…
0386nobodyさん
2013/04/05(金) 06:15:51.61ID:???>>381
Reflectionで調べたら、違いがあるかもしれないよ。
編集しているつもりが別のファイルだったりするってこともない?(おれはあるw)
0387nobodyさん
2013/04/05(金) 06:18:17.31ID:???まぁ、後方互換性じゃしょうがないか。
0389nobodyさん
2013/04/05(金) 13:40:01.87ID:???例えばフォームに
FX News と入力すると
↓
http://www.hoge.com/search.php?terms=FX%20News
のように変換させたいのですが上手くいきません。
以下のような感じではダメなのでしょうか?
<Form action="URL_henkan.php">
<input type="text" name="moji" size="80" value="<?echo 'http://www.hoge.com/search.php?terms=', urlencode($moji) ?>">
<input type=submit value=sub>
</Form>
0390nobodyさん
2013/04/05(金) 13:42:05.75ID:???0391nobodyさん
2013/04/05(金) 13:52:54.63ID:???http://www.hoge.com/search.php?terms=xxxx と出力されるようにしたいんですが
やり方がわからないので…
0392nobodyさん
2013/04/05(金) 13:56:52.13ID:???0395nobodyさん
2013/04/05(金) 14:00:59.14ID:???にしてみたら?
XSSしてくださいって感じだけどもw
0396nobodyさん
2013/04/05(金) 14:06:29.87ID:???なんか、いろいろわかってないな。
?以降はURLパラメータという奴で、HTTP GETしたら勝手に付く。
hoge.php
--
<title>Test</title>
<body>
<form method="GET" action="search.php">
<input type="text" name="term">
<input type="submit">
</form>
</body>
--
を表示させて、テキストにabcと入力してsubmitしてみろ。
URLがhttp://.../search.php?term=abcになってるから。
0398nobodyさん
2013/04/05(金) 14:13:41.43ID:???hoge.php
--
<?php
$converted = isset($_GET['term']) ? 'hoge' : '';
?>
<title>Test</title>
<body>
<form method="GET" action="hoge.php">
<input type="text" name="term" value="<?php echo $converted; ?>">
<input type="submit">
</form>
</body>
--
0399nobodyさん
2013/04/05(金) 14:15:15.52ID:???0400nobodyさん
2013/04/05(金) 14:16:17.51ID:???PHPじゃ無理だろ
0402nobodyさん
2013/04/05(金) 14:19:13.57ID:39+wkXdW【PHPのバージョン】MYSQL
001.php、002.php、003.php・・・をMySQLのDB内レコードの、
指定したIDのレコードを表示させたいのです。
今はこんな感じでそれぞれ、ファイルを用意しようかと思っているのですが、
http://www.rupan.net/uploader/download/1365139040.png
ファイルが数百ファイル必要になってしまい、作業手順も多くなってしまいます。
003.phpを004.phpにファイル名をリネーム
004.php内のsql003.php→sql004.phpに変更
sql003.php内のwhere id = 3 を id = 4に変更 ・・等々
これらの方法を実現させるにはphpの何かの機能を使えば実現出来るでしょうか。
また、一般的にはどのように実現させるものなのでしょうか。
0403402
2013/04/05(金) 14:24:04.75ID:39+wkXdW×【PHPのバージョン】5.3
×【PHPのバージョン】MYSQL
↓
○【PHPのバージョン】5.3
○【連携ソフトウェア】MYSQL
0404nobodyさん
2013/04/05(金) 14:24:33.15ID:???入力した文字列はフォームへの出力へは反映されていません。
つまり>>389の例だと
http://www.hoge.com/search.php?terms=
としか表示されていません。
0406370
2013/04/05(金) 14:42:12.80ID:???レス有難う。解決した。
問題を単純化するとこういうことだった
class A {
function meth($arg1, $arg2 = 0) {}
}
class B extends A {
function meth($arg1 = 0, $arg2 = 0) {}
}
class C extends B {
function meth($arg1, $arg2 = 0) {}
}
// エラーレポート内容
Declaration of C::meth should be compatible with A::meth($arg1, $arg2 = 0) in ........
1.継承メソッドが親メソッドにさらに初期値を追加定義することはエラーにならない。つまり、Bにおけるmethの定義
2.継承メソッドが親メソッドより初期値を少なくすることはエラーになる。つまり、Cにおけるmethの定義
ただ、エラーレポートがCの定義内容をAとの比較でしか報告していないのでBを調べることを怠った。
要するに、PHPのエラーレポートシステムが、おれの怠慢を補ってくれない程度にクソだったってことだ。
0407nobodyさん
2013/04/05(金) 14:50:46.20ID:???普通は、プレースホルダを使う。
http://lets.postgresql.jp/documents/tutorial/with_php/against_sql_injection/placeholder
SQLインジェクションが起きてもいいなら、'where id = ' . $idみたいに、クエリ文字列を組み立てる。
0408407
2013/04/05(金) 14:51:27.81ID:???MySQLの場合どうやるかはググってくれ。
0409nobodyさん
2013/04/05(金) 15:01:58.57ID:???//数行の処理
}
を100ブロックに展開するって話思い出した。
0410nobodyさん
2013/04/05(金) 15:58:08.23ID:???無料の掲示板導入しようとしてるんだがことごとく失敗するw
初心者でも設定が簡単な無料掲示板教えて
できれば画像などを投稿できるやつがいい
夢幻ってサイトので10ぐらい無料の試したが全部しっぱいしたw
0411nobodyさん
2013/04/05(金) 16:03:05.38ID:???サンプル
2ちゃんねるみたいな掲示板
この掲示板スクリプトは、ネット上で見つけたread.cgi、bbs.cgiをPerlからPHPに移植したものです。
改造、再配布、商用利用等に制限はありませんが、プログラムのバグ等でログが消えたり他の損害がおきても作者は一切の責任を負いません。
<a href="http://script.s16.xrea.com/2ch/php/">2ちゃんねるみたいな掲示板</a>
0412nobodyさん
2013/04/05(金) 16:03:51.63ID:???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
■ このスレッドは過去ログ倉庫に格納されています