【PHP】下らねぇ質問はID出して書き込みやがれ 97
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/07/23(金) 06:24:51ID:3G71fl8i過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
前
【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0376nobodyさん
2010/08/26(木) 13:26:14ID:???単にBCCであなたのアドレスに配信しているだけなんじゃないかと思うんだけど、
意味を取り違えてますかね?
互いに面識の無い相手に一斉に配信する場合、BCCに各メールアドレスを入れて、
TOにも何か入れないといけないので自分自身を入れて一斉配信する、というのは
普通によく使う手段なのでそれかと。
0377nobodyさん
2010/08/26(木) 13:28:39ID:???> そしたら数日したら、私のメールアドレスを知る筈が無い管理人から
これはちょっとわからない。
マニアックな管理人がパケットをスニッフィングしてるとしても、
そんなことして手に入れたアドレスに公的なメールを配信することは
無いと思うので、既にあなたが管理人にアドレスを教えていたのでは
無いでしょうか。もしくはあなたの家族とか。
0378nobodyさん
2010/08/26(木) 14:13:22ID:???私のメールアドレスをマンションの管理人が知らず、
また、受信したメールアドレスの宛先は送信元と同じにも
関わらず私のWindowsメールへメールが届いていたので不思議なのです。
【届いたメールの形式】
宛先 : mansion_kanrinin@hudousan.co.jp
送信元 : mansion_kanrinin@hudousan.co.jp
【これなら理解出来る形式】
宛先 : my_mail_address@my.home.co.jp
送信元 : mansion_kanrinin@hudousan.co.jp
うーん、BCCどうたらというでちょっと気になった事がありますが、
もしかしたらマンションに入居した頃にメールアドレスを書いたかも・・・
0380nobodyさん
2010/08/26(木) 14:17:41ID:???貴方でも可能です。 さてスレ違いなのでこの辺で
0381nobodyさん
2010/08/26(木) 15:11:32ID:???どういう風にすればできますか?
>あて先欄に表示されるのがそれでも貴方に送ることは出来ます。
最後にこれだけお教え下さい。
0382nobodyさん
2010/08/26(木) 15:16:16ID:???だから使ってるメールソフトのスレっぽい所で聞いてください
0383nobodyさん
2010/08/26(木) 15:17:28ID:???>>376さんが言ってるようにBCC。
BCCのやり方はメーラー次第。
BCCすら知らないのなら、こっちいったほうがいい
http://hibari.2ch.net/pcqa/
0384nobodyさん
2010/08/26(木) 15:41:19ID:8YbqyEw3って意味ならBCCでは無理じゃね?
入居者に貸与されるメールアドレスでPOPサーバーの運用も管理会社が行っているなら可能
0385nobodyさん
2010/08/26(木) 15:51:42ID:???To : マンション管理人のメアド
From : マンション管理人のメアド
BCC : マンション住民の人達のメアド(>>375氏のメアド含む)
って事だと思うよ
で、>>380-381は 単にToに表示されてないメアドへメール送信という
意味だと思うのでBCCでいいかと
何にせよスレ違いだな。
0387nobodyさん
2010/08/26(木) 16:24:00ID:ldK5AnTQPHPUNITを使っているのですが、依存関係のオブジェクトのテストハーネスが書けません。
class A{
public function hoge(){
$obj=new B();
$value=$obj->fuga();
//$valueに対するなんらかの処理
return $value;
}
}
みたいなコードの時に、オブジェクトBのモックを用意して、
Aに対してテストしたいのですが、オブジェクトA側でコンストラクタや、
メソッドからオブジェクトBのインスタンスを受け取っていないので、
モックオブジェクトに入れ替えできません。
どうやって書くのが普通なんでしょうか?
0388nobodyさん
2010/08/26(木) 16:58:59ID:T8D7cHt2どうかをチェックする関数を作りました。
そして、次の様に2回連続してそのfunctionをコールしたところ
2回目でなぜかエラーが発生してしまいます。
どうすれば連続実行してもこの様なエラーが出なくなりますでしょうか?
<< コード >>
$p_val = "aaa";
$i = TestClass::CheckIsExists($p_val); // ← 成功
$p_val = "bbb";
$i = TestClass::CheckIsExists($p_val); // ← 失敗(※)
static public function CheckIsExists( $p_val )
{
//〜略〜
//※SELECT 〜 を実行してレコードが存在するかどうかのチェック処理
$mdb2->commit();
$mdb2->disconnect();
}
<< エラーメッセージ >>
※Call to a member function prepare() on a non-object
0389nobodyさん
2010/08/26(木) 17:09:09ID:s6AS28G2redirect($url);
でリダイレクトできるけど、
php5.2.5ではできない?
0390nobodyさん
2010/08/26(木) 17:10:14ID:???0391nobodyさん
2010/08/26(木) 17:16:00ID:T8D7cHt2略にはちゃんと DB接続 ⇒ クエリの発行 というお決まりコードを入れてます。
調べてみたところ どうも2回目の実行時に $mdb2 が Invalid expression になっていました。
0392nobodyさん
2010/08/26(木) 17:42:07ID:???レベルで接続して使い捨てってのはあまり感心しないな。規模が小さい
それでも動くけどね。
0393391
2010/08/26(木) 18:14:42ID:T8D7cHt2どうも DB接続部分を外出しにしているのですが ( db_con.php )
2回目の関数のコール時にこの部分が読み込まれない事が原因の様です。
static public function CheckIsExists( $p_val )
{
//DB接続用外部スクリプトの読込み
include_once ( "db_con.php "); // ←2回目の関数のコール時にこの中が読み込まれない
// 〜 略 〜
}
外部ファイルを連続で読み込もうと
include_once では無く、 include を指定すると cannnot redeclare エラーが出てしまうのですが
このエラーを出さない様にして、外部スクリプトを連続で読み込むにはどうすれば良いでしょうか?
0394nobodyさん
2010/08/26(木) 18:26:39ID:???0395nobodyさん
2010/08/26(木) 18:29:34ID:i8uPcobC可読性をあげるためだけに処理を一部関数化して外出ししてしまう、
ということを考えているのですが、可読性をあげるためだけに関数化、
外部ファイル化をおこなうというのは普通にあることなのでしょうか?
そのへん、他人のソースを見たことが無いのでよくわからなくて・・・。
0396nobodyさん
2010/08/26(木) 18:29:46ID:T8D7cHt2作りは悪いかもしれませんが
どうしても目前のこれを何とか解決したいです。
どうすれば、
同一の外部スクリプトを連続してコールすることが出来る様になりますか?
0397nobodyさん
2010/08/26(木) 18:34:03ID:???多分インクルードしてるファイルで関数かクラス定義してるんで、2回読み込まれると
グローバルで関数を2回定義するんで エラーになるから、複数回読んじゃだめ。
include_once ( "db_con.php "); そのクラスの外にだしても動くんじゃね?
全部見ないとちゃんと回答出来んけど。
0398nobodyさん
2010/08/26(木) 18:42:46ID:???0399nobodyさん
2010/08/26(木) 18:46:01ID:???0400nobodyさん
2010/08/26(木) 18:47:44ID:8YbqyEw3include_once は外部ファイルを読み込もうとした際にすでに読み込まれていたら再読込はしない
include だと同じ関数を再度定義しようとするから既に存在しているからエラーとなる
>>395
ファイルが長くなるのが嫌だとかで考えていたら>>391みたいな事になったりする
0401nobodyさん
2010/08/26(木) 18:50:22ID:T8D7cHt2外出しにしてる db_con.php の中身なんですが、
実行環境が
ローカル(Windows)
サーバ(Linux)
となっており、ローカルとサーバとでDB接続文字列等が異なる為に
db_con.php の中で、いずれの環境で実行されているかを判定し、
DB接続文字列を生成した上でDB接続を行う様にしています。
外出にしている部分を関数の中に直接記述したところ問題無く
functionの連続実行をする事が出来ました。
これまでは、DB接続文字列をサーバへアップロードする場合に書換えていたのですが、
毎度アップロードする際に修正するのは大変なのでスクリプト内で分岐させる様に変更しました。
0402nobodyさん
2010/08/26(木) 18:50:42ID:???の両方が含まれていて、何かの定義をしているところは2回読み込むとエラー
になるのだが、db接続は毎回行いたいという、あちらを立てればこちらが立たず
な状況と見た。
あまりに作りが悪すぎるので全部捨てて作り直したほうがいいと思うが
どうしてもというならその2つを分離して別ファイルにすればなんとかなる
んじゃないかな。汚いけど。
0403nobodyさん
2010/08/26(木) 18:52:05ID:???0404nobodyさん
2010/08/26(木) 19:01:58ID:???というURLなら、$_GET['var']で取得出来ますが、
http://mypage.com?aaaaa
のようなURLから、aaaaaの部分を取得する術はありますか?
0405nobodyさん
2010/08/26(木) 19:10:25ID:???ならできるけど
0406nobodyさん
2010/08/26(木) 19:13:11ID:???同じか
$p = explode('/', $_SERVER['PATH_INFO']);
$p[1] に aaaaa って入ってると思う
0407nobodyさん
2010/08/26(木) 19:15:13ID:???$_SERVER['QUERY_STRING'] に aaaaaaa って入ってる
0409404
2010/08/26(木) 19:19:38ID:???QUERY_STRINGってのもあるんですね。
ありがとうございます。
0410nobodyさん
2010/08/27(金) 16:45:01ID:1VS1YiRM0411nobodyさん
2010/08/27(金) 16:56:03ID:???0412nobodyさん
2010/08/27(金) 16:58:36ID:1VS1YiRM分かってますよ^^
もしかして、Smartyしか知らないんですか?
0413nobodyさん
2010/08/27(金) 17:06:24ID:???Twig
Smartyの何が気にくわないのか(それとも単にSmarty以外が知りたいだけなのか)
を書くとレスがつきやすいかもしれない
あとSmarty3で結構変わってるみたいだからsmarty2使ってるなら3も試した方がいいかも。
0414nobodyさん
2010/08/27(金) 17:12:22ID:???Smartyってこれ流行ってるのか?
これ使うと何か素人がソース見た時に「PGのレベル低!誰でもできそう」
とか思われそうなので出来る限り使いたくない。
0417nobodyさん
2010/08/27(金) 17:32:00ID:???0418nobodyさん
2010/08/27(金) 17:33:11ID:???玄人「プッ」
0419nobodyさん
2010/08/27(金) 17:37:58ID:???素人にどう思われようが良いだろうがw
仕事だとPHP(Smarty/Zend Framework)というのは昔からよく見る
>>417
逆にフレームワーク使ってると、さらにsmartyまで使うのは面倒ってならないか?
viewは素のPHPの場合が多いよ俺は
0420nobodyさん
2010/08/27(金) 17:42:10ID:???0421nobodyさん
2010/08/27(金) 17:42:43ID:???・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0422nobodyさん
2010/08/27(金) 17:43:21ID:???他人が「見る気もしない」ソースにしとくと色々安全なのさ。
勿論社内で使う奴だけだけど。
俺が辞めた後に入った奴は悲惨だと思う。
勿論コメントも全部消してある。
0423nobodyさん
2010/08/27(金) 17:58:38ID:???0425nobodyさん
2010/08/27(金) 18:01:23ID:???0426nobodyさん
2010/08/27(金) 18:06:53ID:???出来る限りそういうの消えるようにしてるな
0427nobodyさん
2010/08/27(金) 18:18:15ID:???0428nobodyさん
2010/08/27(金) 18:20:57ID:???0429nobodyさん
2010/08/27(金) 18:46:13ID:mDlhgxIhフルHDモニタで開発していればさほど問題は無いが、モバイルPCで開発やってる
時なんかは死ねる。
これってもしかしてテキストエディタで書いてるから悪い、とかそういう問題かな?
いや、そもそもEclipseとかPHPプラグインがどれほど便利なのかとか、使ったこと
無いから全然知らないんだが。
0430nobodyさん
2010/08/27(金) 18:54:20ID:???* ディレクトリ構成がプログラマの名前
* 関数の頭にプログラマの名前が付く
* バージョン管理システムを使わないまたはVisual SourceSafe
* コミットは朝しろ,帰る前にするなと言う
* 手動でビルドテストしなければならない
* オレオレコンテナしか信じない
* ハッシュは遅いから使うべきでないと言う
* 「よくわからんから」多重継承は禁止すべきとか言う
* 正規表現を使うよりCで書いたほうが速いと言う
* クラスがわからないのでクラスを使ってくれない
* 1つのソースコードが10,000行でも気にしない
http://gihyo.jp/dev/clip/01/orangenews/vol58/0007
0432nobodyさん
2010/08/27(金) 18:57:32ID:???自分のphpソースを確認してみたけど、横長で死ねるようなとこは見当たらなかった。
横900pxぐらいの領域だけど、ほとんどが700〜800ぐらいに収まってたよ。
0433nobodyさん
2010/08/27(金) 19:04:18ID:???きっといろいろ問題が見つかるのではあるまいか
個人的にはこの書き方が嫌いで
$untarakantara = array(1,
/*ここのインデントをタブやらスペースやらで調整*/ 2,
/*ここのインデントをタブやらスペースやらで調整*/ 3);
この書き方をオススメしたい
$untarakantara = array(/*ここで改行*/
/*タブひとつ*/ 1,
/*タブひとつ*/ 2,
/*タブひとつ*/ 3,
);
0434nobodyさん
2010/08/27(金) 19:04:20ID:???可読性のためにZendとか大抵のコーディング規約で80文字を目安に改行するようになっている
これはシェルの文字数が横80文字だった名残。
テキストエディタでも80文字で改行される設定になってることが多いのはそのため。
要はコーディング規約の通りに書いていけば見やすいコードになる
0435nobodyさん
2010/08/27(金) 19:41:54ID:???人力整形は時間の無駄。
0436nobodyさん
2010/08/27(金) 19:48:28ID:???0437nobodyさん
2010/08/27(金) 20:46:43ID:???0438nobodyさん
2010/08/27(金) 22:01:47ID:???0439nobodyさん
2010/08/28(土) 13:30:13ID:???記事には、タイトル、投稿者、本文、投稿日時の属性があります。
投稿日時順に並び替えることはSQL文で出来るのですが、
全ての記事のタイトルと本文を走査して全文検索する
機能をどうやって作ればいいのか分かりません。
これはSQLiteのSQL文だけでは無理なのでしょうか?
PHPのライブラリなどが必要になりますか?
一般的にはどのように実現するものなのか、教えてください。
宜しくお願いします。
0440439
2010/08/28(土) 13:30:58ID:l4dMcbQQ0444nobodyさん
2010/08/28(土) 15:26:05ID:???これからどこを正規化したら検索できるようになるんだよ
0445nobodyさん
2010/08/28(土) 15:31:42ID:wQv57lt/http://www.namazu.org/index.html.ja
ただ組み替えないと行けないからめんどくさいだろうけど
0446nobodyさん
2010/08/28(土) 15:45:15ID:???多分正規化という言葉を最近知って使いたいだけなんだろうけど
意味も理解して本当に正規化が必要かどうか判断してから言おうな
0448nobodyさん
2010/08/28(土) 15:53:37ID:???下らねぇ喧嘩スレじゃねーぞカスども
0449nobodyさん
2010/08/28(土) 19:25:42ID:???>>439の項目を見たら正規化って言葉は普通出てこないな
全文検索でSQLのLIKEを使うとINDEXが効かなくて全レコードを舐める事になるから遅くなる
仕様を見て予め後々の事を考える必要はあるかも知れんけどね
0450nobodyさん
2010/08/28(土) 20:07:53ID:????
0451nobodyさん
2010/08/28(土) 20:25:40ID:???まぁ正直な話し>>439がどういう物を想定してるのか
解らない限り正規化含め何が最適解かなんてわからんな
どちらにせよそのテーブルで
正規化する必要性が本のちょっとでもある場所なんて
投稿者名ぐらいしか無いし。それを分けた所で
アプリとしての実行速度が遅くなってはあれだしなw
0452Perl忍者 ◆M5ZWRnXOj6
2010/08/28(土) 20:32:58ID:kvWFLXrw∠ ̄\∩
|/゚U゚Lノ PHPをやる理由はなんですか
〜( ニ⊃
( 丶/
ノ>ノ
UU
0453nobodyさん
2010/08/28(土) 20:36:18ID:???0454Perl忍者 ◆M5ZWRnXOj6
2010/08/28(土) 20:37:46ID:kvWFLXrw∠ ̄\∩
|/゚U゚Lノ てめえが立てろカス
〜( ニ⊃
( 丶/
ノ>ノ
UU
0455nobodyさん
2010/08/28(土) 20:45:14ID:???LIKEで先頭一致の場合はINDEXが使われるが部分一致を使う場合INDEXを定義していても総当りするエンジンが多い
SQLLiteの場合は全文検索のモジュールがあるみたいだから良いかもしれんが
0456nobodyさん
2010/08/28(土) 22:46:12ID:???「SQLite 全文検索」でぐぐってみたら、SQLiteにも全文検索の機能が
あるみたいじゃん。
まあ、和文でやろうと思ったら、SQLiteに備わってるそのままだけじゃなく、
N-gram化か形態素解析との組み合わせになるみたいだけど。
0457nobodyさん
2010/08/28(土) 23:10:43ID:???0458nobodyさん
2010/08/29(日) 01:25:10ID:???0459nobodyさん
2010/08/29(日) 01:33:27ID:???0460459
2010/08/29(日) 01:41:13ID:???0461nobodyさん
2010/08/29(日) 09:43:53ID:???0463nobodyさん
2010/08/29(日) 13:54:07ID:???50%はemacs系
40%はvim系
5%はxyzzy
5%はその他
みたいな感じ
0464nobodyさん
2010/08/29(日) 14:20:54ID:???vimの機動性は素晴らしい。
メールとか原稿書くときはEmacs
0465nobodyさん
2010/08/29(日) 18:48:58ID:istLGNW8ってどうすれば直るんでしょうか?
php.iniのoutput_bufferingをOnにしても直りません。
0466nobodyさん
2010/08/29(日) 20:53:19ID:???◆質問する時の注意
・ 己の行った操作、変更などを詳しく明記すること。
0467nobodyさん
2010/08/30(月) 08:36:22ID:???array('abc'=>array('a'=>'orz', 'b'=>'orz=');
みたいな方法でコンフィグを書く事があるのですが
これって一般的にはどうやって値を取り出してるのでしょうか?
0468nobodyさん
2010/08/30(月) 10:21:00ID:???0469nobodyさん
2010/08/30(月) 10:52:17ID:???としたら
$hoge['abc']['a']
$hoge['abc']['b']
でしょ
0471nobodyさん
2010/08/30(月) 11:30:22ID:???0472nobodyさん
2010/08/30(月) 11:32:56ID:???パースする処理を自分で書いてもよし。 というような方向の回答がご希望?
0473nobodyさん
2010/08/30(月) 11:34:35ID:???あとID出して無い質問にマジメに答える事は無い
0474nobodyさん
2010/08/30(月) 11:55:04ID:???気になるなら色んなFWのconfig関連の所みてみれ
0475nobodyさん
2010/08/30(月) 12:49:52ID:njG8UTwtfunction urltest($text)
{
$url = ここら辺がうまいこといかない。1行下もだめかも?
$link = "<A Href=\"$url\">http://などを除いたURL</A>";
$newtext = str_replace('$url', '$link', $text);
return($newtext);
}
?>
http:// や ftp:// 、メールアドレスを置換させようとすると
全く置換してくれないですorz
最終的には、行始めがhttp://で始まらないURLもリンクさせたいです。
例としてhttp://www.2ch.net/というような感じのURL
■ このスレッドは過去ログ倉庫に格納されています