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

【PHP】下らねぇ質問はID出して書き込みやがれ 91

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/12/08(火) 13:53:09ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0497nobodyさん2009/12/23(水) 05:40:00ID:9xQ+acVI
サーバーから任意のアドレスにリクエストを発生します。
そして返ってきたヘッダーにsetCookieが有った場合、それを任意のファイルに保存する事が出来、
そのファイルを指定すると、そのクッキー内容をセットして送信してくれる
またその関数はオプションで、レスポンスヘッダーにLocationが存在した場合、自動的にそのURLにリダイレクトもしてくれる
という関数を探しています。
以前使った記憶があるのであるはずなのですが、どうにも検索出来ません。
php cookie ですと、サーバーからクライアントにクッキーを渡す、受ける方法しか出てこないので。

この関数に心当たりの有る方、是非教えてください。
0498nobodyさん2009/12/23(水) 06:20:09ID:yNzqV2OY
ようわからん
用途を言え
さすれば>>499が答えてくれるはず
0499nobodyさん2009/12/23(水) 07:00:12ID:???
>>497
ひとつの関数ではないけど、CURLじゃないかね?
0500nobodyさん2009/12/23(水) 07:13:44ID:9xQ+acVI
>>499
それです。ありがとうございました。

>>498
サイトのソースを取得したかったが、file_get_contentsだと「オメーのアクセス不正だからデータ出してやんねー」
って弾かれるから、セッションとかその辺がいかんのかなぁと思って聞いた。

が、どうもUAが空なのが原因だったらしい。
0501nobodyさん2009/12/23(水) 09:31:57ID:???
>>496
stream_filter_append で convert.base64-decodeと bzip2.decompress なんて手も。
0502nobodyさん2009/12/23(水) 10:34:14ID:cvJgDWhA
ID:5FKPpQ9S マジでGJ!!
俺もやってみるわ。なんか書き込んでとか生意気なこといったのに応じてくれてありがとう
0503nobodyさん2009/12/23(水) 10:35:28ID:GedKCbN8
<?php

function print_current_date($params, &$smarty)
{
if(empty($params['format'])) {
$format = "%b %e, %Y";
} else {
$format = $params['format'];
}
return strftime($format,time());
}
?>

質問させてください。
関数print_current_dateの第2引数 &$smarty の意味が分かりません
参照渡しだと言う事は分かるのですが、引数に指定された時にはいったいどういう挙動をするのでしょうか?
0504nobodyさん2009/12/23(水) 10:41:08ID:???
>>503
関数内で参照で使えるようになるよ
0505nobodyさん2009/12/23(水) 10:50:58ID:???
Smartyのテンプレート関数登録 register_functiont使うときのお決まりになってる。
その関数でsmartyの機能を参照できるようにするためで、引数に渡される。
使わないなら何もしない。 その関数の中で $smarty->trigger_error とか使うためのもの。
0506nobodyさん2009/12/23(水) 11:04:44ID:GedKCbN8
>>504-505
ありがとうございました
0507nobodyさん2009/12/23(水) 17:00:21ID:NNi2TGwI
IFRAME内で echo $_COOKIE["test_cookie"]としたのですが、
何も表示されません。

