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

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

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

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

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

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

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0010nobodyさん2012/04/24(火) 12:59:23.07ID:???
>>991
名前空間を追加するのはダメなん?

<?php

namespace yes;
function hoge(){
return 1;
}

namespace no;
function hoge(){
return 2;
}

namespace no;
print hoge();

?>

こんな感じ
確か5.3以降だが。
00119912012/04/24(火) 15:18:55.33ID:wbuGOpPO
>>10
レスありがとうございます。

a.phpにhoge()があるんですけどa.phpは一切いじれません。
実際にhoge()を使うのはc.phpですが、これはいじれます。
c.phpはa.phpをincludeしてるわけですが、それにくわえb.phpをincludeして、
b.phpのhoge()をオーバライド的なことを考えてました。

なのでa.phpがいじれないので名前空間追加はだめですね。
5.2系なので使えないですけど。
0012nobodyさん2012/04/24(火) 16:00:48.37ID:???
関数定義の取り消しも、再定義もできない
http://q.hatena.ne.jp/1258513233

融通が利かないな、PHPは
0013nobodyさん2012/04/24(火) 16:03:20.14ID:???
>>4-6
9. メソッドと関数の違い
 → えーと メソッドは引数を持たなく、関数は引数を持つんだとおもいます
16. オブジェクト指向
 → 使用しないこと。実装が中途半端だという説もありますが、
  PHP自体遅いのでOOPするとさらに遅くなり、実用に耐えません。
19. 配列の中の最大値の添え字を取得したいんだけど・・・
 → まずドラゴンボールを7つ集めます
  次に「タッカラプト・ポッポルンガ・プピリット・パロ」と唱えます
22.パフォーマンスが悪いと感じられるとき
 → キャッシュを使用してください。
  それでもだめならサーバーCPUのオーバークロックをお試しください。

>>4-6
>>7-9
0014nobodyさん2012/04/24(火) 17:10:24.27ID:Xk0IrJXx
前スレの>>984です
lib.phpが間違ってるとの指摘があったのでlib.phpのどこが間違ってるか教えて下さい
http://codepad.org/AuyKSSRd
0015nobodyさん2012/04/24(火) 17:16:32.08ID:???
>>14
ここで聞くよりもドラゴンボールを集める方が早い
0016nobodyさん2012/04/24(火) 17:19:30.73ID:???
>>12
中途半端なオブジェクト指向だから、PHPは。
0017nobodyさん2012/04/24(火) 17:22:52.98ID:Xk0IrJXx
>>15

ドラゴンボール5つ集める間に解決しそうだから四魂の玉さがします
0018nobodyさん2012/04/24(火) 17:35:48.39ID:???
>>14
なんでそこだけピックアップしたん?
もっとレスついてたよ
0019nobodyさん2012/04/24(火) 17:54:23.03ID:Xk0IrJXx
>>18そーりー

986 名前:nobodyさん[sage] 投稿日:2012/04/24(火) 04:05:04.91 ID:???
lib.phpが間違えてる
>>14


987 名前:nobodyさん[sage] 投稿日:2012/04/24(火) 04:07:40.21 ID:???
わけじゃないか。
mysqlってシングルクォートじゃなくてバッククォートつかうの?

なんとなく使ってた
mysqlの予約後をテーブル名やカラム名で使う場合バッククォートで囲むらしいです
とりあえず別のsqlに変えたけてやってみましたが
Array ( [id] => test [character] => test1 [sex] => 男性 [server] => 不明 [nationality] => 不明 [group] => test3 [message] => test4 )
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'character = 'TEST1', sex = '男性', server = '不明', nationality '' at line 3

と出ます
http://codepad.org/HHSUYAWl


