[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 09/30 09:25 / Filesize : 222 KB / Number-of Response : 918
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

[PHP][フレームワーク]CodeIgniterスレ



1 名前:nobodyさん mailto:sage [2007/04/27(金) 23:17:16 ID:???]
公式:www.codeigniter.com/
チュートリアル:codeigniter.com/tutorials/

ユーザガイド日本語訳:ci-user-guide-ja.nought-point-999.net/

小回りの利くフレームワークの話題をひとつ!

708 名前:nobodyさん [2009/10/23(金) 22:37:02 ID:4v117FRK]
質問があります。

DBに入っている画像データのバイナリから、
ファイルを介さず直接サムネールを生成する方法はないでしょうか。

画像そのものを出力したり、ファイルやURLからサムネールを
生成する方法はあちらこちらに書いてあるのですが、
バイナリを直接GDに食わせる方法の記述を見つけられません。

Perlでは簡単にできるのに、PHPではできないということなのでしょうか。

709 名前:nobodyさん mailto:sage [2009/10/24(土) 00:37:23 ID:???]
>>708
imagecreatefromstringはどう?

710 名前:nobodyさん mailto:sage [2009/10/24(土) 10:26:53 ID:???]
日本CodeIgniterユーザ会にある
「日本語言語パック」というパッチのような物をあてないと
ちゃんと使えないんですかね?

今利用を検討しているんですが、できるならパッチをあてないで利用したいんですが。。。

711 名前:nobodyさん mailto:sage [2009/10/24(土) 18:08:33 ID:???]
パッチ当てなければいいと思うよ

712 名前:nobodyさん mailto:sage [2009/10/24(土) 20:38:49 ID:???]
>>711
パッチを当てない場合、日本語のサイトを作る時どんな問題がありますか?


713 名前:nobodyさん mailto:sage [2009/10/24(土) 20:48:02 ID:???]
やってみたらええねん

714 名前:nobodyさん mailto:sage [2009/10/24(土) 20:50:41 ID:???]
うむおれKohanaに移行済みでCIはうろ覚えだがメール関係にパッチされてたよーな気がする

715 名前:nobodyさん mailto:sage [2009/10/24(土) 22:15:23 ID:???]
>>714
と言う事はcodeigniter本家からの
ダウンロード版では日本語を正しくメールできないという事???

もしそうなら、本当にダサ 何だそれって感じだ。


716 名前:nobodyさん mailto:sage [2009/10/24(土) 22:25:43 ID:???]
むしろ日本語メール正しく送信できるフレームワークがあるのかと
どのフレームワークも件名化けたりする



717 名前:nobodyさん mailto:sage [2009/10/24(土) 22:31:08 ID:???]
>>716
UTF-8で送信してもかい?



718 名前:nobodyさん mailto:sage [2009/10/24(土) 22:38:00 ID:???]
全部UTF8にすればいいだけで可能だな

719 名前:nobodyさん [2009/10/24(土) 22:54:19 ID:TTN2cu8l]
>>709
できました。
ありがとうございました。

720 名前:nobodyさん [2009/10/24(土) 22:57:13 ID:TTN2cu8l]
>>709
補足です。
できたんですが、データベースドライバが余計なことして
バイナリをエスケープ文字列にエンコードしてたので、
デコードして渡してやる必要がありました。

721 名前:nobodyさん mailto:sage [2009/10/25(日) 12:12:30 ID:???]
CakePHPと比べた場合CodeIgniterが勝る所と劣る所を調査中です。
ご協力を。。。



722 名前:nobodyさん mailto:sage [2009/10/25(日) 13:42:05 ID:???]
使うお前が人に聞かないと違いがわからないのなら
どっち使ってもいいんじゃないの

723 名前:nobodyさん [2009/10/25(日) 13:43:14 ID:XqTgHkg+]
>>721
> CakePHPと比べた場合CodeIgniterが

勝る所

速度
柔軟性
最小限の知識で開発を開始できる


劣る所

無理やり規則に従わせることができない。

724 名前:nobodyさん mailto:sage [2009/10/25(日) 13:51:58 ID:???]
>722
道が分からない時は人に聞くのが一番良いだろう

725 名前:nobodyさん mailto:sage [2009/10/25(日) 14:06:37 ID:???]
開発者なら自分で調べる力がないと駄目なんじゃないの?
道順は目的地にたどり着くこと自体が目的だろうけど、
違いを調べるってのは仕組みを理解すること自体が目的なんだし。

726 名前:nobodyさん mailto:sage [2009/10/25(日) 14:45:13 ID:???]
>>712
言語パック入れないと、CIのDBクラスのエラーメッセージ、Form_Validationのエラーメッセージ等が英語のままに
なる。CIのDBクラスを使わない(PearとかPDOとかO/Rマッパーを使う等)・Form_Validationを使わないなら言語パック
は全く関係ないはず。
というか、O/Rマッパー使い+Validationは自前クラス使用の私は言語パック入れずに使ってます。特に困ったことなし。

>>715
メールはそもそも言語パック入れても解決しなくない?

コントローラ内でmb_send_mail関数を使うか、mail関数をラップする自作ヘルパでも入れれば大丈夫。
application/librariesにphpmailerとか自作のメールクラスとか入れて使ってもいいし。
ちなみにPHPではCIの前にsymfonyとcakeを使ったことがあるけど、どちらも日本語メールはデフォルトの
メールの送り方では文字化けした。国産フレームワークじゃない限り期待しない方が良い。



727 名前:nobodyさん mailto:sage [2009/10/25(日) 15:29:15 ID:???]
>>726
多分その言語パック(パッチ)内でmailがmb_send_mailに変更になってたり
dateがstrfdateになってたりしてるんじゃ?

まあ自分で対処しても同じのはそのとおりだが

728 名前:nobodyさん mailto:sage [2009/10/25(日) 15:30:41 ID:???]
つかソースみろよって話だw

729 名前:nobodyさん [2009/10/25(日) 20:00:58 ID:XqTgHkg+]
ciを使ったdbアクセスについて質問です。
ランダムなレコードを得ようとして下記を実行すると
得られるレコードが毎回一定になってしまいます。

$this->db->query("select * from mytable order by random limit 1");


psqlのコマンドラインから直接sqlを打つとランダムな結果になります。
一回ごとにpsqlを抜けてもきちんと各回ごとにランダムになります。


ci経由でランダムにならないのがどういう理由かわからずに困っています。
ご教授ください。

730 名前:nobodyさん mailto:sage [2009/10/25(日) 21:00:58 ID:???]
>>729
DBの設定ファイルでcache_onがtrueからかも。まぁ試してないけど。

731 名前:nobodyさん mailto:sage [2009/10/26(月) 01:08:16 ID:???]
CodeIgniterで、テンプレートの一部分だけをキャッシュすることはできますか。
またもしできたとして、その一部分を表示するときにだけ必要なデータはどのように渡しますか。
つまり
<!-- ここからキャッシュ する-->?x2028;<?php foreach ($list as $x) { ?>
<p><?php echo $x; ?></p>
<?php } ?>?x2028;<!-- ここまで -->
というテンプレートの場合、表示するときには$listが必要ですが、キャッシュが効いているときは
$listは必要ないので、こういうときは$listを用意したくないんですけど、そんなややこしいことはできるでしょうか。

?x2028;

732 名前:nobodyさん [2009/10/26(月) 22:20:23 ID:8gDLhYd4]
>>730
ビンゴ!でした。
デフォルト設定のままにしてたので全く考えもしませんでした。
たすかりました。ありがとうございます。

733 名前:nobodyさん mailto:sage [2009/10/26(月) 23:34:34 ID:???]
>>731
出来ない、と思う
なので、おれは自作でコントローラ内で
キャッシュチェックして、必要があればHTML生成、なければキャッシュからって感じでやってる。


734 名前:nobodyさん [2009/10/27(火) 15:19:56 ID:NhIspLrL]
ARでPostgreSQLの配列に対する演算はできないのでしょうか.
具体的には↓こんな操作をしたいのですが,

SELECT * FROM mytable WHERE '{abc}' && hairetsu;

次の文ではうまくゆかないようです.

$this->db->get_where('mytable', array("'{abc}' &&", "hairetsu" ));

また,これに相当するようなARメソッドはマニュアルには書かれていないようです.


735 名前:nobodyさん mailto:sage [2009/10/27(火) 20:43:28 ID:???]
kohanaって言うのはどんなもんなんでしょうか?
日本語サイトを作るのに何か問題があるでしょうか?
codeigniterを使うか、kohanaを使うか迷っています。



736 名前:nobodyさん [2009/10/28(水) 09:57:15 ID:yVI01h7O]
>>734
自己解決しました。
get_whereでなく、単独のwhereを使えばよいようです。




737 名前:nobodyさん mailto:sage [2009/10/28(水) 10:31:55 ID:???]
>>735
kohanaいいよ。新しいだけあってかなり洗練されてる。
ただ3.0に関してはDocsが揃ってない。日本語に関しては全く問題なし。

738 名前:nobodyさん [2009/10/28(水) 13:37:17 ID:???]
kohanaはCIよりいいですか?

739 名前:nobodyさん [2009/10/29(木) 22:30:02 ID:9YMY5qNb]
皆さんは、テンプレートエンジンを使いますか?
使うとすればどんなのがいいのでしょう?
Ajaxはどうですか?

740 名前:nobodyさん mailto:sage [2009/10/29(木) 22:36:11 ID:???]
釣りだよね?
釣りだと言ってくれ

741 名前:nobodyさん [2009/10/29(木) 22:42:17 ID:9YMY5qNb]
書き方が悪かったようです。すみません。


テンプレートエンジンとAjaxライブラリはどんなのを使ってますか?
と書くべきでした。
SmartyとかPHPTALと組み合わせるというのは見つけたのですが
どんなもんなのかと思いまして。
Ajaxについてはあまりわかりませんでした。

742 名前:nobodyさん mailto:sage [2009/10/29(木) 22:55:25 ID:???]
テンプレートエンジンなんて今時あしかせにしかならんよ

743 名前:nobodyさん [2009/10/30(金) 00:30:08 ID:p/L2o0l6]
そーなんですか?
存在意義なし?

744 名前:nobodyさん mailto:sage [2009/10/30(金) 00:59:55 ID:???]
DreamWeaverとか今時はPHPとかJSPとかASPに対応してるし
どの言語にしたってテンプレートエンジンは流行ってないな

745 名前:nobodyさん [2009/10/30(金) 09:23:35 ID:p/L2o0l6]
CIと相性のいいAjax用のライブラリはないのですか?

746 名前:nobodyさん mailto:sage [2009/10/30(金) 10:23:31 ID:???]
客からの指示で、smarty必須ってなってる場合も多いんだよ。



747 名前:nobodyさん mailto:sage [2009/10/30(金) 10:25:30 ID:???]
自分で全部やれるなら楽だよな。
フレームワークが何だろうが、そんなの関係ないし。

748 名前:nobodyさん [2009/10/30(金) 11:44:13 ID:+JS8PV0u]
>>745
相性がいいかどうかわからんけど、Ajaxフレームワーク比較
ttp://journal.mycom.co.jp/news/2008/10/08/034/index.html

749 名前:nobodyさん mailto:sage [2009/10/30(金) 11:52:50 ID:???]
何がいいかの質問で、俺は客にテンプレート指定されてるとか答える意味が解らん

750 名前:746 mailto:sage [2009/10/30(金) 12:14:52 ID:???]
>>749
お前アホか?
>>742-744の流れに対するレスだよ。

751 名前:nobodyさん mailto:sage [2009/10/30(金) 12:27:07 ID:???]
smartyをAjaxライブラリに対する回答だと思うのはさすがに・・・

752 名前:nobodyさん mailto:sage [2009/10/30(金) 14:50:51 ID:???]
>>750
テンプレートエンジンを使うとすればどんなのがいいのでしょう?

使わないのがいいでしょう

客からの指示で、smarty必須ってなってる    ←意味不明
自分で全部やれるなら楽だよな         ←意味不明
(これから採用する人の話であってお前の客の話なんて知ったこっちゃない)

753 名前:nobodyさん mailto:sage [2009/10/30(金) 15:25:15 ID:???]
頭が悪いのがいるな。

754 名前:nobodyさん mailto:sage [2009/10/30(金) 15:27:02 ID:???]
わざわざ蒸し返すなや
誰が正当かなんてどうでもええねん

755 名前:nobodyさん [2009/10/30(金) 22:06:59 ID:p/L2o0l6]
要するにテンプレートエンジンは不要なのですね。

AjaxのほうはjQueryが軽量コンパクトを売りにしてて伸び盛りのようです。
同じく軽量コンパクトを売りにしてるCIとはベストマッチじゃないでしょうか。


756 名前:nobodyさん mailto:sage [2009/10/30(金) 22:11:18 ID:???]
必要かどうかは人それぞれだろ。



757 名前:nobodyさん mailto:sage [2009/10/30(金) 23:37:06 ID:???]
軽量コンパクトがいいのか高機能がいいのかも提示せずに
相性云々言われても困るんだけど
ぶっちゃけAjaxライブラリにとってはサーバサイドのアプリケションが
何で書かれてようが知ったこっちゃ無いんだし相性もクソも何もない


758 名前:nobodyさん mailto:sage [2009/10/31(土) 00:32:11 ID:???]
jQueryは軽量でもコンパクトでもない。
ありがちな操作を、最小のコード量で書く事に特化していて、かつ習得しやすいので普及率が高いだけ。
(そういう意味では、設計思想がPHPに近いのかもな、今思いついたが)
だから、jQueryに「できないこと」に手を出そうとすると非常に面倒になる。

それと、JavaScriptライブラリが軽量でコンパクトである事と、PHPフレームワークが軽量でコンパクトである事の関連性が良く分からない。
軽量フレームワークと軽量JSライブラリで、なんで「相性が良い」という結論になるんだ?
相性が悪いと言ってるわけじゃなく、単に論理展開、関係性が良く分からない。

つうか、ざっと簡単なアプリなり小物ライブラリでも作ってみりゃいいだろ。
机上の空論で初心者がライブラリの良し悪しを判別できるわけがない。

759 名前:nobodyさん mailto:1 [2009/10/31(土) 00:51:18 ID:???]
なんだか、ケチつけたいだけの輩が巣食ってるらしい。


760 名前:nobodyさん mailto:sage [2009/10/31(土) 01:07:41 ID:???]
そうだねjQueryがいいねとか嘘ついても仕方ないだろ
駄目なものは駄目と言うしかない

761 名前:nobodyさん mailto:sage [2009/10/31(土) 08:09:34 ID:???]
駄目なんて誰も書いてないだろ。
わけのわからん基準で良い悪いを決める話じゃないってことだろ?

あれだ、本質を理解した上で用途に合わせて判断しろっていう、
当たり前のことを行ってるだけだ。

762 名前:nobodyさん [2009/10/31(土) 09:42:56 ID:RCXnHmtW]
なるほど、jQueryはダメなのか。
どこがどうダメなんですか?


本質を理解した上で用途に合わせて判断ですか。
ご自身は本質を理解して判断されているのですね。すばらしい。
私には何が本質で何を基準に判断したらいいか皆目見当がつかないのですが
どんなところに注目すれば、本質を理解できるのでしょうか?
判断の基準は、例えばどんなところにおかれているのでしょうか?



763 名前:nobodyさん mailto:sage [2009/10/31(土) 09:55:01 ID:???]
>>762
>>758

764 名前:nobodyさん mailto:sage [2009/10/31(土) 10:41:20 ID:???]
jQueryでいいと思うよ。
というか、prototype.jsとの2択しか無い気がするが。
勉強するんだったら、このどっちかにしとくべき。
結局は、オープン系は何を使うにも主流どこに乗っとかないと
後々面倒だよ。スクラッチで作れるだけの力が無いのであれば。

765 名前:nobodyさん mailto:sage [2009/10/31(土) 13:52:37 ID:???]
で、GET使えるようになったの?


766 名前:nobodyさん [2009/10/31(土) 15:11:23 ID:RCXnHmtW]
>>764
参考になりました。
ありがとうございます。


>>765
jQueryはGET使えないの?

だとしてもCIはデフォルトでGETを使わないようになってるから
問題ないと思います。





767 名前:758 mailto:sage [2009/10/31(土) 17:33:58 ID:???]
>762
> どんなところに注目すれば、本質を理解できるのでしょうか?
何かができるものは、絶対に何かを犠牲にしている、という点。
俺の書き込みが「jQueryはダメ」に見えたのなら、それはお前の経験不足。俺はjQuery信者だからな。
あと、理解したいならガタガタ抜かさずコード書け。

protojsとjQueryは併用できるしどっちかを選ぶようなものじゃないが、単独で込み入ったものを作るならprotojsが圧倒的に強い。
ただし>758でも書いたように、8割方のケースではjQueryのほうが圧倒的に早く作れる。
つまりどっちが向いているかは、どこまでをJSで処理し、どこからをサーバーサイドで処理するかによる。

768 名前:nobodyさん mailto:sage [2009/10/31(土) 20:31:41 ID:???]
>>766

>>765はCIの話だろう

769 名前:nobodyさん [2009/10/31(土) 20:41:12 ID:RCXnHmtW]
>>767
よくわかりました。ありがとうございます。
八割方のケースでjQueryが早くできること、
込み入ったことはprotojsが向いていることがわかって助かりました。
まあ、GoogleがjQueryを採用しているらしいので、
できないことというのも相当特殊なものかもしれません。


あと、その、サーバサイドでやることが、CIで補完しやすいとは限らないということですね。


770 名前:nobodyさん mailto:sage [2009/10/31(土) 23:32:42 ID:???]
>>767
この手のが一番疲れる。ある程度はできるから。

771 名前:nobodyさん [2009/10/31(土) 23:50:09 ID:???]
>>768
CIではGETを使えるので、そこを問題にしていたとは気づきませんでした。
デフォルトではセキュリティ上の理由から使えないようにしてあると
初期設定のチュートリアルにかかれてます。


772 名前:nobodyさん mailto:sage [2009/11/01(日) 21:33:49 ID:???]
mootoolsも忘れないで

っていうかスレ違いなんだぜ

773 名前:nobodyさん mailto:sage [2009/11/02(月) 14:12:06 ID:???]
CIのGETの話題が出たので便乗させていただきます。

CodeIgniterの検索ページで、ページ送りするとき、検索条件をどうやって次のページに持っていってますか?
=PCサイトと携帯サイトの違いをうまく処理したいです。
(携帯サイトは作ったことがないので、これからチャレンジすることになります。)

・日本のガラパゴス携帯のサイトは、基本的にクッキー無しという前提で作る。
・ページ間の遷移で、何らかの方法でセッションIDを持たせる。
・セッションIDに基づいて、サーバー側でセッション情報を保持しておき、セッション情報の中に検索条件を持たせておく。
こんな感じでOKでしょうか?

それで問題は、CIでセッションIDをどこに持たせるのか?
(1) POSTの場合
・デフォルトのCI設定で問題なし

(2) GETの場合
(2-1)・GETをOKの設定に変更する。 →これだとCIのURLヘルパーが使えなくて嬉しくない?

(2-2)・base64方式で、検索条件をエンコードして、URLのセグメントに無理やり埋め込む →URLに使える文字列長は上限があるので限度がある。
ttp://sourceforge.jp/projects/codeigniter/lists/archive/users/2009-March/001786.html
ttp://support.microsoft.com/default.aspx?scid=kb;ja;208427
GET メソッドを使用する場合、最大文字数は 2,083 文字に制限されます (実際のパスも含めた文字数)。

(2-3)・hookを使って、GETをPOSTに入れてしまう。→何かセキュリティーを考慮しなきゃいけない?=独自のバリデーターを用意するとか?
ttp://www.ryuzee.com/contents/blog/734

今のところ(2-2)で対応できていますが、検索条件が多くなったらどうしよう…><

774 名前:707 mailto:sage [2009/11/02(月) 14:19:16 ID:???]
自己解決しました。
=CI1.7.2のマニュアルに説明がありました。

ttp://codeigniter.jp/user_guide_ja/database/active_record.html#chaining
メソッドの連結を使えば、複数のメソッドをつなぐのがシンプルになります。
Note: メソッドの連結はPHP5 でのみ動作します。

CIは、PHP5とPHP4の違いを吸収するような便利な機能が提供されてますね。
ttp://codeigniter.jp/user_guide_ja/helpers/compatibility_helper.html
互換性ヘルパファイルには、PHP 5でしか実装されていないネイティブな関数と定数を、PHP 4でも実行できるものが含まれています。
これを使うことでPHP 4にしか対応していないサーバー上のアプリケーションでも、PHP 5のネイティブ関数を使うことができるようになります。

WebサーバがPHP4だから助かるな〜

775 名前:nobodyさん mailto:sage [2009/11/02(月) 14:19:28 ID:???]
GETを有効にするに3票

776 名前:nobodyさん mailto:sage [2009/11/02(月) 14:24:46 ID:???]
>>741
CIには簡易のテンプレート機能が用意されてるから、それ使ってみれば?

ttp://codeigniter.jp/user_guide_ja/libraries/parser.html
テンプレートパーサクラスを使うと、ビューファイルに含まれる擬似変数を解析できます。
ビューページで純粋なPHPを使う方が少し早いので、CodeIgniterでは、このクラスを必ずしも 必要としません。しかし、PHPのコードで混乱してしまうデザイナーと一緒に仕事をしている場合、開発者の中には、テンプレートエンジンを使用したい人もいると思います。

ドリームウィーバーでHTMLが崩れなければ、Smartyは要らないよ(^^)v



777 名前:nobodyさん mailto:sage [2009/11/02(月) 22:26:52 ID:???]
GET使えないとか不便なんだよな。
別に禁止にしなくても・・・。

778 名前:nobodyさん [2009/11/02(月) 22:48:46 ID:WSpfQV0j]
>>777
デフォルトでオフなだけで禁止はされてないよ?
オフのままでもセグメントで指定できるから不便もないと思うけど。

779 名前:nobodyさん mailto:sage [2009/11/03(火) 03:12:02 ID:???]
?guid=onさえなければ、良い設計だと思うよ…
PC版のみのサイトなら安心して使える。

今、携帯対応するのにindex.phpの冒頭で$_GET['guid']がセットされていたらunsetする処理を
足して使ってる。我ながら情けないけど、他にうまい手段が見つからない。

780 名前:nobodyさん mailto:sage [2009/11/03(火) 12:01:34 ID:???]
スレ先を悩んだのですが、
Kohana をさくらで動かしている方がいそうなここで伺います。

さくらインターネットのマルチドメインでサブドメインの
ディレクトリを /home/myaccount/www/sub で指定しています。
( sub/ のように後ろに / は付けていません )

/home/myaccount/www/sub/index.html は
ttp://sub.example.com/ でちゃんと見えています。

ここに Kohana を入れて下記 mod_rewrite を設定しました。

$ cat /home/myaccount/www/sub/.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule .* index.php/$0 [PT,L]
RewriteRule ^(.*)$ index.php/$1 [PT,L]

ttp://sub.example.com/index.php/test/ は正しく出るのですが、
ttp://sub.example.com/test/ では「No input file specified. 」と出てしまいます。

CI を真似て php.ini に cgi.fix_pathinfo=1 を設定しています。
CI では $config['uri_protocol'] = "PATH_INFO"; なんてあるらしいのですが、Kohana では見当たらず。

Kohana をさくらで動かしている方、アドバイスお願いします!


781 名前:nobodyさん mailto:sage [2009/11/03(火) 12:20:06 ID:???]
RewriteRule ^(.*)$ ./index.php/$1 [PT,L]
これでどうだろ

782 名前:780 mailto:sage [2009/11/03(火) 12:44:55 ID:???]
>>781
ありがとうございます。
やはり「No input file specified. 」です…。

783 名前:780 mailto:sage [2009/11/03(火) 12:57:34 ID:???]
いろいろと試行錯誤中です。
RewriteBase をコメントアウトさせると

The requested URL /sub/index.php/ranking/ was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

となりました。何かこれで分かる方とかいらっしゃいますか。

RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule .* index.php/$0 [PT,L]
#RewriteRule ^(.*)$ index.php/$1 [PT,L]
RewriteRule ^(.*)$ ./index.php/$1 [PT,L]


784 名前:nobodyさん mailto:sage [2009/11/03(火) 13:04:21 ID:???]
ttp://hero-kick.com/linux/entry-738.html

785 名前:780 mailto:sage [2009/11/03(火) 13:13:37 ID:???]
>>784
ありがとうございます。
blog を参考に

RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|images|robots\.txt)
#RewriteRule ^(.*)$ ./index.php?/$1 [L]
RewriteRule ^(.*)$ /index.php?/$1 [L]

