[PHP][フレームワーク]CodeIgniterスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/04/27(金) 23:17:16ID:???チュートリアル:http://codeigniter.com/tutorials/
ユーザガイド日本語訳:http://ci-user-guide-ja.nought-point-999.net/
小回りの利くフレームワークの話題をひとつ!
0713nobodyさん
2009/10/24(土) 20:48:02ID:???0714nobodyさん
2009/10/24(土) 20:50:41ID:???0715nobodyさん
2009/10/24(土) 22:15:23ID:???と言う事はcodeigniter本家からの
ダウンロード版では日本語を正しくメールできないという事???
もしそうなら、本当にダサ 何だそれって感じだ。
0716nobodyさん
2009/10/24(土) 22:25:43ID:???どのフレームワークも件名化けたりする
0718nobodyさん
2009/10/24(土) 22:38:00ID:???0719nobodyさん
2009/10/24(土) 22:54:19ID:TTN2cu8lできました。
ありがとうございました。
0720nobodyさん
2009/10/24(土) 22:57:13ID:TTN2cu8l補足です。
できたんですが、データベースドライバが余計なことして
バイナリをエスケープ文字列にエンコードしてたので、
デコードして渡してやる必要がありました。
0721nobodyさん
2009/10/25(日) 12:12:30ID:???ご協力を。。。
0722nobodyさん
2009/10/25(日) 13:42:05ID:???どっち使ってもいいんじゃないの
0723nobodyさん
2009/10/25(日) 13:43:14ID:XqTgHkg+> CakePHPと比べた場合CodeIgniterが
勝る所
速度
柔軟性
最小限の知識で開発を開始できる
劣る所
無理やり規則に従わせることができない。
0724nobodyさん
2009/10/25(日) 13:51:58ID:???道が分からない時は人に聞くのが一番良いだろう
0725nobodyさん
2009/10/25(日) 14:06:37ID:???道順は目的地にたどり着くこと自体が目的だろうけど、
違いを調べるってのは仕組みを理解すること自体が目的なんだし。
0726nobodyさん
2009/10/25(日) 14:45:13ID:???言語パック入れないと、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を使ったことがあるけど、どちらも日本語メールはデフォルトの
メールの送り方では文字化けした。国産フレームワークじゃない限り期待しない方が良い。
0727nobodyさん
2009/10/25(日) 15:29:15ID:???多分その言語パック(パッチ)内でmailがmb_send_mailに変更になってたり
dateがstrfdateになってたりしてるんじゃ?
まあ自分で対処しても同じのはそのとおりだが
0728nobodyさん
2009/10/25(日) 15:30:41ID:???0729nobodyさん
2009/10/25(日) 20:00:58ID:XqTgHkg+ランダムなレコードを得ようとして下記を実行すると
得られるレコードが毎回一定になってしまいます。
$this->db->query("select * from mytable order by random limit 1");
psqlのコマンドラインから直接sqlを打つとランダムな結果になります。
一回ごとにpsqlを抜けてもきちんと各回ごとにランダムになります。
ci経由でランダムにならないのがどういう理由かわからずに困っています。
ご教授ください。
0731nobodyさん
2009/10/26(月) 01:08:16ID:???またもしできたとして、その一部分を表示するときにだけ必要なデータはどのように渡しますか。
つまり
<!-- ここからキャッシュ する-->?x2028;<?php foreach ($list as $x) { ?>
<p><?php echo $x; ?></p>
<?php } ?>?x2028;<!-- ここまで -->
というテンプレートの場合、表示するときには$listが必要ですが、キャッシュが効いているときは
$listは必要ないので、こういうときは$listを用意したくないんですけど、そんなややこしいことはできるでしょうか。
?x2028;
0732nobodyさん
2009/10/26(月) 22:20:23ID:8gDLhYd4ビンゴ!でした。
デフォルト設定のままにしてたので全く考えもしませんでした。
たすかりました。ありがとうございます。
0733nobodyさん
2009/10/26(月) 23:34:34ID:???出来ない、と思う
なので、おれは自作でコントローラ内で
キャッシュチェックして、必要があればHTML生成、なければキャッシュからって感じでやってる。
0734nobodyさん
2009/10/27(火) 15:19:56ID:NhIspLrL具体的には↓こんな操作をしたいのですが,
SELECT * FROM mytable WHERE '{abc}' && hairetsu;
次の文ではうまくゆかないようです.
$this->db->get_where('mytable', array("'{abc}' &&", "hairetsu" ));
また,これに相当するようなARメソッドはマニュアルには書かれていないようです.
0735nobodyさん
2009/10/27(火) 20:43:28ID:???日本語サイトを作るのに何か問題があるでしょうか?
codeigniterを使うか、kohanaを使うか迷っています。
0736nobodyさん
2009/10/28(水) 09:57:15ID:yVI01h7O自己解決しました。
get_whereでなく、単独のwhereを使えばよいようです。
0737nobodyさん
2009/10/28(水) 10:31:55ID:???kohanaいいよ。新しいだけあってかなり洗練されてる。
ただ3.0に関してはDocsが揃ってない。日本語に関しては全く問題なし。
0738nobodyさん
2009/10/28(水) 13:37:17ID:???0739nobodyさん
2009/10/29(木) 22:30:02ID:9YMY5qNb使うとすればどんなのがいいのでしょう?
Ajaxはどうですか?
0740nobodyさん
2009/10/29(木) 22:36:11ID:???釣りだと言ってくれ
0741nobodyさん
2009/10/29(木) 22:42:17ID:9YMY5qNbテンプレートエンジンとAjaxライブラリはどんなのを使ってますか?
と書くべきでした。
SmartyとかPHPTALと組み合わせるというのは見つけたのですが
どんなもんなのかと思いまして。
Ajaxについてはあまりわかりませんでした。
0742nobodyさん
2009/10/29(木) 22:55:25ID:???0743nobodyさん
2009/10/30(金) 00:30:08ID:p/L2o0l6存在意義なし?
0744nobodyさん
2009/10/30(金) 00:59:55ID:???どの言語にしたってテンプレートエンジンは流行ってないな
0745nobodyさん
2009/10/30(金) 09:23:35ID:p/L2o0l60746nobodyさん
2009/10/30(金) 10:23:31ID:???0747nobodyさん
2009/10/30(金) 10:25:30ID:???フレームワークが何だろうが、そんなの関係ないし。
0748nobodyさん
2009/10/30(金) 11:44:13ID:+JS8PV0u相性がいいかどうかわからんけど、Ajaxフレームワーク比較
ttp://journal.mycom.co.jp/news/2008/10/08/034/index.html
0749nobodyさん
2009/10/30(金) 11:52:50ID:???0751nobodyさん
2009/10/30(金) 12:27:07ID:???0752nobodyさん
2009/10/30(金) 14:50:51ID:???テンプレートエンジンを使うとすればどんなのがいいのでしょう?
↓
使わないのがいいでしょう
↓
客からの指示で、smarty必須ってなってる ←意味不明
自分で全部やれるなら楽だよな ←意味不明
(これから採用する人の話であってお前の客の話なんて知ったこっちゃない)
0753nobodyさん
2009/10/30(金) 15:25:15ID:???0754nobodyさん
2009/10/30(金) 15:27:02ID:???誰が正当かなんてどうでもええねん
0755nobodyさん
2009/10/30(金) 22:06:59ID:p/L2o0l6AjaxのほうはjQueryが軽量コンパクトを売りにしてて伸び盛りのようです。
同じく軽量コンパクトを売りにしてるCIとはベストマッチじゃないでしょうか。
0756nobodyさん
2009/10/30(金) 22:11:18ID:???0757nobodyさん
2009/10/30(金) 23:37:06ID:???相性云々言われても困るんだけど
ぶっちゃけAjaxライブラリにとってはサーバサイドのアプリケションが
何で書かれてようが知ったこっちゃ無いんだし相性もクソも何もない
0758nobodyさん
2009/10/31(土) 00:32:11ID:???ありがちな操作を、最小のコード量で書く事に特化していて、かつ習得しやすいので普及率が高いだけ。
(そういう意味では、設計思想がPHPに近いのかもな、今思いついたが)
だから、jQueryに「できないこと」に手を出そうとすると非常に面倒になる。
それと、JavaScriptライブラリが軽量でコンパクトである事と、PHPフレームワークが軽量でコンパクトである事の関連性が良く分からない。
軽量フレームワークと軽量JSライブラリで、なんで「相性が良い」という結論になるんだ?
相性が悪いと言ってるわけじゃなく、単に論理展開、関係性が良く分からない。
つうか、ざっと簡単なアプリなり小物ライブラリでも作ってみりゃいいだろ。
机上の空論で初心者がライブラリの良し悪しを判別できるわけがない。
0759nobodyさん
2009/10/31(土) 00:51:18ID:???0760nobodyさん
2009/10/31(土) 01:07:41ID:???駄目なものは駄目と言うしかない
0761nobodyさん
2009/10/31(土) 08:09:34ID:???わけのわからん基準で良い悪いを決める話じゃないってことだろ?
あれだ、本質を理解した上で用途に合わせて判断しろっていう、
当たり前のことを行ってるだけだ。
0762nobodyさん
2009/10/31(土) 09:42:56ID:RCXnHmtWどこがどうダメなんですか?
本質を理解した上で用途に合わせて判断ですか。
ご自身は本質を理解して判断されているのですね。すばらしい。
私には何が本質で何を基準に判断したらいいか皆目見当がつかないのですが
どんなところに注目すれば、本質を理解できるのでしょうか?
判断の基準は、例えばどんなところにおかれているのでしょうか?
0764nobodyさん
2009/10/31(土) 10:41:20ID:???というか、prototype.jsとの2択しか無い気がするが。
勉強するんだったら、このどっちかにしとくべき。
結局は、オープン系は何を使うにも主流どこに乗っとかないと
後々面倒だよ。スクラッチで作れるだけの力が無いのであれば。
0765nobodyさん
2009/10/31(土) 13:52:37ID:???0766nobodyさん
2009/10/31(土) 15:11:23ID:RCXnHmtW参考になりました。
ありがとうございます。
>>765
jQueryはGET使えないの?
だとしてもCIはデフォルトでGETを使わないようになってるから
問題ないと思います。
0767758
2009/10/31(土) 17:33:58ID:???> どんなところに注目すれば、本質を理解できるのでしょうか?
何かができるものは、絶対に何かを犠牲にしている、という点。
俺の書き込みが「jQueryはダメ」に見えたのなら、それはお前の経験不足。俺はjQuery信者だからな。
あと、理解したいならガタガタ抜かさずコード書け。
protojsとjQueryは併用できるしどっちかを選ぶようなものじゃないが、単独で込み入ったものを作るならprotojsが圧倒的に強い。
ただし>758でも書いたように、8割方のケースではjQueryのほうが圧倒的に早く作れる。
つまりどっちが向いているかは、どこまでをJSで処理し、どこからをサーバーサイドで処理するかによる。
0769nobodyさん
2009/10/31(土) 20:41:12ID:RCXnHmtWよくわかりました。ありがとうございます。
八割方のケースでjQueryが早くできること、
込み入ったことはprotojsが向いていることがわかって助かりました。
まあ、GoogleがjQueryを採用しているらしいので、
できないことというのも相当特殊なものかもしれません。
あと、その、サーバサイドでやることが、CIで補完しやすいとは限らないということですね。
0771nobodyさん
2009/10/31(土) 23:50:09ID:???CIではGETを使えるので、そこを問題にしていたとは気づきませんでした。
デフォルトではセキュリティ上の理由から使えないようにしてあると
初期設定のチュートリアルにかかれてます。
0772nobodyさん
2009/11/01(日) 21:33:49ID:???っていうかスレ違いなんだぜ
0773nobodyさん
2009/11/02(月) 14:12:06ID:???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)で対応できていますが、検索条件が多くなったらどうしよう…><
0774707
2009/11/02(月) 14:19:16ID:???=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だから助かるな〜
0775nobodyさん
2009/11/02(月) 14:19:28ID:???0776nobodyさん
2009/11/02(月) 14:24:46ID:???CIには簡易のテンプレート機能が用意されてるから、それ使ってみれば?
ttp://codeigniter.jp/user_guide_ja/libraries/parser.html
テンプレートパーサクラスを使うと、ビューファイルに含まれる擬似変数を解析できます。
ビューページで純粋なPHPを使う方が少し早いので、CodeIgniterでは、このクラスを必ずしも 必要としません。しかし、PHPのコードで混乱してしまうデザイナーと一緒に仕事をしている場合、開発者の中には、テンプレートエンジンを使用したい人もいると思います。
ドリームウィーバーでHTMLが崩れなければ、Smartyは要らないよ(^^)v
0777nobodyさん
2009/11/02(月) 22:26:52ID:???別に禁止にしなくても・・・。
0778nobodyさん
2009/11/02(月) 22:48:46ID:WSpfQV0jデフォルトでオフなだけで禁止はされてないよ?
オフのままでもセグメントで指定できるから不便もないと思うけど。
0779nobodyさん
2009/11/03(火) 03:12:02ID:???PC版のみのサイトなら安心して使える。
今、携帯対応するのにindex.phpの冒頭で$_GET['guid']がセットされていたらunsetする処理を
足して使ってる。我ながら情けないけど、他にうまい手段が見つからない。
0780nobodyさん
2009/11/03(火) 12:01:34ID:???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 をさくらで動かしている方、アドバイスお願いします!
0781nobodyさん
2009/11/03(火) 12:20:06ID:???これでどうだろ
0783780
2009/11/03(火) 12:57:34ID:???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]
0784nobodyさん
2009/11/03(火) 13:04:21ID:???0785780
2009/11/03(火) 13:13:37ID:???ありがとうございます。
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. 」に…。
0786nobodyさん
2009/11/03(火) 13:25:22ID:???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 は苦手なので試行錯誤をしていますので、
もし、こうだよ、とあれば引き続きよろしくお願いいたします。
0787780
2009/11/03(火) 13:45:23ID:???/ で動かす mod_rewrite は下記でうまくいきました。
RewriteCond %{HTTP_HOST} sub\.example\.com
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /index.php?kohana_uri=$1 [PT,L]
アドバイスを頂いた皆様には重ねてお礼申し上げます。
ありがとうございました。
0788nobodyさん
2009/11/04(水) 09:25:44ID:qw3iX5XK> jQueryは軽量でもコンパクトでもない。
ホームページ冒頭にかいてあるけど?
jQuery is a fast and concise Javascript library...
自己宣伝だから全面的に信じるべきとはいわないが
この宣伝は無根拠なわけでもない。
ケチつける前に勉強した方がいい。
0789773
2009/11/04(水) 14:30:18ID:???追記です。
base64でエンコードした文字列のままだと、デフォルトのCIのURLで使えない文字が含まれてしまいます。
http://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
0790nobodyさん
2009/11/04(水) 18:22:08ID:???普通にURLエンコードじゃなんでダメなの?
検索条件の保持は、検索条件内容をDBにぶちこんで、そのIDを連れ回す方がしっくり来ると思う。
CIのフォーラムでもそんな感じだったと思った。
0791789
2009/11/04(水) 20:23:11ID:???↓BASE64でエンコードする方法を参考にしてみたのですが、URLエンコードも試してみようと思います。
http://sourceforge.jp/projects/codeigniter/lists/archive/users/2009-March/001786.html
http://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
0792789
2009/11/05(木) 13:06:07ID:???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でした。
0793nobodyさん
2009/11/06(金) 17:05:09ID:u54flEvHなので、 MY_Email クラスを作り mail()関数を mb_send_mail() にして、
mb_language("ja"), mb_internal_encoding('UTF-8') を記述して送信すると、今度は題名が文字化けしていまいます。
ソースはUTF-8で、Emailの"charset"設定は ISO-2022-JP にしています。
エスパーさせて申し訳ありませんが、どなたかスマートな解決法をご教授くださいm(__)m
0795nobodyさん
2009/11/06(金) 18:09:30ID:u54flEvHレスありがとうございます。
現在Postfixが使われています。
しかし、メールサーバーの変更は事情によりできないので、別の対処法をご存知でしたら教えて頂けると幸いです。
0796nobodyさん
2009/11/06(金) 18:14:39ID:u54flEvHCIのライブラリに qdmail をぶち込んで使ってみることにします。
情報ありがとうございました!
0797nobodyさん
2009/11/09(月) 13:46:17ID:???$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();
で大丈夫だよ。
0802nobodyさん
2009/11/12(木) 11:48:00ID:???現在ヘルパ関数を自作していて,ヘルパ関数内でセッションクラスを使いたいと考えています.
しかし,$this->session->userdata('hoge')のように書くとエラーになります.
どのようにすればヘルパ関数内でセッションクラスを使えるのでしょうか?
0804nobodyさん
2009/11/12(木) 12:25:12ID:???$CI =& get_instance();
$CI->session->userdata('hoge');
でどうでしょ
0806nobodyさん
2009/11/13(金) 01:38:44ID:RfEeqTfm0807793
2009/11/16(月) 12:24:50ID:???>>797
レスありがとうございます。
そのやり方は質問をする前に確かめたのですが、本文の一部に文字化けがみられました。
で、あれからずっと調べていたのですが
http://blog.livedoor.jp/lax34volvic/archives/1062690.html
ここにある問題(特定の文字「目」や「本」などが文字化けする)と同じようです。
メール本文に「本メール」という単語があり、その行が見事に文字化けしていたのです。
現在はEmailクラスを拡張して使っていますが、他にやりようがあるなら教えてください。
0808nobodyさん
2009/11/16(月) 13:06:14ID:???0809793
2009/11/16(月) 17:22:18ID:???qdmailは上記で教えてもらった時に使ってみました。
が、せっかくCIにEmailの処理があるのにそれが使えないのはおかしいので調べていた次第であります。
現在、MY_Emailクラスを作り
function subject() の $subject = $this->_prep_q_encoding($subject); の記述を除去。
mail()が使われているところをmb_send_mail()に変更しています。
(CIのversionは1.7.2です)
これで大丈夫なのか今はそれだけが不安です。(特にsubject()の>_prep_q_encoding()を使わなくてもいいのか辺り)
0810nobodyさん
2009/11/16(月) 18:03:26ID:???俺も大方そんなところだよ。
_prep_q_encodingなんて気持ち悪い物も、ムリに使う必要は無いと思う。
mb_send_mailは信用してないから、mailを使ってるけど。
というか、これ以上はスレチな気もするので。
っhttp://pc11.2ch.net/test/read.cgi/php/1249778720
0811nobodyさん
2009/12/01(火) 16:52:40ID:n2Un74VIみんなまだこれ使ってる?
0812nobodyさん
2009/12/01(火) 16:57:48ID:???djangoも使ってるし、どっちもスレは過疎化
FW使うような人はある程度知識がすでにあるから聞くことないんだろね
■ このスレッドは過去ログ倉庫に格納されています