988 名前:nobodyさん[sage] 投稿日:2012/04/24(火) 04:50:09.35 ID:???
テーブルの ip のフィールドの型が変なんじゃね?
1 id int(11)
2 character varchar(255) utf8_general_ci
3 sex varchar(255) utf8_general_ci
4 server varchar(255) utf8_general_ci
5 nationality varchar(255) utf8_general_ci
6 group varchar(255) utf8_general_ci
7 message textutf8_  general_ci
8 ip varchar(255) utf8_general_ci
こんな感じになってます
0020nobodyさん2012/04/24(火) 20:28:52.40ID:???
発行したクエリをログに出すことは出来ないの
0021nobodyさん2012/04/24(火) 22:41:20.00ID:???
xdebugのインストールがうまくいきません
phpinfo()ではちゃんとxdebugの設定項目も表示されるのに、実際に使おうとすると使えません
こんなことあるんですか?
0022nobodyさん2012/04/24(火) 22:46:26.25ID:???
あるんじゃないんですかね。
0023nobodyさん2012/04/25(水) 01:01:46.85ID:???
スレタイの日本語すら読めない奴には無理なんじゃね?
0024nobodyさん2012/04/25(水) 01:08:01.58ID:???
ですよね…
明日自分でもう少し調べてみます。
それでも解決しなかったら明日ちゃんとID出して質問させていただきます。
すいませんでした
0025nobodyさん2012/04/25(水) 01:24:38.61ID:???
ボンクラ回答者に謝る必要は無い。
0026nobodyさん2012/04/25(水) 01:32:30.28ID:???
質問の要件すら満たしてないんだから回答も糞もないぞw
0027nobodyさん2012/04/25(水) 01:41:55.57ID:???
ここの回答者はボンクラばかり。
0028nobodyさん2012/04/25(水) 04:36:39.84ID:???
>>27 が回答者なら >>27 はボンクラ
>>27 が質問者なら >>27 >>1
>>27 が傍観者なら >>27 は余程ヒマな人
0029nobodyさん2012/04/25(水) 09:11:44.93ID:???
つかPHPer自体がボンクラ
0030nobodyさん2012/04/25(水) 09:55:56.19ID:???
PHPはボンクラPHPer製造機
0031nobodyさん2012/04/25(水) 13:09:23.55ID:???
ウェブプログラミングで一番普及してるのがPHPだからな
昔はPerlやっとけばそれで良かったんだが簡単に始められてHTMLに埋め込めるってことで初心者層に広まった
ただ、言語仕様がゴミで、関数名も気持ち悪いものばかりでどうしようもなかった
PHPにはさっさと見切りをつけてrubyやperl、pythonにみんな移っていった
そして、PHPerには初心者とPHPしか触らせてくれない企業のボンクラプログラマだけが残った
0032nobodyさん2012/04/25(水) 13:30:57.27ID:???
1行目と最後で言ってることが支離滅裂な阿呆だな
0033nobodyさん2012/04/25(水) 13:41:21.20ID:???
CGIはcgi-binディレクトリだとかパーミッションだとか
敷居が高かったのは確かだな
0034nobodyさん2012/04/25(水) 13:44:22.16ID:???
初心者とPHPしか触らせてくれない企業が大半を占めてるんだろ
>>31の脳内ではな
0035nobodyさん2012/04/25(水) 14:00:14.26ID:???
このスレにPerlをCGIとか言うやついるんだな
0036nobodyさん2012/04/25(水) 14:22:56.97ID:???
えっ?
0037nobodyさん2012/04/25(水) 15:41:17.97ID:???
>>33
コーディング以外のことも覚えなきゃ動かない環境に比べ
PHPはコーディングだけでまず動いちゃうしなー。
そのへんの入り口でまず差が出るな。
勿論、サーバのビルドとか除いての話だぜ。
サーバビルドにしても今はCentOSならDVDぶち込んで
WebServerえらんどきゃOKか。
0038nobodyさん2012/04/25(水) 15:51:15.11ID:???
何言ってるのこの人
0039nobodyさん2012/04/25(水) 15:53:05.01ID:???
Perl=CGIとは誰も言っていない件
0040nobodyさん2012/04/25(水) 16:23:40.13ID:???
流れみれば明らかにPerlのことさしてんだろ
0041nobodyさん2012/04/25(水) 16:57:19.49ID:???
CGI全般の話をしてるだけじゃね?
Perlは〜って書いてるわけじゃねえし

PHPはボンクラ言語、の話をそらしたいだけじゃねえの?
0042nobodyさん2012/04/25(水) 17:47:32.01ID:???
それじゃPHPも敷居高いって話になるじゃん
とてもそう入ってるとは思えないのだが
そもそもCGIだからパーミッションの設定が必要とか
それはサーバに依存するのでは
0043nobodyさん2012/04/25(水) 18:36:22.67ID:???
何がそれじゃなのかkwsk
0044nobodyさん2012/04/25(水) 18:39:16.68ID:???
パーミッションの設定
0045nobodyさん2012/04/25(水) 18:40:06.81ID:???
PHPもCGIだろ
0046372012/04/25(水) 18:42:51.19ID:FmWSzlOF
CGI全般の話だよ。

ところでなんでそっから話題をそらしたいのかって
推察できるのかがわからない。なんでだろ。
ボンクラな話の続きなわけだが

