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

【PHP】下らねぇ質問はここに書き込みやがれ 26

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/08/07(月) 13:11:50ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレは>>2-10 関連スレは>>4-10 FAQは>>6-10 辺り

◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
  (逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
  (荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0136軟式PHP2006/08/09(水) 10:05:10ID:???
>>134
大文字・数字の判定がない。あとeregよりpregのほうがいいよ。
if( $kakiko == "" || preg_match('/^[0-9a-zA-Z]+$/',$kakiko) )
0137nobodyさん2006/08/09(水) 10:20:01ID:???
>>136
ありがとうございます
自分で英数字と言っておいて入れ忘れたのはなんともお恥ずかしい限りです。
で、試しにやってみたんですが・・・書き込み成功してしまいました・・・orz
何もおかしいところはないと思うのですが・・・なぜでしょうか・・・
0138軟式PHP2006/08/09(水) 10:35:21ID:???
>>137
kakikoという変数から察するに掲示板の書き込みの内容?
スペース・改行・タブ等が入っていたら上のじゃスルーされるよ。
タブ、改行、スペース対応版。記号入ってたら駄目だけど('A')あとは改造してくれ。
if( $kakiko == "" || preg_match('/^[0-9a-zA-Z\r\n\s\t]+$/',$kakiko) )
0139nobodyさん2006/08/09(水) 10:43:36ID:???
これって例によって strlen() == mb_strlen() を判定すれば一発、ってネタじゃないだろうな?
0140nobodyさん2006/08/09(水) 11:09:37ID:???
$foo = "フォー";
echo("{$foo}");
とやったらフォーが出力されますよね?

では、
define("FOO","フォー");を
echo("")という形を使ってフォーと出すにはどうしたらよいのでしょうか?
echo FOO;でもちろんできますが、どうしても("")の中に入れたいんです。
変数と同じ要領で("{FOO}")をやってみたけどだめでした。
よろしくおねがいします。
0141軟式PHP2006/08/09(水) 11:15:03ID:???
よくわからんこだわりだけど、echo(FOO)やecho(FOO."文字文字");
とかじゃだめなん?
0142nobodyさん2006/08/09(水) 11:16:14ID:???
>>138
そうです掲示板です。
こういう場合空白とか改行についても入れないと駄目なんですね・・・。
勉強になりました。
しかしまたもスルーされてしまいました・・・orz

検索したりと色々試行錯誤していましたら

if(!preg_match("/[\x80-\xA0]/",$com)) { error("不正な文字列です"); }

これで自分の思い通りの結果になりました。
色々とご教示いただきありがとうございました。
01431402006/08/09(水) 11:16:49ID:???
>>141
実はDBの接続に使う予定なんです。
pg_connect("host=HOST");
といった感じに。
0144nobodyさん2006/08/09(水) 11:31:37ID:GlwbD+0Y
>>143
pg_connect("host=%s", HOST);
もしくは
$host = HOST;
pg_connect("host=${host}");
でいいと思うけど
01451402006/08/09(水) 11:37:46ID:???
>>144
どうもありがとうございます。
MySQLからの乗換えで、ずっと定数を使っていたので、
そのまま使えないかなーと思いまして。
上の方法で早速試してみたいと思います。
0146nobodyさん2006/08/09(水) 11:56:06ID:???
>>143
pg_connect("host=" . HOST);
でいいだろ
0147nobodyさん2006/08/09(水) 12:09:56ID:OFf4cMrj
改行コードの置き換えなのですが、次のようにするとWarningが出てしまいます:
preg_replace(array("\r\n", "\r"), "\n". $str)

Warning: preg_replace(): Empty regular expression
「正規表現が空」とはどういうことでしょうか?
マニュアルを見るとパターンは配列もアリと書いてあるのですが。
よろしくおねがいします。
0148nobodyさん2006/08/09(水) 12:16:22ID:???
デリミタ
0149nobodyさん2006/08/09(水) 12:16:24ID:???
\r\n|\r
0150nobodyさん2006/08/09(水) 12:24:04ID:???
>>140
文字列クオートの中でのdefine展開はできない。
echo("〜" . FOO . "〜");
みたいに前後で連結するしかない。
0151nobodyさん2006/08/09(水) 12:25:09ID:???
>>147
preg系の正規表現は /〜/ をつけないと。
0152nobodyさん2006/08/09(水) 12:33:50ID:OFf4cMrj
>>148-149
preg_replace ("(\r\n|\r)", "\n", $str)
これでよろしいのでしょうか?

>>151
すみません、詳しく。
0153nobodyさん2006/08/09(水) 12:34:59ID:???
>>152
ちょっと上にpreg_matchの例があるだろうに・・・
0154nobodyさん2006/08/09(水) 12:41:37ID:???
>>152
いきなり複雑な処理を書かず、公式のマニュアルをまずそのまま書いて
動作確認をしてから書けば、同じような問題で悩むことはないよ

http://jp.php.net/manual/ja/function.preg-match.php
0155nobodyさん2006/08/09(水) 13:53:50ID:???
すいません、本来Smartyスレで聞くべきなのかも知れないのですが、下らない質問だと思うのでこちらで質問させてください。
■mySmarty.class.php
include_once('Smarty/Smarty.class.php');

class mySmarty extends Smarty
{
function mySmarty()
{
$this->Smarty();

$this->template_dir = "./templates/";
$this->compile_dir = "./template_c/";
}
}
■index.php
include_once('mySmarty.class.php');
$smarty = new mySmarty();
$smarty->display( "index.tpl" )
で、index.phpにアクセスすると
Parse error: parse error, unexpected '{', expecting '(' in 〜〜〜sample\mySmarty.class.php on line 8
と言ったエラーがでます。
何処がおかしいのでしょうか。
下らない質問だとは思うのですがよろしくお願い致します。。
あと、環境はwindowsXP PHP5.1.4 Smartyは2.6.14 です。
0156nobodyさん2006/08/09(水) 14:16:58ID:???
>>155
そのソース上には問題はない
しいて言うなら、
$smarty->dispya("index.tpl")
の文末に ; がないくらいだけど、エラーメッセージの内容からして
コピペミスだろうと思うから関係ないだろう

本当に、このソースでそのエラーが出ているのか
0157nobodyさん2006/08/09(水) 14:35:26ID:???
>>156
レスありがとうございます。。
原因解りました。
何ていうのか、もう完全に初歩的なミスでして、説明しづらいんですが、本来読むべきmySmarty.class.phpとスペルミスのmySmaty.class.phpと言うファイルが何故か2つありまして、
で、スペルミスの方は上記の通りソースは良いんですが、スペルミスしてない方(index.phpから読み込んでる方)は()が有りませんでした。
もうホントにお恥ずかしい話です。。
すみません。
お騒がせ致しました。。
0158nobodyさん2006/08/09(水) 17:10:30ID:???
>>147
それならstr_replaceで十分なのでは
0159nobodyさん2006/08/09(水) 17:21:32ID:OFf4cMrj
>>158
ごめん、最初から str_replace() でやるつもりだったんだけど
ミスって str が preg になってしまった…。

でもミスに気付けて良かったよ。ありがとう。
0160nobodyさん2006/08/09(水) 18:34:28ID:???
値のチェックで大文字と小文字を区別しないようにするには
どう書いたらよいのでしょうか?
たとえば、HOGEもhogeもHoGeもhoGEも同じHOGEとしてチェックする感じです。
0161(^ω^)2006/08/09(水) 18:44:48ID:???
String.toUpperCase
0162(^ω^)2006/08/09(水) 18:46:30ID:???
間違えた(^ω^;)
strtoupperで比較
またはstricmp
0163nobodyさん2006/08/09(水) 18:57:34ID:???
>>162
おーこんなものがあったんですね。
どうもありがとうございます。
0164nobodyさん2006/08/09(水) 19:55:05ID:???
すいません、質問です。
simplexml_load_fileで読み込んだオブジェクトを
functionの引数として指定したいんですが、上手くいきません。
試しに下記のように書いてみたのですが、どうも引数を渡せていないようです。
こういう時はどのようにして渡したらよいのでしょうか。
どなたかアドバイスなどよろしくお願いします。

$xml = simplexml_load_file("hoge.xml");
$item=$xml->item;
item_construct($item);

funciton item_construct($item){
$sword=$item->sword;
(略)
}
0165nobodyさん2006/08/09(水) 21:36:27ID:???
>>164

よくわからんがその関数で読みこんだオブジェクトは$xmlであって引数にしてる$itemではないのではないか?
01661092006/08/09(水) 21:52:49ID:XkNwEDtZ
亀レスすみません。
ありがとうございます。。
>>110
>>112
header("Content-type: image/png"); を書き足してみましたが
前と変わらず表示されませんでしたorz
<?php
header("Content-type: image/png");
$image = imagecreate(200, 200);
$bcolor = imagecolorallocate($image, 0, 0, 0);
imagepng($image);
imagecolordeallocate ($image,$bcolor);
imagedestroy($image);
?>
とやってみましたのですがorz
>>111
はいブラウザでサイト上で文字化けしてます。。
0167nobodyさん2006/08/09(水) 21:58:01ID:???
どうせブラウザのキャッシュだろうけど
imagepngでファイルに出力してみて、正しい画像ならブラウザの問題
01681092006/08/09(水) 22:01:31ID:???
ブラウザはIE6でキャッシュも削除しますた・・
0169nobodyさん2006/08/09(水) 22:09:15ID:???
俺のIE6、Opera8.5では表示できた。
PHP5.1.4
0170nobodyさん2006/08/09(水) 22:35:53ID:???
>>168
先に改行とかBOMとか余計なもの出力してない?
0171nobodyさん2006/08/09(水) 22:39:17ID:???
>>164
funcitonはPHP8以降じゃないと使えないから。
0172nobodyさん2006/08/09(水) 22:44:50ID:???
>>166
それ動かしてるサーバーってレンタルスペース?
ひょっとして広告とか入ってるとこで、PHPでいくらheader出力しようと思っても無駄なとこだったりしない?
0173nobodyさん2006/08/09(水) 22:46:19ID:???
>>164
それは何年後に使えるようになるのですか?
01741092006/08/09(水) 23:12:13ID:XkNwEDtZ
>>170
はい余計なものは出力していないです。。
>>172
はいレンタルスペースです。下部にテキスト広告が入っています。。
header出力に関しての記載はないので管理者に聞いてみようと思います。

ちょっと他の所でも試してみます。。
何度もすみませんでした。
0175nobodyさん2006/08/09(水) 23:20:44ID:???
>>174
広告入ってるサーバーの多くではプログラムで画像出力とかできないよ。
その自動で動く広告挿入のプログラムが、出力内容をHTMLとして扱っちゃうので。
一部のサーバーでは自動的に広告OFFにするための仕組みを用意してるので(ディレクトリや拡張子の変更など)
それがあるなら使ってみることだ。
0176nobodyさん2006/08/09(水) 23:27:13ID:???
すいません、間違って?PHP part2スレで書き込んでしまったので、
もう一度こちらに書き込みさせていただきます。(マルチになって申し訳ありません)

399 名前:デフォルトの名無しさん[sage] 投稿日:2006/08/09(水) 23:17:17
こんなことを質問できる場がここしかないので、どうかご教授願いたいです。

実験でHTMLのテキストフィールドから直接SQL文を入力させてDB(MySQL)を操作したいんですが、、

例えばHTMLの入力フォームから
select * from [テーブル名] where ID='06A00012'
などと入力すると、phpで受け取った値は
select * from [テーブル名] where ID=\'06A00012\'
となってしまい、SQL文に余計なものがついてSQLの構文エラーとなってしまいます。

phpのstrtr関数で文字を置き換えようとしても上手くいきません。
(\をなんとか消しても、今度は "(ダブルコーテーション)に置き換わってしまいます。)

どなたか、¥の消し方をご存知の方がいましたら、お願いします。。。
0177nobodyさん2006/08/09(水) 23:35:09ID:???
>>176
マジッククォートについてぐぐれ
01781762006/08/09(水) 23:41:17ID:???
あ!!こ、これかもしれません、ちょっと調べてやってみます!涙
01791092006/08/09(水) 23:53:52ID:XkNwEDtZ
>>175
なるほど。。
ありがとうございます。
01801762006/08/10(木) 00:18:11ID:???
$inpo=get_magic_quotes_gps();
if($inpo==1){
$okki = stripslashes ($inpo);
}
print $okki. "マンセー";


↓こんなスマートなやりかたもありました。
if (get_magic_quotes_gps()){
 $comment = stripslashes ($comment);
}

本当にありがとうございました。
0181nobodyさん2006/08/10(木) 00:20:57ID:???
$inpo=get_magic_quotes_gps();

gpc()←訂正

まだまだ、先は長そうだ。
0182nobodyさん2006/08/10(木) 00:32:47ID:9+xl79/r
php5で、ローカル側(自分が使っているPC)のファイルやディレクトリを
ブラウザで表示したいんですけど、それが載っているサイトや
書籍ってありますか?例えば、ffftpの左半面のようなものを
イメージしています。用途が幅広いので、どこかに公開されている
と思うのですが・・・。どなたか、お教え下さい。
0183nobodyさん2006/08/10(木) 00:37:23ID:???
>>182
出来ない。PHP で何が出来るかを良く考えましょう。
0184nobodyさん2006/08/10(木) 01:18:40ID:???
>>183
いや、出来るんじゃないか?
まぁ、その表示したものを消したりとかってなると無理な部分があまりにも多い
だろうけど。
見るだけならある程度できそう
0185nobodyさん2006/08/10(木) 01:22:54ID:???
>>184
表示がどうこう以前の問題。
0186nobodyさん2006/08/10(木) 01:22:58ID:???
>>184
file:// でってこと? PHP 全然関係ないし。
0187nobodyさん2006/08/10(木) 01:29:43ID:???
普通にファイル一覧とって繰るじゃん?で、それにイメージくっ付けるってのは
できるんじゃないか?
0188nobodyさん2006/08/10(木) 01:34:04ID:???
182を良く読んで。
Client側のファイル一覧どうやって取るんだってことだよ。
0189nobodyさん2006/08/10(木) 01:35:13ID:???
localhostで動かす場合の話じゃね
0190nobodyさん2006/08/10(木) 01:40:36ID:???
>>188
おもいっきり自分の(ローカルホスト)って書いとるじゃないか
0191nobodyさん2006/08/10(木) 01:48:26ID:DcRBPcvM
説明不足で、申し訳ない。
サーバ側から、クライアント側のディレクトリ構造を・・・という話です。
phpで、サーバにクライアントのファイルをアップロードするシステムが
あるくらいだから、何とかできないものかと思ったのですが・・・。
0192nobodyさん2006/08/10(木) 01:52:12ID:???
>>191
PHP はサーバサイドで動くもの。知ってた?
0193nobodyさん2006/08/10(木) 02:04:48ID:???
>>191
そうなっちゃうとPHPだけじゃ無理だな〜
でも、その着眼点は良いんじゃない?今PHPでは実現不可能って分かったんだから
じゃあ、ほかの言語で代用しちゃえってなもんだ。
今ならpythonが熱いぞ!PHPみたいなスクリプト言語だがデスクトップアプリも作れる。
下手したらVBよりも簡単だしな
0194nobodyさん2006/08/10(木) 02:07:12ID:???
>>191
ファイルのアップロードはブラウザの機能。
しかもHTMLレベルじゃセキュリティ上アップロードはかなり制限されてる。
クライアントサイドでActiveX走らすとかそういった手しか無いだろうね。一言で言うと>>183
0195nobodyさん2006/08/10(木) 02:08:31ID:???
>>191
クライアントがサーバなら出来るなw
お前のサーバからクライアント(サーバ)にリクエスト投げて、クライアントが
PHPとかでデータを取得してXMLなりなんなりでお前のサーバに結果を返す。
で、お前側サーバでそれをCSSで綺麗に整えれ幸せになれます。
0196nobodyさん2006/08/10(木) 02:11:46ID:???
>>191
無い。
アップロードはブラウザにファイルから送信データを生成させる仕組みが規定されてるが、
セキュリティ的に危険なためそれ以上のクライアントファイル操作は全て禁止が原則。
クライアント上で動くJavaScriptでも基本的にはクライアントのファイルには触れない。

回避手段があるとすればActiveXを使う手だろうね。パソコン側に半自動でプログラムを
ダウンロード・インストールさせ、それを実行するような仕組みが必要。PHPだけではどうしようもない。
ActiveXならがんばりゃオンラインウイルススキャンなんて仕組みも作れるのでかなり色々できる。
ただし、WEBの標準的な機能ではなくWindowsの機能を利用する形になるため、
使えるOSとブラウザが著しく制限される。
また、セキュリティ的に非常に危険な仕組みなので、クライアントの設定によっては拒否される。
0197nobodyさん2006/08/10(木) 09:00:08ID:???
PHPでウェブアプリを作ろうと思ってるんですが
smartyというものは使った方がいいんでしょうか?
PHPやってるならsmartyくらいは使えないとって感じなら勉強するつもりなんですが
そうでもないなら回避しようかなと思ってるんですが
0198nobodyさん2006/08/10(木) 09:28:53ID:???
>>197
とりあえず不要。
やってくうちに必要性を感じたなら、それから導入すればいい。
0199nobodyさん2006/08/10(木) 09:38:53ID:???
>>197
Smartyみたいな汎用志向のテンプレート機能は
デザイナーとプログラマーが分業してる場合など
多人数で開発する際に大きな効果を発揮する。

逆に言うと、個人でやってる分には意義を見出しにくいものでもある。
(規模が大きくなってきたり、同じプログラムでデザインの差し替えを
多用するようになったりすると便利さを感じる場面も出てくると思うけど)
ってことで、とりあえずは無くてもいいものだと思う。
今後、プロになりたいと思ってるならスキルの1つとして覚えといてもいいけど。
0200nobodyさん2006/08/10(木) 10:18:56ID:???
便乗して質問ですが、
PerlのHTML::Templateのような、単純なテンプレートを知りませんか?
Smartyほどの機能は不要なのですが。
0201nobodyさん2006/08/10(木) 10:33:24ID:???
>>200
簡単なテンプレなら自作が一番。
デザイン済みのHTMLソースに変数をはめこんで、
それをヒアドキュメントにして拡張子.phpにしてincludeすればいい。
0202nobodyさん2006/08/10(木) 10:56:33ID:???
>>198,199
回答サンクスです。
個人で好きにやってるだけなのでやめときます。
0203nobodyさん2006/08/10(木) 11:00:42ID:???
>>201
いくら単純と言っても、ループブロックくらいは扱えないと使い物にならない気がする。
0204nobodyさん2006/08/10(木) 11:08:20ID:ftKUYt4P
MySQLの質問スレってないんでしょうか?
見つからないので多目に見てください。

MySQLのフイールド「unko」に
こんなのが入ってるとします(1行を1レコードとしてください)
1_123
10_376
4_432
11_543
5_982

これを
1_123
4_432
5_982
10_376
11_543
のようにソートしたいのですが

order by unko
だと、
1_123
10_376
11_543
4_432
5_982
となってしまいます。

設計から見直せと言われそうですが、なにかいい方法はありませんか?
0205nobodyさん2006/08/10(木) 11:11:17ID:???
>>204
スレ違い
0206nobodyさん2006/08/10(木) 11:13:59ID:???
イヤ、板違いだろ
0207nobodyさん2006/08/10(木) 11:17:29ID:???
>>204
>>1
> ・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0208nobodyさん2006/08/10(木) 11:27:55ID:???
order by convert(substring(unko, 1, instr(unko, '_')), signed)
0209nobodyさん2006/08/10(木) 11:56:07ID:Zt0pUlM3
>>205-207
スレ違い以前に板違いでしたか、すいませんでした。

>>208
どうもです、完璧ですた。
助かりました。
0210nobodyさん2006/08/10(木) 12:10:55ID:???
みなさんアレですか、やっぱりAssemblerやC/C++からプログラミングを始めて、業務上必要になった為PHPを覚えたって感じですか?
いや、なんかスレの内容が随分レベル高いなぁーっと思いまして。

それと質問なんですが、ECサイトの構築を覚えたいとずっと考えていまして、言語はPHPに決めました。
PHPと組み合わせるDBで特に易しいもの等はあるんでしょうか?
どれでも一緒ならPHP+MySQLで勉強を始めようと思っています。
0211nobodyさん2006/08/10(木) 12:19:25ID:???
>>210
> いや、なんかスレの内容が随分レベル高いなぁーっと思いまして。
いや…ちょー低いだろ…_| ̄|○

> PHPと組み合わせるDBで特に易しいもの等はあるんでしょうか?
MySQLは特に易しいよ。機能少なめでかつ高速で。あんまり悩む必要がない。
0212nobodyさん2006/08/10(木) 12:33:05ID:83OIGtyl
mb_send_mailをの送り先をドコモの携帯にしてフォームを送信しました。
すると、本文の最初に
mime-version:1.0
content-type:text/plane;carset-ISO-2022-jp
content-transfer-encoding: 7bit
という文字列が付加されました。

これを取り除くにはどうしたらいいでしょうか?
$to = 携帯のアドレス
$subject = "タイトルです。";
$msg = "内容内容内容";
$header = "From: PCのアドレス";
みたいな感じになっています。上の文字列は内容内容内容の前に付いてしまいます。
携帯はdocomoでしか確認していませんが、mova、fomaとも同じ結果です。
0213nobodyさん2006/08/10(木) 12:37:32ID:???
>>212
関数へ渡してる部分も含めてもう少し全体を見せれ。
多分、どっかに余分な改行がある。
メールのヘッダーと本文は1行の空行で区切られてるが、
ヘッダーの途中に空行が余分に入ったことでヘッダー後半が
本文扱いになってしまってるわけだ。
0214nobodyさん2006/08/10(木) 12:38:11ID:???
最近classを勉強しています。
ソース中によくreturn文を使っているのを見るのですが、
どういうときに使っているのか、何をしているのかがよく理解できません。
マニュアルを見てもいまいちピンとこないのですが、
これはPHPを学ぶ上で必須となるものでしょうか?
0215nobodyさん2006/08/10(木) 12:46:16ID:???
PHPに限らず多くの言語の基本中の基本事項です
クラス以前の問題
0216nobodyさん2006/08/10(木) 12:49:53ID:???
>>214
オブジェクト指向学ぶ前に言語構文覚えれ
0217nobodyさん2006/08/10(木) 12:53:27ID:???
>>214
絶対必須。
それ覚えるまでクラスなんていじるな。
0218nobodyさん2006/08/10(木) 12:56:06ID:???
>>214
classの前にまずfunctionを覚えましょう
0219nobodyさん2006/08/10(木) 13:04:06ID:83OIGtyl
>212さん
レスありがとうございます。
試しに必要な部分だけ抜き出して実行してみましたが、結果は同じです。

<?php
mb_language("ja");
mb_internal_encoding("SJIS");
$to = "携帯のアドレス";
$from = "PCのアドレス";
$subject = "お問い合わせがありました。\n";
$header  = $from."\n";
$msg = $header."さんからお問い合わせがありました。";
mb_send_mail($to, $subject, $msg, $header);
?>

どうでしょうか?
0220nobodyさん2006/08/10(木) 13:05:03ID:???
POSTで送ったURLの内容を表示させると文字化けする。
文字コードをEUCにすると他の文字が文字化けする。
どうすればいいの?
0221nobodyさん2006/08/10(木) 13:07:07ID:???
>>220
文字コード統一しろよ
0222nobodyさん2006/08/10(木) 13:10:35ID:oKJYDnYF
>>221
どうやって?
0223nobodyさん2006/08/10(木) 13:15:11ID:???
>>219
mb_internal_encoding("SJIS");
これがまずいんじゃない?
たしか内部エンコードSJISは使えなかったはず。
UTF-8かEUC-JPでやるとうまくいくと思う。
02242142006/08/10(木) 13:16:33ID:???
>>215-218
厳しいご意見ありがとうございます。
頑張って理解できるように勉強してまいります。
0225nobodyさん2006/08/10(木) 13:21:15ID:???
リファレンスマニュアルには次のように書いてある

PHPで動作しないと思われる文字エンコーディングの例を以下に示します。
JIS, SJIS, ISO-2022-JP, BIG-5
これらのエンコーディングで書かれたPHPスクリプトは、 特に符号化された文字列がスクリプトで記述子やリテラルに使用される場合には、 動作しない可能性がありますが、
入力されるHTTPクエリに関して mbstringの透過的なエンコーディングフィルタを 設定することでこれらのエンコーディングをほとんど使用しないようにすることが できます。

SJIS使いたければ、内部エンコードUTF-8とかにして出力時に自動変換がお勧め
0226nobodyさん2006/08/10(木) 13:27:35ID:???
>>222

-------- .htaccess --------
php_flag output_buffering On
php_value output_handler mb_output_handler
php_value default_charset UTF-8
php_flag mbstring.encoding_translation Off
php_value mbstring.http_input auto
php_value mbstring.http_input UTF-8,SJIS,EUC-JP,JIS,ASCII
php_value mbstring.substitute_character none
php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_output UTF-8
php_value mbstring.language Japanese
---------------------------
出力をSJISにしたいときは
php_value mbstring.http_output SJIS
とする
0227nobodyさん2006/08/10(木) 13:33:18ID:???
>>219
> $subject = "お問い合わせがありました。\n";
の."\n"を外せ。
「改行コードが余分だ」と言ったのに何を聞いてたんだ。
ttp://www.php.net/manual/ja/function.mail.php
> subject
> 送信するメールの表題。
> 注意
> 改行を含んではいけません。含めてしまうとメールが正しく送信できません。
0228nobodyさん2006/08/10(木) 13:37:33ID:???
>>227
ほんっとにアホだよな
0229nobodyさん2006/08/10(木) 14:15:48ID:83OIGtyl
>223,225,227さん
レスありがとうございます。

教えて頂いた内容を試しましたが、だめっぽいですorz
mb_internal_encoding("UTF8");としてみましたが、
あいかわらずヘッダー情報のようなものは出力されます。

\nはあまり関係が無いようでした。
以下のようエンコードをUTFにして各変数の中身を空っぽにして
送信したところ、そのいらないヘッダー情報だけが本文として送られてきてしましました。

<?php
mb_language("ja");
mb_internal_encoding("UTF8");
$to = "携帯のアドレス";
$from = "PCのアドレス";
$subject = "";
$header  = "";
$msg = $header."";
mb_send_mail($to, $subject, $msg, $header);
?>

上から2行のmb関数の行を削除して送信してみたら、
mime-version:1.0
content-type:text/plane;carset=utf8
content-transfer-encoding: base64
これの最後の行がbace64になったという以外、大きな変化はありませんでした。
0230nobodyさん2006/08/10(木) 14:16:46ID:83OIGtyl
$msg = ""; です。すみません。
0231nobodyさん2006/08/10(木) 14:25:41ID:???
認証の関係でサブスクライバIDを取得したいのですがuser_agentでは取得できませんでした(当然といわれれば当然ですが)
どのような関数で取得できるでしょうか?
下らない質問で申し訳ありませんがお願い致します
0232nobodyさん2006/08/10(木) 14:26:53ID:83OIGtyl
みなさんすみません。こんなのを見つけてしまいました.....orz

ttp://blog.itoy.jp/archives/20050108_0133.php

本家のURLは移動したっぽくて確認できませんでしたが、ドコモ的な仕様っぽいです。どうにもならないでしょうか?
0233nobodyさん2006/08/10(木) 14:28:34ID:???
>>229

<?php
mb_language("ja");
mb_internal_encoding("UTF8");
$to = "[email protected]";
$from = "[email protected]";
$subject = "てすとサブジェクト";
$header = "From: " . $from;
$msg = "本文";
mb_send_mail($to, $subject, $msg, $header);
?>
0234nobodyさん2006/08/10(木) 14:37:03ID:83OIGtyl
>233
ありがとうございます。
ドコモ以外のキャリアをお使いですか?

ttp://www.nttdocomo.co.jp/info/spam_mail/if/index06.html
オフィシャルな情報をみつけました。

携帯に通知するようなサービスは結構あると思うのですが、どうやってやっているのでしょうか。
0235nobodyさん2006/08/10(木) 14:53:19ID:???
>>231
そんな限定された機能の関数はない
0236nobodyさん2006/08/10(木) 15:02:26ID:???
>>235
あるよはげ
$_SERVER['HTTP_X_UP_SUBNO']
■ このスレッドは過去ログ倉庫に格納されています