クッキーの受け渡しは出来ているのですが、
もしかしてIFRAMEだとクッキーを認識しないのでしょうか?
0508nobodyさん2009/12/23(水) 17:15:07ID:???
echo print_r($_COOKIE,true);
してみろ
0509nobodyさん2009/12/23(水) 17:28:54ID:???
なんでわざわざ第二引数trueにしてまで
05105072009/12/23(水) 17:28:57ID:NNi2TGwI
>>508
PHPSESSIDはでますが、クッキー用の変数は出ません
0511nobodyさん2009/12/23(水) 17:33:01ID:???
iframeのドメインが違ったりしない?
0512nobodyさん2009/12/23(水) 17:35:08ID:???
記入不足等のエラーがある場合に、
ブラウザの戻るボタンと同様の動作はできますか?
リダイレクトheader('Location〜だと新しく読み直してしまうんですが・・
05135072009/12/23(水) 17:37:59ID:NNi2TGwI
>>511
クッキーを渡すURLがhttp://localhost/admin/setting.php
クッキーを受け取るURLがhttp://localhost/test.php です。
渡し方はsetcookie("test_cookie","1");としています。
0514nobodyさん2009/12/23(水) 17:39:34ID:???
>>512
history.back();でググるといいよ
05155072009/12/23(水) 17:42:05ID:???
自己レスです。わかりました。
setcookie("test_cookie","1",time()+3600,"/");

とすれば良いみたいです。おさわがせしました。
0516nobodyさん2009/12/23(水) 17:45:16ID:???
>>514
ありがとう
0517nobodyさん2009/12/23(水) 20:59:16ID:IsKOC7oo
【PHPのバージョン】5.2.6
【libxslt Version】1.1.24
XSLTProcessorなんだが

【×】
<xsl:variable name="fragment" select="'091223006'"/>
<xsl:template match="a[@name=$fragment]">
 <div><xsl:value-of select="$fragment" /></div>
</xsl:template>

Undefined variable
compilation error: file xxxx.xsl line 2 element template
Failed to compile predicate

【○】
<xsl:variable name="fragment" select="'091223006'"/>
<xsl:template match="a[@name='091223006']">
 <div><xsl:value-of select="$fragment" /></div>
</xsl:template>

<div>091223006</div>

なんで上のがエラーなんだよ。
死ねクソPHP。
0518nobodyさん2009/12/24(木) 03:35:43ID:???
やっべ自分のコード醜い
ワロタw
0519nobodyさん2009/12/24(木) 03:36:29ID:???
誤爆
0520nobodyさん2009/12/24(木) 15:58:09ID:RlAOKAtP
hoge->poge()
hoge::poge()

ってどう使い分ければいいんでしょうか?
0521nobodyさん2009/12/24(木) 16:08:47ID:K1JQdV/R
->はアロー演算子,::はスコープ解決演算子っていう名前がついてる
ぐぐってみれ
0522nobodyさん2009/12/25(金) 02:20:42ID:???
SmartIRCを使って
0523nobodyさん2009/12/25(金) 02:21:45ID:???
途中で書き込んでしまった。
SmartIRCを使ってチャンネルのトピックや参加人数を
変数に取得したいのですが、やりかたがわからず。。

どなたか教えていただけると助かります。
0524nobodyさん2009/12/25(金) 02:39:45ID:???
スレタイを読んでいただけると助かります。
0525nobodyさん2009/12/25(金) 11:09:57ID:BJR7sXEG
test.php
<?php
$test=$_GET['key'];
if($test==='aiueo'){
/* srcディレクトリにあるtest.zipをダウンロード開始 */
}else{
/* 何もしない */
}
?>
で、keyをphp側で受け取って'aiueo'と一致すれば
test.zipのダウンロード開始をしたいです。
このダウンロード開始というのは、
ブラウザで右クリック保存を押したときに、
保存画面が表示されるときのような感じです。
(または単に、.zipのようなファイルにアクセスがあったとき
ブラウザ側で勝手に拡張子を判断してダイアログをだしてくれるような)
keyが一致すれば、test.zipまでのファイルのパスを
aタグで指定したのを表示して〜(<a href="http〜〜〜/src/test.zip" title="test">ダウンロード</a>)
みたいに二段階だと簡単にできるのですが、一段階だと思うようにできません。

自分なりに考えたのが、RewriteRuleでtest.zipにアクセスがあったときtest.phpへつなぐようにして、
php側でkeyが一致したとき
echo file_get_contents('./src/test.zip');
を実行、
ダウンロード自体はhttp〜〜/src/test.zip?key=aiueoでアクセス、という感じです。
これなら一応できるにはできたのですが、そのままファイルの内容を表示してしまうので
実質urlの上で右クリックダウンロードしかできないし、そもそも間違った方法のような気がします。
ようは、普通ならhttp〜/src/test.zipへアクセスすれば単純にダウンロードできるところをkey一致の段階を付け足したいというところです。
ファイルのタイプはzip以外にもで、keyのaiueoも一定時間で変化するようにできたら、と考えています。
何か良い方法があればアドバイスお願いします。
PHP5.2.6 Apache2
0526nobodyさん2009/12/25(金) 11:12:03ID:???
>>525
http://jp2.php.net/manual/ja/function.header.php
0527nobodyさん2009/12/25(金) 11:21:44ID:BJR7sXEG
>>526
おぉ、こんな簡単な方法が。
やりたいことができました!
ありがとうございました。
0528nobodyさん2009/12/25(金) 11:31:51ID:v7rwUytB
質問です。

会社の意向でPHPを2週間で習得しなければならなくなりました。
個人的にはrubyやpythonが使えるので今更PHPみたいな名前も構文も
設計思想も時代遅れの糞言語を習得する時間がもったいなくてたまり
ません。RoRやdjangoの素晴らしさを説明してもアホな上司は何もわ
かってくれないし(泣

僕はどうすればいいのでしょうか?アドバイスお願いします。
0529nobodyさん2009/12/25(金) 11:37:25ID:???
>>528
スレ違いです
0530nobodyさん2009/12/25(金) 11:40:04ID:???
>>529
【PHP下らねぇ】質問はID出して書き込みやがれ 91
全然スレちぢゃないけど?
0531nobodyさん2009/12/25(金) 11:53:17ID:???
>>528
覚えていないのにそんなこと分かるんだ。すごいね。
0532nobodyさん2009/12/25(金) 11:59:22ID:???
>>530
PHPの質問ですか?
質問内容を理解できずすみませんでした。
0533nobodyさん2009/12/25(金) 12:00:34ID:???
>>532
ぷっ
0534nobodyさん2009/12/25(金) 12:58:53ID:???
> 質問です。
>
> 会社   で
>           使え        な
>                        い
>                      アホな
>
>
> 僕はどうすればいいのでしょうか?アドバイスお願いします。

気にせずクリスマスを祝えばいいと思うよ
0535nobodyさん2009/12/25(金) 13:07:56ID:???
とまあ、ネタに乗ってあげるやさしい回答者達でした。
0536nobodyさん2009/12/25(金) 13:11:14ID:???
感動した
0537nobodyさん2009/12/25(金) 13:46:55ID:???
>>528
そんなアホな上司がいる会社は見限って、うちの会社に来ないか?うちの会社は警備会社だが。
0538nobodyさん2009/12/25(金) 13:53:03ID:9hjXXeKP
警備なら毎日やってますよ
0539nobodyさん2009/12/25(金) 15:22:23ID:???
imagettftextで数式を表示させたいんですが「+」が表示されません。
表示できるフォントあるいは他の解決法があれば教えてもらえないでしょうか。お願いします。
05405392009/12/25(金) 16:37:50ID:???
解決しました!
0541nobodyさん2009/12/25(金) 17:06:12ID:ODrit1bB
<?php
function smarty_prefilter_no_php($src, &$o_smarty) {
$result=str_replace("{php}","{ldelim}php{rdelim}",$src);
$result=str_replace("{/php}","{ldelim}/php{rdelim}",$result);
return $result;
}
?>

上記の関数内の変数resultはどちらも「=」で代入されていますが、オーバーライドされないのでしょうか?
0542nobodyさん2009/12/25(金) 17:24:54ID:???
$a = 4
$a = 5 + $a ってだけですね。
0543nobodyさん2009/12/25(金) 17:35:52ID:ODrit1bB
>>542
すみません
$a .= 5 のように「=」の前にドットを付けるとそのようになるのは知っているのですが、単なる「=」でもそのように出来るのですか?
-> 等は追記していけるのは分かりますが、=がそのような動作を出来るとは知りませんでした

普通に
$a = Hello;
$a = World;
とするとオーバーライドだれると思うのですが、>>541の場合は第2引数の参照渡しとかが何か影響しているのでしょうか?

0544nobodyさん2009/12/25(金) 17:48:40ID:???
まぁ、オーバーライドはそういう意味で使う事は稀だと思うが。

>>543
$a=4;
$a=5+$a;
//ここで$aは9だ。
0545nobodyさん2009/12/25(金) 17:57:27ID:???
$result=str_replace("{php}","{ldelim}php{rdelim}",$src);
変数 $src の中の {php}という文字列を  {ldelim}php{rdelim} に置き換えたものを $resultに入れます。

$result=str_replace("{/php}","{ldelim}/php{rdelim}",$result);
変数 $result の中の {/php}という文字列を {ldelim}/php{rdelim} に置き換えたものを $result に入れます。

プログラムの用語でオーバーライドは別の意味に使うので、 ただの変数の上書きの時には使わないです。
0546nobodyさん2009/12/25(金) 18:15:11ID:???
オーバーwrite(ライト)だな、言うとしたら。
0547nobodyさん2009/12/25(金) 18:19:15ID:ODrit1bB
>>544-545
わかりました
オーバーライドの意味自体を勘違いしていたようです
自分の言いたかったのは上書きでした


ごめんなさい、まだ良く分かっておりません(苦笑)
<?php
$a = Hello;
$a = World;
print $a;
?>
で試すとブラウザには「Hello」が上書きされて「World」と出力されますが、これと、
>変数 $src の中の {php}という文字列を  {ldelim}php{rdelim} に置き換えたものを $resultに入れます
という今回のコードでの意味との違いは何なのでしょうか?
str_replace()だと違う挙動になるのでしょうか?
05485472009/12/25(金) 18:21:00ID:ODrit1bB
ごめんなさい、わかりました
非常に馬鹿でした

$result=str_replace("{/php}","{ldelim}/php{rdelim}",$result);
の$resultが見えていなかったようです
ほんとお騒がせしてすみませんでした
0549nobodyさん2009/12/25(金) 18:27:05ID:???
$a = 4
$a += 5
//$a:9
0550nobodyさん2009/12/25(金) 18:54:34ID:+jc140hL
携帯電話で検索フォームを作っているのですが、auのみ結果が文字化けしてしまいます。
(というより検索クエリ自体が化けているらしく結果も正しくありません)
フォームはGETで、ページはUTF-8です。auはフォームからのデータがSJISになってしまうということは
ググってわかったのですが、どうやってSJIS→UTF-8に変更してデータを送るかがわかりません。。。
どのような方法がありますでしょうか。
0551nobodyさん2009/12/25(金) 19:09:37ID:dFEOAZcl
<?php
define('CARRIER_DOCOMO', 'i');
define('CARRIER_EZWEB', 'e');
define('CARRIER_SOFTBANK', 's');
define('CARRIER_PC', 'pc');function mobileStart()
{
//■php内部文字エンコーディング
mb_internal_encoding('utf-8');

//■header出力
//携帯アクセスでdocomoの場合は、Content-Typeを出力
if (whichCarrier() == CARRIER_DOCOMO) {
header("Content-Type: application/xhtml+xml;");
}
//auのみ、ブラウザキャッシュが効くのでキャッシュ無効にする
if (whichCarrier() == CARRIER_EZWEB) {
header('Cache-Control: no-cache');
}

//■出力バッファ開始
ob_start();
0552nobodyさん2009/12/25(金) 19:31:27ID:???
>>550
mb_convert_encodingでいいのでは?
0553taigo ◆RpNs8sZ5pNfE 2009/12/25(金) 21:52:22ID:+jc140hL
>>551
ありがとうございます、が。。。やはり文字化けしてしまいます。
ページ変遷がなく、同じページを読み込んでいるのですが
それが原因となることはありますか?
0554nobodyさん2009/12/25(金) 22:38:29ID:9hjXXeKP
httpのメッセージボディをgzipで取得したとき、デコード(復号)するにはどうすればいいですか?
phpとかrubyだとたくさん資料あるのですが自分はC++つかっててよくわかりませんでした。
わかる方いらっしゃったらぜひともよろしくお願いします
0555nobodyさん2009/12/26(土) 02:04:33ID:???
>>554
>>489-496
0556nobodyさん2009/12/26(土) 06:41:22ID:3WIBYwDf
サイト内で不特定ユーザーに対してお気に入り登録機能をつけるために、クッキーを使おうと思います。

一つだけならセットできたのですが、違う商品を登録すると上書きされてしまいます。
$_COOKIE[`a`]に登録したいものをarray_pushとかで配列として増やすことは可能ですか?
何度か試したけれどエラーがでて上手くいかないので・・・
0557nobodyさん2009/12/26(土) 07:55:11ID:???
>>556
代わりに$_SESSIONを使うとよかろうん
0558nobodyさん2009/12/26(土) 08:40:23ID:???
http://php.net/manual/ja/function.setcookie.php
0559nobodyさん2009/12/26(土) 10:03:43ID:???
>>556

http://www.php.net/manual/ja/function.setcookie.php

クッキー名で配列を記述することにより、 クッキーの配列を設定することも可能ですが、
複数のクッキー がユーザーのシステム上に保存されることになります。
explode() を使用して ひとつのクッキー上に複数の名前と値をセットすることも 考慮してください。
serialize() の使用はセキュリティーホールになり得るため、 この目的のために使用することはお勧めしません。
0560nobodyさん2009/12/26(土) 11:08:36ID:wIFCZoqo
>>555
それはおそらくphpの話だと思うのですが
0561nobodyさん2009/12/26(土) 11:32:50ID:???
だって、このスレは(略
0562nobodyさん2009/12/26(土) 11:33:15ID:???
わしもそう思う
つまりスレ違い
0563nobodyさん2009/12/26(土) 11:57:21ID:wIFCZoqo
よくみたらphpでした
すいませんでした
自分で考えます
0564nobodyさん2009/12/26(土) 13:33:40ID:wnAP/Woh
外部ページへのリンクのみ確認ページをはさみたいのですがphpで可能でしょうか?
イメージは2ちゃんねるの外部リンク「http://ime.nu/」と同じです。
具体的な要件は・・・

外部リンクのURL -> http://自分のサイトドメイン/[外部リンクページのURL]という
ページを自動生成
確認ページに外部リンク先のURLを表示させてクリックすると実際にそのページへ飛ぶ

初心者質問かもしれませんが、どなたかお力をお貸しください。
よろしくお願いいたします。
0565nobodyさん2009/12/26(土) 13:41:29ID:???
可能。
http://自分のサイトドメイン/index.php?url= [外部リンクページのURL]
確認ページを挟みたいなら、http://自分のサイトドメイン/sure.php?url= [外部リンクページのURL]

0566nobodyさん2009/12/26(土) 14:13:51ID:cSlUn0mi
fopenでファイルを開いてfwriterで書き込み、fcloseでファイルを閉じるという
ログ保存の処理をしています。(log.phpとします)

このファイルをIFRAMEなどで2つ読み込んだ時、
どちらか一方のログが記録されない場合があります。

同時アクセスが原因だと思いますが、こういう場合どう対処すればいいのでしょうか?
0567nobodyさん2009/12/26(土) 14:19:08ID:???
キャッシュ
0568nobodyさん2009/12/26(土) 14:25:44ID:???
>>565
いただいたヒントでなんとか実現できました。
簡単なことだったのですね。。
ありがとうございました!
0569nobodyさん2009/12/26(土) 14:26:53ID:???
syslog()
0570nobodyさん2009/12/26(土) 17:54:40ID:7XqYgoy0
mysqlと同じ内容の 接続をPDOで要求した場合、再利用されますか?
0571nobodyさん2009/12/26(土) 18:38:14ID:w2S23L5n
((ファイル1))
function smarty_resource_db_source($tpl_name, &$tpl_source, &$o_smarty) {}や
function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$o_smarty) {}の
リソース名dbについて教えて欲しいのですが、

((ファイル2))
require_once("../MySmarty.class.php");
$o_smarty=new MySmarty();
$o_smarty->default_resource_type="db";
$o_smarty->display("resource_db.tpl");

の$o_smarty->default_resource_type="db";のリソースの種類dbと、ファイル1のリソース名dbは同じなのでしょうか?
普段はdefault_resource_typeのデフォルトはfileなようですが、もしdbがデータベースを表しているのであれば適当に付けた(?)dbとは意味が違ってくると思うのですが
05725512009/12/26(土) 20:21:10ID:XUPV0oR3
>>553
実はまだつづきがあってね。
それを実行すれば
貼るとながいんだ。
はってもいいかな?
それをrequire_onceして共通関数として
使えば文字化けはなくなるよ。
05735512009/12/26(土) 20:56:29ID:XUPV0oR3
>>553できたみたいだな。
はらなくてよさそうだ。
0574nobodyさん2009/12/26(土) 21:07:32ID:wIFCZoqo
おしりが二つにわれてます
病気でしょうか?
0575nobodyさん2009/12/26(土) 21:08:17ID:wIFCZoqo
すいません誤爆しました
あああはずかしいいいいいいい
0576nobodyさん2009/12/26(土) 21:24:44ID:/CwwEmig
内部でexit()を呼んでいるユーティリティ関数があるんですけど、
これのテストコードを書こうとして困っています。
テストするためには当然その関数を呼び出す必要があるわけですが、
そうするとexit()でテストコードが終了してしまいます。
なんかいい方法ないでしょうか。
当方PHP5.2.x使用
0577nobodyさん2009/12/26(土) 21:29:22ID:???
exit()の頭に//を書くとコメントにできる裏技がある
0578nobodyさん2009/12/26(土) 21:44:59ID:???
exitを書いた関数のテストがexitで終了するなら正常な動作じゃないかw 
してほしいのかしてほしくないのかどっちなんだw
0579nobodyさん2009/12/26(土) 22:09:18ID:/CwwEmig
>>578
通常はexit()で終了してほしいけど、テストのときは終了してほしくない、ということです。
たとえば
function redirect_to($url) {
 header('Location: '.$url);
 exit();
}
というのがあって、これをテストしたい場合、
・redirect_to()を呼ぶと引数が Location: ヘッダの値として設定されることをテストする
・(可能なら)exit()が呼ばれることをテストする
ということになると思います。こういうテストがしたいんですけど、PHPでは無理ですか。
0580nobodyさん2009/12/26(土) 22:13:21ID:???
それできる言語とかあんの?
0581nobodyさん2009/12/26(土) 22:15:48ID:/CwwEmig
>>580
exit()を上書きできる言語ならできます。RubyとかPythonとか。
0582nobodyさん2009/12/26(土) 22:19:01ID:???
へー、PHPでやるならrunkitかなぁ
http://www.php.net/manual/ja/book.runkit.php
0583nobodyさん2009/12/26(土) 22:25:16ID:???
>>574
いつの時代だよw
0584nobodyさん2009/12/26(土) 23:02:30ID:???
>>153
何言ってるんだよお前ッ!!
お前がチンチンが痒いって言うから親身に相談にのってやってんだろうが!!
俺だっていそがしんだからな、分かったか?
05855532009/12/26(土) 23:21:13ID:???
>>573
あれからurlencodeとかdecodeとかhttp_outputとか調べて色々試したのですが
まだ解決できていません...
可能であれば貼ってもらってもよろしいでしょうか。
0586nobodyさん2009/12/27(日) 00:25:23ID:???
>>585
あんまり読んでないけど、
JavaScriptで変換してから送信すれば?
と言ってみる
05875512009/12/27(日) 01:12:28ID:HTyX6aDg
本当にながいぞ
echo '<'.'?xml version="1.0" encoding="Shift_JIS" ?'.'>'."\n";

switch (whichCarrier()) {
case CARRIER_DOCOMO:
case CARRIER_PC:
echo '<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.3) 1.0//EN" "i-xhtml_4ja_10.dtd">';
break;
case CARRIER_EZWEB:
echo '<!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML 1.0//EN" "http://www.openwave.com/DTD/xhtml-basic.dtd">';
break;
case CARRIER_SOFTBANK:
echo '<!DOCTYPE html PUBLIC "-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN" "xhtml-basic10-plus.dtd">';
break;

function mobileFinish()
{

$content = ob_get_contents();
ob_end_clean();
$content = mb_convert_encoding($content, 'sjis-win', 'utf-8');
echo $content;
}


05885512009/12/27(日) 01:16:51ID:HTyX6aDg
function varout($str)
{
echo htmlspecialchars($str, ENT_QUOTES);
}

function whichCarrier()
{
global $_mobile_carrier;
//すでに判別済みの場合は前回結果を返す
if ($_mobile_carrier != null) {
return $_mobile_carrier;
}
$uaList = array(
array(
'regexp' => '!^DoCoMo!',
'carrier' => CARRIER_DOCOMO,
),
array(
'regexp' => '!^KDDI-!',
'carrier' => CARRIER_EZWEB,
),
array(
'regexp' => '!^UP\.Browser!',
'carrier' => CARRIER_EZWEB,
),
array(
'regexp' => '!^SoftBank!',
'carrier' => CARRIER_SOFTBANK,
05895512009/12/27(日) 01:17:37ID:HTyX6aDg
array(
'regexp' => '!^Vodafone!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^J-PHONE!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^MOT-!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^Semulator!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^Vemulator!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^J-EMULATOR!',
'carrier' => CARRIER_SOFTBANK,
),
array(
'regexp' => '!^MOTEMULATOR!',
'carrier' => CARRIER_SOFTBANK,
),
);
05905512009/12/27(日) 01:21:43ID:HTyX6aDg
$ua = $_SERVER['HTTP_USER_AGENT'];

foreach ($uaList as $item) {
if (preg_match($item['regexp'], $ua)) {
$_mobile_carrier = $item['carrier'];
break;
}
}
if ($_mobile_carrier == null) {
// PCやその他のUAでアクセスされたとき
$_mobile_carrier = CARRIER_PC;
}

return $_mobile_carrier;
}
?>
05915512009/12/27(日) 01:31:17ID:HTyX6aDg
はったぞ
05925532009/12/27(日) 01:33:56ID:???
>>551
長いコードを貼り付けていただき、ありがとうございます。
これで試してみます!

>>586
ケータイサイトなんです(泣)
0593nobodyさん2009/12/27(日) 01:34:28ID:NIseTKcN
zamppをインストールして開発環境を整えたいのですが
Installerというのがありません
どこにあるのでしょうか?
【ここにあるはずなのですが】
EXE
ZIP

EXEとZIPしかありません。

http://www.apachefriends.org/en/xampp-windows.html
0594nobodyさん2009/12/27(日) 01:43:26ID:???
exe
05955512009/12/27(日) 01:45:37ID:HTyX6aDg
これでわからなかったらまた聞いてくれ
05965532009/12/27(日) 01:47:52ID:???
>>551
何回もすみません。
・・・
array(
'regexp' => '!^MOTEMULATOR!',
'carrier' => CARRIER_SOFTBANK,
),
); ←この行でエラーになってしまいます。
・・・
エラー:Parse error: syntax error, unexpected ';', expecting ')'

括弧の過不足など確認してみましたが、コードが複雑すぎて手に負えませんでした。
どのようなエラーでしょうか。。
■ このスレッドは過去ログ倉庫に格納されています