としたのですが、 /index.php?/ の ? があるためか
「Disallowed key characters in global data.」が出ます。

? を外すと、やはり「No input file specified. 」に…。

786 名前:nobodyさん mailto:sage [2009/11/03(火) 13:25:22 ID:???]
「Disallowed key characters in global data.」でいろいろググって
ttp://forum.kohanaphp.com/comments.php?DiscussionID=1723
を見つけました。

RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.+)$ /index.php?kohana_uri=$1 [L]

で一部表示!
「一部表示」というのは CSS や JavaScript のパスが解釈できていないため
デザインなどがガタガタなのです。とはいえ一歩前進です。
RewriteCond などを見直してみたいと思います。

いろいろとアドバイスをくれた皆様、本当にありがとうございます。

mod_rewrite は苦手なので試行錯誤をしていますので、
もし、こうだよ、とあれば引き続きよろしくお願いいたします。



787 名前:780 mailto:sage [2009/11/03(火) 13:45:23 ID:???]
さくらインターネットのマルチドメインのサブドメイン環境で、
/ で動かす mod_rewrite は下記でうまくいきました。

RewriteCond %{HTTP_HOST} sub\.example\.com
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /index.php?kohana_uri=$1 [PT,L]

アドバイスを頂いた皆様には重ねてお礼申し上げます。
ありがとうございました。