>>42
どこがPHPも敷居が高いって話に読めるんだ?
まさか、PHPにCGI版があるからなんて話か?
0047nobodyさん2012/04/25(水) 18:49:15.90ID:???
テンプレ嫁

>>1
・ 他言語について言及しないこと(特にJavaは禁句)。PHPオンリーの回答者が不快になります。
0048nobodyさん2012/04/25(水) 18:54:06.60ID:???
>>42>>45
PHPの初心者がいきなりCGI版から入るとでも言いたいのか?
0049nobodyさん2012/04/25(水) 18:56:35.70ID:???
そんなに何年も居着いてる訳じゃ無いけどさ、なんで定期的にこのショボい喧嘩が始まるの?
PHPのスレなんだからそれ以外の言語の話がしたかったら他行けば良いんじゃないのかな?

趣味の人間がどの言語からやろうかってスレならもめるのもわかるんだけどね〜

まぁ俺も関係ない話なのは理解してるけどいい加減にげっそりしてきたんで。
0050nobodyさん2012/04/25(水) 19:25:41.67ID:ZtiV5z3y
PHPに詳しい方アドバイスをお願いします。

ファイルポインタリソースから、ファイル名を取得する方法はあるのでしょうか。
tmpfile()で一時ファイルを作成した際に、作成されたファイルパスを知りたいのです。
fstat()関数はおしい感じだったのですが、ファイルパスは取得できないようなので…。
0051nobodyさん2012/04/25(水) 19:32:27.80ID:???
げんなり?
0052nobodyさん2012/04/25(水) 19:49:06.68ID:???
>>33=>>37
道理で発言からボンクラ臭がするわけだ
0053nobodyさん2012/04/25(水) 19:58:19.06ID:???
同一人物認定したって意味ない
0054nobodyさん2012/04/25(水) 20:24:06.29ID:???
PHP使いはぼんくらっていってる人が、ちゃんと回答しろよって言い出す頃合
0055nobodyさん2012/04/25(水) 21:45:50.38ID:???
>>50
echo stream_get_meta_data(tmpfile())['uri'];
0056nobodyさん2012/04/25(水) 21:57:15.84ID:???
さすがPHP、相変わらずつぎはぎだらけだな
0057nobodyさん2012/04/25(水) 22:35:04.09ID:???
>>55
汚い関数名さらすな
0058nobodyさん2012/04/25(水) 22:50:09.91ID:???
おっぱぴー
0059nobodyさん2012/04/25(水) 23:05:28.11ID:???
汚盛はやってるしな
0060nobodyさん2012/04/25(水) 23:17:16.79ID:???
PHPは汚物の総合商社
0061nobodyさん2012/04/26(木) 00:12:15.94ID:???
しっかし、ひどいネーミング

stream_get_meta_data
0062nobodyさん2012/04/26(木) 00:18:17.51ID:???
hayaku_netara_douda
0063nobodyさん2012/04/26(木) 00:19:11.57ID:???
PHPでのOOPはお勧めされていないようですが、この場合のOOPというのはどの程度を言うのでしょうか?
0064nobodyさん2012/04/26(木) 00:46:28.98ID:???
Model View Controllerレベルの話だよ
クラスはどんどん使ってOOPするべき
0065nobodyさん2012/04/26(木) 00:57:21.86ID:???
>>63
程度を問わず、OOPが必要なら最初からOO言語を使用してください。
0066nobodyさん2012/04/26(木) 01:56:17.00ID:???
>>63
>>7-9はこのスレに住み着いてる蛆虫が勝手に追加したFAQな
0067nobodyさん2012/04/26(木) 02:19:14.02ID:???
実際、PHPのOOPは遅い。
0068nobodyさん2012/04/26(木) 04:24:08.02ID:???
PHPの登場当時OOPは存在しなかったとか主張するのか?
0069nobodyさん2012/04/26(木) 07:00:16.17ID:???
PHPのコミュニティーが壊滅しただけじゃなくて
根暗が2chに残っただけなんだな
さぁまともな質問者はSNSやアホー池沼袋にい旅立ちましょう
0070nobodyさん2012/04/26(木) 10:14:41.58ID:???
遅いか早いかはPHPのエンジン次第でしょ、Zendが超頑張ったら速くなるかもしれないしさ
0071nobodyさん2012/04/26(木) 10:23:49.28ID:???
何言ってるのこの人
0072nobodyさん2012/04/26(木) 10:28:34.42ID:???
何言ってるのこの人しか言えないのか
0073nobodyさん2012/04/26(木) 11:06:55.09ID:???
だって昨日から言ってることが馬鹿なんですもの
よくわかってないなら黙ってなよ
俺はPHPのことよく知ってんだぜってか?
0074nobodyさん2012/04/26(木) 11:15:28.74ID:???
速くなるかもしれないとか要らない
0075nobodyさん2012/04/26(木) 11:45:53.62ID:???
PHPのエンジンって言葉をよくわからないで使ってるんだろうというのはよくわかるな・・・
0076nobodyさん2012/04/26(木) 12:44:40.91ID:???
何言ってるのこの人
0077nobodyさん2012/04/26(木) 12:51:16.28ID:???
どうせPHPのソースも読んだことないんだろ
0078nobodyさん2012/04/26(木) 13:28:41.98ID:???
ほんとアホばっか
PHPは十分に早い
エンジン?F1レベルですよ
なんで遅いのかってのは前スレを舐めるように読んでこい
0079nobodyさん2012/04/26(木) 13:55:01.24ID:???
PHPはポンコツのがらくたを寄せ集めたもの
0080nobodyさん2012/04/26(木) 23:13:31.51ID:???
>>78

