【PHP】下らねぇ質問はID出して書き込みやがれ 91
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/12/08(火) 13:53:09ID:???過去スレ、関連スレ、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等)・フレームワークは各該当スレへ
0566nobodyさん
2009/12/26(土) 14:13:51ID:cSlUn0miログ保存の処理をしています。(log.phpとします)
このファイルをIFRAMEなどで2つ読み込んだ時、
どちらか一方のログが記録されない場合があります。
同時アクセスが原因だと思いますが、こういう場合どう対処すればいいのでしょうか?
0567nobodyさん
2009/12/26(土) 14:19:08ID:???0569nobodyさん
2009/12/26(土) 14:26:53ID:???0570nobodyさん
2009/12/26(土) 17:54:40ID:7XqYgoy00571nobodyさん
2009/12/26(土) 18:38:14ID:w2S23L5nfunction 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とは意味が違ってくると思うのですが
0572551
2009/12/26(土) 20:21:10ID:XUPV0oR3実はまだつづきがあってね。
それを実行すれば
貼るとながいんだ。
はってもいいかな?
それをrequire_onceして共通関数として
使えば文字化けはなくなるよ。
0573551
2009/12/26(土) 20:56:29ID:XUPV0oR3はらなくてよさそうだ。
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()でテストコードが終了してしまいます。
なんかいい方法ないでしょうか。
当方PHP5.2.x使用
0577nobodyさん
2009/12/26(土) 21:29:22ID:???0578nobodyさん
2009/12/26(土) 21:44:59ID:???してほしいのかしてほしくないのかどっちなんだw
0579nobodyさん
2009/12/26(土) 22:09:18ID:/CwwEmig通常は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:/CwwEmigexit()を上書きできる言語ならできます。RubyとかPythonとか。
0582nobodyさん
2009/12/26(土) 22:19:01ID:???http://www.php.net/manual/ja/book.runkit.php
0584nobodyさん
2009/12/26(土) 23:02:30ID:???何言ってるんだよお前ッ!!
お前がチンチンが痒いって言うから親身に相談にのってやってんだろうが!!
俺だっていそがしんだからな、分かったか?
0585553
2009/12/26(土) 23:21:13ID:???あれからurlencodeとかdecodeとかhttp_outputとか調べて色々試したのですが
まだ解決できていません...
可能であれば貼ってもらってもよろしいでしょうか。
0587551
2009/12/27(日) 01:12:28ID:HTyX6aDgecho '<'.'?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;
}
0588551
2009/12/27(日) 01:16:51ID:HTyX6aDg{
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,
0589551
2009/12/27(日) 01:17:37ID:HTyX6aDg'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,
),
);
0590551
2009/12/27(日) 01:21:43ID:HTyX6aDgforeach ($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;
}
?>
0591551
2009/12/27(日) 01:31:17ID:HTyX6aDg0592553
2009/12/27(日) 01:33:56ID:???長いコードを貼り付けていただき、ありがとうございます。
これで試してみます!
>>586
ケータイサイトなんです(泣)
0593nobodyさん
2009/12/27(日) 01:34:28ID:NIseTKcNInstallerというのがありません
どこにあるのでしょうか?
【ここにあるはずなのですが】
EXE
ZIP
EXEとZIPしかありません。
http://www.apachefriends.org/en/xampp-windows.html
0594nobodyさん
2009/12/27(日) 01:43:26ID:???0595551
2009/12/27(日) 01:45:37ID:HTyX6aDg0596553
2009/12/27(日) 01:47:52ID:???何回もすみません。
・・・
array(
'regexp' => '!^MOTEMULATOR!',
'carrier' => CARRIER_SOFTBANK,
),
); ←この行でエラーになってしまいます。
・・・
エラー:Parse error: syntax error, unexpected ';', expecting ')'
括弧の過不足など確認してみましたが、コードが複雑すぎて手に負えませんでした。
どのようなエラーでしょうか。。
0597553
2009/12/27(日) 01:49:33ID:???unexpected T_VARIABLE, expecting ')'
となってしまいます。
0598nobodyさん
2009/12/27(日) 01:51:47ID:NIseTKcNEXEをダウンロードすればいいんでしょうか?
0599593
2009/12/27(日) 01:56:11ID:NIseTKcNダウンロードすればいいのでしょうか?
http://sourceforge.net/projects/xampp/
0601nobodyさん
2009/12/27(日) 02:04:29ID:???),
が足りないんじゃない?
あと、
array(
'regexp' => '!^MOTEMULATOR!',
'carrier' => CARRIER_SOFTBANK,
), ←ここのカンマはいらない
);
0602551
2009/12/27(日) 02:07:55ID:HTyX6aDg), はずした。
0603nobodyさん
2009/12/27(日) 02:34:39ID:???0604601
2009/12/27(日) 02:42:07ID:???知ってる。
いま見たら、最後だけじゃなく全箇所不要なカンマ(あっても問題はないカンマ)が入ってるね。
新たに追加するときにカンマを入れ忘れることがあるから、それを防ぐための策だろうね。
0605nobodyさん
2009/12/27(日) 03:31:03ID:???0606nobodyさん
2009/12/27(日) 10:06:19ID:???0607nobodyさん
2009/12/27(日) 12:30:49ID:PylzfMP30608nobodyさん
2009/12/27(日) 14:10:44ID:NIseTKcN0609nobodyさん
2009/12/27(日) 14:11:37ID:???0610中卒
2009/12/27(日) 14:19:30ID:NIseTKcN0611nobodyさん
2009/12/27(日) 14:40:33ID:???0614nobodyさん
2009/12/27(日) 15:03:18ID:???やっぱ好きな分野勉強して好きな仕事した方が良いてことだな
漏れは高卒だが
0616nobodyさん
2009/12/27(日) 15:37:49ID:???0617nobodyさん
2009/12/27(日) 15:57:55ID:???あ、ごめん。給与が本当なら、別人だ。
>>615
25年くらい前は、結構いたらしく、新聞とかテレビなんかでも
若年天才プログラマが取り上げられたりもしていた。
高級言語が普及する前だから、基礎学力や、業務知識よりも、
プログラミングそのものの比重が今より高く、中卒でも実力次第で
就職できたし、景気も良かったから、高待遇だったそうだ
0618551
2009/12/27(日) 17:20:21ID:HTyX6aDg0619nobodyさん
2009/12/27(日) 18:20:11ID:???経歴で六年違うんだから、相当な差があっても不思議じゃない
ましてやこの業界は進化スピードが恐ろしく速い業界だし
0620nobodyさん
2009/12/27(日) 20:20:57ID:EZZjGXhz学生時代にFORTRANとCOBOLの経験が1ミリほどある30代後半だけど
出回ってるSNS改造して公開できるようになるには、
1日2時間の勉強時間が取れたとして
どのぐらいの期間勉強が必要でしょうか。
0621nobodyさん
2009/12/27(日) 20:38:14ID:???0622nobodyさん
2009/12/27(日) 20:40:03ID:???やっぱり、出きる人に頼むか。。。
0623nobodyさん
2009/12/27(日) 21:17:32ID:???無知でも会社で半年働けば大学で習う程度の技術は身に付く
正直、大卒よりも低学歴でも長年やってる奴の方が使える人材が多い気がする
物理演算などを使ったゲームやグラフィックを開発するとかだとそれ相応の学がないとダメなんだろうがな
あ、でも今の時代充実したオープンソースなライブラリなんかがあるか
0624nobodyさん
2009/12/27(日) 22:01:11ID:???mb_strlen()の第二引数のエンコーディングを何に指定すればお味結果が得られますか?
0625nobodyさん
2009/12/27(日) 22:13:25ID:???0626nobodyさん
2009/12/27(日) 22:17:19ID:???ただし、 strlen バイト数がでるとも限らない。
http://www.php.net/manual/ja/mbstring.overload.php
0627nobodyさん
2009/12/27(日) 22:22:17ID:???0628nobodyさん
2009/12/27(日) 22:22:40ID:???それともコピペ?
0629nobodyさん
2009/12/27(日) 22:47:22ID:???必要な部分は自力
0630nobodyさん
2009/12/27(日) 22:54:29ID:???char hoge+=1;
っていう感じのをPHPでやりたいんですが、
どのようにすれば書けば良いんでしょう?
0631nobodyさん
2009/12/27(日) 22:56:37ID:???char hoge+=1;
って書けるのか
0632nobodyさん
2009/12/27(日) 23:04:19ID:???0633nobodyさん
2009/12/27(日) 23:05:49ID:LlMGF4Xbunsigned longとかいってるHPありますが、引数にint func( unsined long num)なんてあったら引数に渡しても大丈夫なんですか?
今までint func( size_t )こんな関数の引数に渡したことくらいしかないのでわからないんですが
0634nobodyさん
2009/12/27(日) 23:06:32ID:LlMGF4Xb0635nobodyさん
2009/12/27(日) 23:14:18ID:???char hoge+=1;
すると何が起こるの?
0636nobodyさん
2009/12/27(日) 23:15:09ID:???0638nobodyさん
2009/12/27(日) 23:37:31ID:???0639nobodyさん
2009/12/28(月) 01:21:27ID:TpCjAyY+これをやめさせることはできますか。
0640nobodyさん
2009/12/28(月) 01:30:13ID:???過去からのいろいろがあって、ドットは変数名にできないから無理だと思うよ
ドットを使わないようにできないの?
0641nobodyさん
2009/12/28(月) 01:40:04ID:???0642nobodyさん
2009/12/28(月) 01:44:01ID:???のnameはGET,POSTともドットがアンダースコアに変わる
valueは変わらないが
http://www.php.net/manual/ja/language.variables.external.php
重要なことを記述しておくと、このため、外部変数に含まれるドットを PHP は自動的にアンダースコアに変換します。
0643nobodyさん
2009/12/28(月) 02:24:21ID:???けど$_SERVER['QUERY_STRING']では勝手に変わる前段階がセットされてるからこれ使って切り分ければいい
0644nobodyさん
2009/12/28(月) 04:18:28ID:TpCjAyY+結論としては、「できない」ということですね。
残念ですけど、「.」を使わない方法を考えることにします。
ありがとうございました。
0645nobodyさん
2009/12/28(月) 07:06:29ID:361SB18Mこれはどうしたら良いでしょうか?</HEAD>の直下に<script type="text/javascript">〜を書くと表示されなくなります
これをphpによってうまくできる方法はないでしょうか どうぞよろしくお願いします
↓
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE>pandoravote</TITLE>
</HEAD>
<FRAMESET cols="136,*">
<FRAME name="left" src="./indexb.html">
<FRAME name="bottom2" src="http://hagehagehage.net/">
<script type="text/javascript">
<!--
document.write("<IMG SRC=\"http://hagehage.net/access.cgi?");
document.write(document.referrer+"\" border=0 width=1 height=1>");
// -->
</script>
<NOFRAMES>
<BODY>
<P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P>
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>
0646nobodyさん
2009/12/28(月) 08:14:04ID:???0647nobodyさん
2009/12/28(月) 09:16:40ID:361SB18MCGIじゃないと無理だと言われたのであっちを打ち切ってこっちに来たんだもん
0648nobodyさん
2009/12/28(月) 10:01:56ID:???<IMG SRC="http://example.com/access.cgi?<?php echo isset($_SERVER[HTTP_REFERER])?$_SERVER[HTTP_REFERER]:""?>" border="0" width="1" height="1" />
<NOFRAMES>
0649nobodyさん
2009/12/28(月) 10:06:51ID:EdgvHAjX環境:WinXP + Eclipse + Xampp + cakePHP + XDebug
デバッグ実行できるのですが、
ローカル変数の値がすべて<Uninitialized>となっていて中身が見れません。
クラス内変数やスーパーグローバル変数は、値を見ることができます。
ローカル変数のみ、値が見れない状況です。
ネット検索しても、レアな現象なのか解決策が見つかりません。。。
0651553
2009/12/28(月) 10:35:39ID:???すみません、こちらの元から使っているキャリア判定プログラムなどとの
兼ね合いからそのままコードを丸写しで使用することができず
キャリア判定の部分以外をこちらの既存コードに抜粋&貼り付けして
試行錯誤してしますが、いまだ実現できていません。
貼っていただいたコードが「どのような原理」で動作する
ものなのか(キャリア判定部分以外でGET文字列の文字化け解消に必須な項目)の
ヒントをいただけるとありがたいです。
0654nobodyさん
2009/12/28(月) 14:34:43ID:???0655553
2009/12/28(月) 14:39:57ID:???ごめん名前入れなかったが>>653は俺だ。
確かにアドセンススレにいるが、この質問とアドセンスは
関係ないだろと言いたかった。
つーかアドスレ以外のスレにもいるんだがなぜアドスレだけ抜き出すんだ?
0656nobodyさん
2009/12/28(月) 14:42:25ID:???0657nobodyさん
2009/12/28(月) 16:15:51ID:???しかもユーザーが既に入力した箇所は残すフォームを
作りたいのですが、既入力を残す為にキャッシュを
使うとコメントを追加できないと思うのですが
既入力を取り込んでフォームを再構成しなければならないのでしょうか?
0658nobodyさん
2009/12/28(月) 16:19:10ID:???0659nobodyさん
2009/12/28(月) 16:22:03ID:0eE3RWlX携帯のチャットのユーザーエージェントを表示させる位置についてですが、
fputs($fp, "$_GET[n]><font color=$fc>$msg</font><br><font size=1>($now)★</font><hr size=1>\n");
下記コード単体では成功するのですが、★の部分に下記コードを入れるとエラーが出てしまいます。
include_once('Net/UserAgent/Mobile.php');
$agent = Net_UserAgent_Mobile::factory();
//型番の入手
$model = $agent->getModel();
if ($agent->isDoCoMo()) {
echo("お使いの機種はDoCoMoの{$model}です。");
} else if ($agent->isVodafone()) {
echo("お使いの機種はVodafoneの{$model}です。");
} else if ($agent->isEZweb()) {
echo("お使いの機種はEZwebの{$model}です。");
}
どうにかして★の部分にユーザーエージェントを表示させたいのです。
よろしくお願い致しますm(_ _)m
0660nobodyさん
2009/12/28(月) 16:22:51ID:???今は $str[strlen($str)-1] としているのですが、なんかもっといいイディオムがあれば教えてください。
0663nobodyさん
2009/12/28(月) 16:46:34ID:???を
fputs("〜1");
★
fputs("〜2");
になおす
0664nobodyさん
2009/12/28(月) 16:51:48ID:???include_once('Net/UserAgent/Mobile.php');
$agent = Net_UserAgent_Mobile::factory();
//型番の入手
$model = $agent->getModel();
$mStr = "";
if($agent->isDoCoMo()) {
$mStr = "お使いの機種はDoCoMoの{$model}です。";
}else if($agent->isVodafone()) {
$mStr = "お使いの機種はVodafoneの{$model}です。";
}else if ($agent->isEZweb()) {
$mStr = "お使いの機種はEZwebの{$model}です。";
}
fputs($fp, "$_GET[n]><font color=$fc>$msg</font><br><font size=1>($now)$mStr</font><hr size=1>\n");
でうごくんでないの(・ω・)
>>660
substr($str,-1)
0665nobodyさん
2009/12/28(月) 17:10:43ID:???たしかに一から勉強が必要ですね。
>>663さん
二つに分けて表示するんですね。
こうゆう風にすれば色々と応用がききそうですね。
>>664さん
感動しました(>ω<。) 完璧にうごきました。
皆様ありがとうございました!
■ このスレッドは過去ログ倉庫に格納されています