788 名前:nobodyさん [2009/11/04(水) 09:25:44 ID:qw3iX5XK]
>>758
> jQueryは軽量でもコンパクトでもない。

ホームページ冒頭にかいてあるけど?

jQuery is a fast and concise Javascript library...


自己宣伝だから全面的に信じるべきとはいわないが
この宣伝は無根拠なわけでもない。

ケチつける前に勉強した方がいい。

789 名前:773 mailto:sage [2009/11/04(水) 14:30:18 ID:???]
>(2-2)・base64方式で、検索条件をエンコードして、URLのセグメントに無理やり埋め込む

追記です。
base64でエンコードした文字列のままだと、デフォルトのCIのURLで使えない文字が含まれてしまいます。

ja.wikipedia.org/wiki/Base64
Base64は、データを64種類の印字可能な英数字のみ
A?Z, a?z, 0? までの62文字と、記号2つ (+ , /) 、さらにパディング(余った部分を詰める)のための記号として = が用いられる。

CI → $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
なので、base64の「+」「/」「=」をそれぞれ「-」「_」「:」等に置換すれば、CIのURLのセグメントとして使えます。=URLのセグメントをGETとして利用可能

(例)CI用にカスタマイズしたBASE64(ヘルパー関数に配置)
if ( ! function_exists('my_base64_encode'))
{
 function my_base64_encode($str)
 {
  $str = base64_encode($str);
  $str = str_replace('+', '-', $str);
  $str = str_replace('/', '_', $str);
  $str = str_replace('=', ':', $str);
  return $str;
 }
}