PHPは十分に遅い。

http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php
0081nobodyさん2012/04/26(木) 23:33:54.16ID:???
インタプリタレベルでは十分早いってことだろ。
コンパイラと比べる事自体がナンセンス。
PHPの遅さを否定するならインタプリタを否定してるようなもの。
0082nobodyさん2012/04/26(木) 23:34:43.73ID:???
PHP2年ぐらいいじってるけどわからないので教えて
あるクラス内から、別のクラスのメソッド(static宣言なし)をaaaaaa::bbbbbb()みたいに呼んだんだけど
その関数内でうっかり$thisを使ってたらエラーにならずに呼び出したクラスの$thisが参照された
この辺のルールがどこに書いてあるか教えて、シチュエーションが特殊でぐぐりにくい
0083nobodyさん2012/04/26(木) 23:35:31.78ID:???
>>82
>>1
0084nobodyさん2012/04/26(木) 23:35:46.91ID:eeqju4po
あれ、ageてもID出ないのか
0085nobodyさん2012/04/26(木) 23:44:21.32ID:???
>>82
バージョンは?俺の環境ではそんなことは起きないけどな。
それと再現できるコード出してみて。
0086nobodyさん2012/04/26(木) 23:50:59.96ID:???
>>78
2行目と4行目がムジュンしてる
さらに2行目に誤字
0087nobodyさん2012/04/26(木) 23:59:48.06ID:eeqju4po
>>85
やはりおかしいのか?バージョンは
PHP5.2.17,CentOS
ソースはCakePHPの一部で、別ファイルのコンポーネントのメソッドを呼び出した
再現コード出せるかどうかやってみるか
0088nobodyさん2012/04/27(金) 00:05:00.57ID:???
>>82
ここにちょうど同じ例がある
http://www.php.net/manual/ja/language.oop5.basic.php
0089nobodyさん2012/04/27(金) 00:07:47.09ID:???
class Parent{
public function hoge(){ echo 'Parent.';
}
0090nobodyさん2012/04/27(金) 00:15:31.52ID:???
>>88
d
そういうもんなのね
0091nobodyさん2012/04/27(金) 00:16:17.17ID:???
途中送信してしまった

class ParentClass{
public function hoge(){ echo $this->name; }
}

class ChildClass extends ParentClass{
public function hoge(){ parent::hoge(); }
}

$obj = new ChildClass();
$obj->name = 'Child';
$obj->hoge();

というコードではもちろん適切に$thisが参照できる
これと同じルールに則っていると考えると納得な気がする
0092nobodyさん2012/04/28(土) 13:38:55.56ID:???
CakePHPのスレってなくなったの?
オワコンだと思ってはいたが
0093nobodyさん2012/04/28(土) 14:10:19.78ID:XqsT9G5d
phpでsqlite 3を使おうと思うのですが、使えません。

php.iniに
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
extension=php_sqlite3.dll
と記述し、ファイルも正しいパスにあります。
その状態でphpを実行すると
---------------------------
php.exe - エントリ ポイントが見つかりません
プロシージャ エントリ ポイント php_checkuid がダイナミック リンク ライブラリ php5ts.dll から見つかりませんでした。
---------------------------
Warning
PHP Startup: Unable to load dynamic library './ext\php_sqlite.dll' - 指定されたプロシージャが見つかりません。


と、エラーが表示されてしまいます。
php5ts.dllはphp.exeと同じフォルダに存在しますし
php_sqlite.dllも./ext/に存在します。
phpinfo();すると、
PDO drivers sqlite
SQLite Library 3.7.7.1
と、(エラーは表示されますが)読み込まれていそうな感じなのですが
$db=sqlite_open("./database");というサンプルコードを書いてみると
Fatal error: Call to undefined function sqlite_open() in C:\test.php on line 2
と、エラーが出てしまいます。

ヘルプには http://php.net/manual/ja/sqlite.installation.php
php_pdo.dllが必要と書いてあるのですが、php_pdo.dllのバイナリは公式に提供されているのでしょうか?

OSはwindows7、PHPはVersion 5.4.1です。よろしくお願いします。
0094nobodyさん2012/04/28(土) 15:17:34.02ID:A+JOkbkh
2chのまとめツールを作ろうと思っているのですが、
どうしてもわからない点があります

【処理の手順】
1.datファイル読み込み、エンコード
2.各レスを explode で一行ごとに分割 $resに代入
3.レスは、名前<>日付 メール<>ID<>本文 のようになっているので
これまたexplodeで分割 ${"res".$i}に代入
4.${"res".$i}を順番に表示

とさせているのですが、ここでアンカー付きのレスを
そのアンカー先直下に表示したいのですが、どのような処理にしていいのやらわかりません。

どなたか良い方法が分かる方いますか
0095nobodyさん2012/04/28(土) 15:24:15.72ID:???
>そのアンカー先直下に表示したい
アンカーミスもあるし文章の先頭にあるとも限らないし
>>1-1000とか複数人にやってる場合もあるし
ようするに完璧なものは無理だから条件を自分で決めるしかないのでは
0096nobodyさん2012/04/28(土) 15:25:22.97ID:???
アンカー元とアンカー先の関係を考えて
その関係をPHPのデータ構造で表現する
そのデータを順に出力していく
0097nobodyさん2012/04/28(土) 15:36:37.06ID:A+JOkbkh
>>95
アンカーミスも文章の先頭にないものも含めて
直下に表示したいのです

preg_matchでアンカーレス番号を取得はできるのですが、
>>96さんの言うようなデータ構造がいまいち思い浮かびません……
0098nobodyさん2012/04/28(土) 15:58:25.58ID:???
PHP以前のアルゴリズムの問題
他の言語はやったことある?
0099nobodyさん2012/04/28(土) 16:06:27.05ID:???
>>98

テンプレ>>1
・ 他言語について言及しないこと(特にJavaは禁句)。PHPオンリーの回答者が不快になります。
0100nobodyさん2012/04/28(土) 16:36:50.21ID:A+JOkbkh
>>98
他の言語はないです
0101nobodyさん2012/04/28(土) 16:38:10.98ID:???
$response = array();
for($i=0; $i<1000; ++$i){
foreach(get_ancher($res[$i]) as $r){
$response[$r][] = $i;
}
}
0102nobodyさん2012/04/28(土) 16:45:23.67ID:???
>>93
php_sqlite.dllは5.4からPECLへ飛ばされた上にSQLite 2以前用だ
お前さんが使うのはこっち
http://www.php.net/manual/ja/intro.sqlite3.php
0103nobodyさん2012/04/28(土) 16:54:05.62ID:A+JOkbkh
>>101
ありがとうございます

本当に申し訳ございませんがもしよろしければ簡単な解説を書いてくださらないでしょうか
すみません。
0104nobodyさん2012/04/28(土) 17:13:37.24ID:???
>>103
本当に申し訳ないと思うなら少しは自分で考えてみたらどうだ
かけらも思ってないだろ
0105nobodyさん2012/04/28(土) 17:17:15.14ID:A+JOkbkh
>>104
foreachのあとのget_ancher($res[$i])がいまいちわからないのです…
あとここと
$response[$r][] = $i;
0106nobodyさん2012/04/28(土) 17:29:38.61ID:???
だからPHP以前の問題なんよ
0107nobodyさん2012/04/28(土) 17:40:31.71ID:???
アンカーはanchorだからな
0108nobodyさん2012/04/28(土) 17:46:40.17ID:???
ankaaだろ
0109nobodyさん2012/04/28(土) 18:33:04.95ID:???
>>99=>>1
お前が勝手にテンプレにいれたんだろ
■ このスレッドは過去ログ倉庫に格納されています