【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等)・フレームワークは各該当スレへ
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
0476nobodyさん
2010/08/30(月) 13:04:26ID:???そりゃー変数をシングルクォートでくくったらダメだろう。
0477nobodyさん
2010/08/30(月) 13:21:49ID:???$res = preg_replace('/(https?|ftp)(:\/\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+))/',"<a href=\"$0\">$3</a>",$text);
こんな感じで
0478nobodyさん
2010/08/30(月) 14:51:25ID:yNaLEgznあ、やってしまったぽいorz
>>477
http:// から始まるURLにはマッチするけど
www.google.com
photo.google.com
こういうURLには、マッチしないよね・・・orz
0479nobodyさん
2010/08/30(月) 14:59:24ID:???0481nobodyさん
2010/08/30(月) 15:37:40ID:yNaLEgznhttp://<a href="www.google.co.jp" rel="nofollow">www.google.co.jp</a>
<a href="www.google.com" rel="nofollow">www.google.com</a>
hoge@<a href="hogehoge.com" rel="nofollow">hogehoge.com</a>
メールも置換するの?
俺の技術だと無理だわorz
0482nobodyさん
2010/08/30(月) 15:48:50ID:???0483nobodyさん
2010/08/30(月) 17:50:00ID:VlaMGgSYfunction 関数名(ここって何??) {
実装したい処理
}
?>
() の中っていまいちわからないのですが
$abc って書けば、$abcの値のデータ以外は処理しないってことでしょうか?
独学でPHP学んでたら早速躓きましたorz
0484nobodyさん
2010/08/30(月) 17:59:41ID:???0485nobodyさん
2010/08/30(月) 18:05:32ID:???そのfunctionに渡したい値(引数)
この程度で質問にくるようだとキリがないよ
何か本買った方がいいんじゃない?
0486nobodyさん
2010/08/30(月) 18:13:57ID:???http://jp.php.net/manual/ja/index.php
0487nobodyさん
2010/08/30(月) 18:56:15ID:H9RFX+D7結果によってメッセージ等を表示させたり処理を分岐したいのですが・・・。
0488nobodyさん
2010/08/30(月) 18:59:28ID:???0489nobodyさん
2010/08/30(月) 19:13:35ID:???DBの接続は何を使ってる?
PDOならこんな感じ
try{
// クエリを発行
} catch (PDOException $e){
// エラー処理
}
0490nobodyさん
2010/08/31(火) 00:42:22ID:???JavaScriptみたいにブロックがスコープ持たないんですよね?
0491nobodyさん
2010/08/31(火) 06:30:13ID:???{
$extensions = 'com|org|net|gov|edu|mil|us|info|biz|ws|name|mobi|cc|tv|jp';
$patterns = array(
'#([\s{}\(\)\[\]])(([a-z]+?)://([a-z_0-9\-]+\.([^\s{}\(\)\[\]]+[^\s,\.\;{}\(\)\[\]])))#ie',
"#([\s{}\(\)\[\]])([a-z0-9\-\.]+[a-z0-9\-])\.($extensions)((?:/[^\s{}\(\)\[\]]*[^\.,\s{}\(\)\[\]]?)?)#ie"
);
$replacements = array(
"'$1<a href=\"$2\" title=\"$2\">' . 'Link' . '</a>'",
"'$1<a href=\"http://$2.$3$4\" title=\"http://$2.$3$4\">' . 'Link' . '</a>'"
$text = preg_replace($patterns, $replacements, $text); <------ この行でエラー出る。何かおかしいですか?
return($text);
}
0492nobodyさん
2010/08/31(火) 07:33:13ID:???の閉じカッコ
0493nobodyさん
2010/08/31(火) 08:16:28ID:???((https?|ftp)\:\/\/)?([\w-]+\.)+([\w-]+)(\:[\d]+)?([\w\.\*\/\:%,!#~@&=-]+)?
これでURLはマッチすると思う
0494nobodyさん
2010/08/31(火) 08:49:22ID:???PDOだとsetAttributeで設定するPDO::ATTR_ERRMODE属性の値で
エラー時の動作が違うよ。詳しくはマニュアル嫁
0495nobodyさん
2010/08/31(火) 10:08:13ID:mnh9hvQe自前で作ったクラスを、配列であるかのように扱いたいのですが、ちょっと困っています。
ArrayAccess インターフェイスなどを使って、とりあえず一通り実装してみたのですが
array_mergeのような「配列操作関数」に渡すと、お前配列じゃないよねと関数が失敗してしまいます。
私の実装の仕方がまずいのかなと思い、標準のArrayObjectでも試してみたのですが、
array_mergeはArrayObjectも受け付けてくれませんでした
配列操作関数もうけつけてくれる、配列であるかのようなクラスを作るにはどうしたらよいでしょうか?
0496nobodyさん
2010/08/31(火) 10:48:36ID:???0497nobodyさん
2010/08/31(火) 10:50:56ID:???質問の書き方から、初心者と察したので
そういうのまで書くと余計に混乱すると思ったんだが
言葉足らずだったか、補足thx
■ このスレッドは過去ログ倉庫に格納されています