これと同様にデコードする関数を用意すればOK

790 名前:nobodyさん mailto:sage [2009/11/04(水) 18:22:08 ID:???]
>>789
普通にURLエンコードじゃなんでダメなの?

検索条件の保持は、検索条件内容をDBにぶちこんで、そのIDを連れ回す方がしっくり来ると思う。
CIのフォーラムでもそんな感じだったと思った。

791 名前:789 mailto:sage [2009/11/04(水) 20:23:11 ID:???]
>>790 アドバイスありがとうございます。

↓BASE64でエンコードする方法を参考にしてみたのですが、URLエンコードも試してみようと思います。
sourceforge.jp/projects/codeigniter/lists/archive/users/2009-March/001786.html

ja.wikipedia.org/wiki/URL%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89
URIにASCIIの非予約文字以外の文字データを用いる場合には、「%xx」(xxは16進数)という形でコードを表記する
スペースを含む記号(=,&,%,+)は使用できないので「%20」などのASCIIコードの16進表記に置き換えられる。
スペースは JavaScript の場合には %20 に変換されるが、CGIでは + に変換される。

URLエンコード後の文字列に「+」が現れる場合は、$config['permitted_uri_chars']に「+」を追加すればOKですね。その方が手軽でしたorz

792 名前:789 mailto:sage [2009/11/05(木) 13:06:07 ID:???]
>>790
urlencode方式でうまくいきました。ありがとうございました。

・FireFoxで見ると、エンコード後の文字列データは、日本語の場合、日本語のままでURLに表示されました。

ttp://pricewave.blog110.fc2.com/blog-entry-26.html を参考にして、
$config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_-';

・エンコードする文字列に半角スペースがある場合
urlencodeで半角スペースが「+」に置換されて、CI1.7.2でエラーになりました。

$config['permitted_uri_chars']に「+」を追加してOK = ★追加する位置★に注意

(1) $config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_-+'; // 末尾に「+」を追加
↓エラーになる
Message: Compilation failed: range out of order in character class at offset 63
Filename: libraries/URI.php
Line Number: 191

Message: Cannot modify header information - headers already sent by (output started at /home/mobilebest/usedbest.net/script/CodeIgniter/system/libraries/Exceptions.php:166)
Filename: codeigniter/Common.php
Line Number: 356

An Error Was Encountered
The URI you submitted has disallowed characters.

(2) $config['permitted_uri_chars'] = '一-龠ぁ-んァ-ヴーa-zA-Z0-9a-z 0-9~%.:_+-'; // 末尾じゃない場所に「+」を追加
=これだと、文字列に半角スペースが入っていてもOKでした。

793 名前:nobodyさん [2009/11/06(金) 17:05:09 ID:u54flEvH]
CIのEmailライブラリを使ってメールを送信しているのですが、本文が文字化けしていまいます。

なので、 MY_Email クラスを作り mail()関数を mb_send_mail() にして、
mb_language("ja"), mb_internal_encoding('UTF-8') を記述して送信すると、今度は題名が文字化けしていまいます。

ソースはUTF-8で、Emailの"charset"設定は ISO-2022-JP にしています。


エスパーさせて申し訳ありませんが、どなたかスマートな解決法をご教授くださいm(__)m

794 名前:nobodyさん mailto:sage [2009/11/06(金) 17:40:13 ID:???]
>>793
qdmail使えば幸せになれるよ

795 名前:nobodyさん [2009/11/06(金) 18:09:30 ID:u54flEvH]
>>794
レスありがとうございます。
現在Postfixが使われています。
しかし、メールサーバーの変更は事情によりできないので、別の対処法をご存知でしたら教えて頂けると幸いです。


796 名前:nobodyさん [2009/11/06(金) 18:14:39 ID:u54flEvH]
スミマセン、qdmail を qmail と見間違っていました

CIのライブラリに qdmail をぶち込んで使ってみることにします。
情報ありがとうございました!



797 名前:nobodyさん mailto:sage [2009/11/09(月) 13:46:17 ID:???]
>>793

$config['charset'] = 'iso-2022-jp';

$subject = mb_convert_encoding($subject, 'iso-2022-jp', 'utf-8');
$this->email->subject($subject);

$message = mb_convert_encoding($message, 'iso-2022-jp', 'utf-8');
$this->email->message($message);
$this->email->send();

で大丈夫だよ。

798 名前:nobodyさん mailto:sage [2009/11/10(火) 21:00:29 ID:???]
>>797
おいおい。Subjectそのままで送るのか?
MIMEエンコードしろよ

799 名前:nobodyさん mailto:sage [2009/11/11(水) 10:32:59 ID:???]
>>798
と思う前にやってみろ。

800 名前:nobodyさん mailto:sage [2009/11/12(木) 10:48:35 ID:???]
>>799
ハア?
既にやってんだが
無知は黙ってろks

801 名前:nobodyさん mailto:sage [2009/11/12(木) 10:59:46 ID:???]
>>800
797のコードだとCIのEmailクラス通すからMIMEエンコードはやってくれるんじゃないの?

802 名前:nobodyさん mailto:sage [2009/11/12(木) 11:48:00 ID:???]
質問です.

現在ヘルパ関数を自作していて,ヘルパ関数内でセッションクラスを使いたいと考えています.
しかし,$this->session->userdata('hoge')のように書くとエラーになります.

どのようにすればヘルパ関数内でセッションクラスを使えるのでしょうか?


803 名前:nobodyさん mailto:sage [2009/11/12(木) 12:00:12 ID:???]
>>800
2重にエンコーディングされなかったか?Email.php使うと。

804 名前:nobodyさん mailto:sage [2009/11/12(木) 12:25:12 ID:???]
>>802
$CI =& get_instance();
$CI->session->userdata('hoge');
でどうでしょ

805 名前:802 mailto:sage [2009/11/12(木) 12:58:15 ID:???]
>>804
ありがとうございます.
使えるようになりました.

806 名前:nobodyさん [2009/11/13(金) 01:38:44 ID:RfEeqTfm]
テスト



807 名前:793 mailto:sage [2009/11/16(月) 12:24:50 ID:???]
規制に巻き込まれてしまい返信できずスミマセン。

>>797
レスありがとうございます。
そのやり方は質問をする前に確かめたのですが、本文の一部に文字化けがみられました。

で、あれからずっと調べていたのですが
blog.livedoor.jp/lax34volvic/archives/1062690.html
ここにある問題(特定の文字「目」や「本」などが文字化けする)と同じようです。
メール本文に「本メール」という単語があり、その行が見事に文字化けしていたのです。

現在はEmailクラスを拡張して使っていますが、他にやりようがあるなら教えてください。

808 名前:nobodyさん mailto:sage [2009/11/16(月) 13:06:14 ID:???]
Qdmail使ったら。ソースコード汚くて萎えるけど。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<222KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef