【PHP】下らねぇ質問はここに書き込みやがれpart16
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/02/05(日) 22:35:34ID:sf8bx52Dここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
過去スレは>>2
0607nobodyさん
2006/02/18(土) 11:48:31ID:???$OptValue = $_REQUEST["hoge"];
echo "<form>"
."<select>";
$num = 20;
for ($n = 1; $n < $num; $n++)
echo "<OPTION value=\"$n\"" . (($OptValue==$n)?(" selected"):("")) . ">$n</OPTION>";
echo "</select></form>";
?>
0608nobodyさん
2006/02/18(土) 11:48:44ID:XJx/AN5Sリンクはhtmlみたいに、./example2.php#topってやってもエエのん?
(´・ω・`)そんなやり方ダセー!とか言われない?
0609nobodyさん
2006/02/18(土) 11:53:09ID:???#以降の文字は サーバに送信すらされないんだっ!
0610nobodyさん
2006/02/18(土) 12:02:59ID:XJx/AN5Sえええええ?
じゃあ、どうすればエエのん?(´・ω・`)
0612nobodyさん
2006/02/18(土) 12:12:11ID:???こういうことかい
http://nike.s151.xrea.com/info.php#module_gd
0613608
2006/02/18(土) 12:14:45ID:???そうそう!それです!
よかった、もっとPHPらしいやり方とか
あるのかと思いました…。
>>611,612
お二方レスさんくすです!ヽ( ^∀^)ノ
0616nobodyさん
2006/02/18(土) 13:49:44ID:???>>606さんが行ってたユーザ関数を使う俺の場合
もっとこうしたらってのがあったらよろ
下ではvalueとselectしか出力して無いけど、optionタグ丸ごと出したほうがいいかもって気がしてきた
------------------------------
selected(5);
function selected($value)
{
print 'value=' . $value;
if($_GET["hoge"] == $value)
{
print " selected";
}
}
------------------------------
0617nobodyさん
2006/02/18(土) 15:23:05ID:???どうすればよかとでしょうか?
mb_send_mail以外で使うためです。
0618nobodyさん
2006/02/18(土) 15:41:40ID:???php.iniに起因する起動時のWARNINGをキャッチするのは無理でしょ。
Apacheとかのログに一応でるけど。
php.iniをそんなに頻繁に書き換えることないと思うけど?
という上記の意味合いにも取れる質問なんだけど、
本当は下みたいな情報が欲しいの?
http://www.php.net/manual/ja/ref.errorfunc.php
http://www.php.net/manual/ja/function.set-error-handler.php
0621nobodyさん
2006/02/18(土) 15:45:55ID:???<OPTION value="1"<?php echp ($value==1)? " selected": ''?>>1</OPTION>
<OPTION value="2"<?php echp ($value==2)? " selected": ''?>>2</OPTION>
<OPTION value="3"<?php echp ($value==3)? " selected": ''?>>3</OPTION>
くらいしか…
0623nobodyさん
2006/02/18(土) 15:49:18ID:???optionタグに追加の属性とか入れたくなったときに困るから
俺ならselectedしか出さないようにする。
0626nobodyさん
2006/02/18(土) 16:05:33ID:rgTa0qqQ内部文字コードはSJISで、PHP4.4.1を使用しています。
0627nobodyさん
2006/02/18(土) 17:14:38ID:???単純にその値だけ見て厳密な判定は不可能。
(特定の文字が入力されると判定を失敗する場合がある)
よくある手法としては、hiddenで絶対に誤判定しない文字列を常時入れといて
そいつがSJISになってるかどうかで判定するという手法。
0628nobodyさん
2006/02/18(土) 17:25:07ID:???0629nobodyさん
2006/02/18(土) 17:41:24ID:rgTa0qqQで$_POST[a]にいろいろしていましたが、SJISをうまく判別してくれません。。
hiddenでいれてもだめでした。
半角英数字だとASCII、ひらがなをいれると何も表示されず、iモードの絵文字を入れるとUTF-8になり、
何も入力しないとASCIIです。。
0630nobodyさん
2006/02/18(土) 18:09:28ID:???0631nobodyさん
2006/02/18(土) 18:16:37ID:???hexdumpしてみ。
それにiモードの絵文字ってそもそもSJISの範囲じゃないのでは?
調べたこと無いので違うかもしれないけど。
0632nobodyさん
2006/02/18(土) 18:42:42ID:???Autorank PHPについてご存じの方いますか?
ttp://www.jmbsoft.com/software/arphp/
日本語での検索機能が動かないんです
"サイト"で検索すると
http;//〜Keyword=%A5%B5%A5%A4%A5%C8
というような感じでエンコードされて、画面にも サイト と表示されるのですが、
検索がうまくいっていきません。
文字コードはHTML、DB(MySQL)ともにEUC-JPで運用してます
よろしくお願いします >_<
0633nobodyさん
2006/02/18(土) 18:43:52ID:hW4iLyW6検索がうまくいきません でした
他のサイトでEUC-JPで運用しているサイトがあり、
うまくいってるようなのですが原因がわかりません >_<
0636nobodyさん
2006/02/18(土) 20:09:32ID:rgTa0qqQ2chはどうやってSJISを見分けているのでしょう?
0637nobodyさん
2006/02/18(土) 22:07:41ID:???LIKE を使ってスクリプトのクエリ部分をいじってみます
他になにかいい方法ないのかな・・・
0638nobodyさん
2006/02/18(土) 22:19:31ID:???ってさ、mb_convert_encoding()にauto使うと時々失敗しちゃうよな?
0639nobodyさん
2006/02/18(土) 22:21:56ID:???↑のはMySQLの問題だったとは orz
LIKEで代用 orz
0640nobodyさん
2006/02/18(土) 22:25:10ID:???ある集合がどの集合に属するか判定するって言う問題は奥が深ぇと
カンチョールもゆっとる。
0641nobodyさん
2006/02/18(土) 22:27:35ID:???> auto" は、 "ASCII, JIS, UTF-8, EUC-JP, SJIS"に展開されます
とある。
なので、>>629のような現象が起こるのは至極当然のことかと。
0642nobodyさん
2006/02/18(土) 22:47:53ID:???>>いや、それだと>>629の状態にはならない。(ひらがなでSJISになるはず)
これって、最近のPHPの仕様が変わったのかWin32版の問題なのかは知らんけど、
"auto"は"ASCII,UTF-8"に展開されるみたいよ。SJISやEUC-JPは判定しない。
試しに
mb_detect_order("auto");
var_dump(mb_detect_order());
ってのを実行すると、結果は
array(2) {
[0]=>
string(5) "ASCII"
[1]=>
string(5) "UTF-8"
}
となるのよ。(PHP 4.3.10 Win32版の場合)
0643642
2006/02/18(土) 22:48:36ID:???0644nobodyさん
2006/02/18(土) 23:35:34ID:VuSKJfnu$foo = "田中";
という状況で
$strのなかの$fooの値を反映したい
(つまり、$strの中身を「私は田中です。」にしたい)
のですが、何か良い方法があれば教えて下さい。
0645nobodyさん
2006/02/18(土) 23:40:06ID:???遅レスすいません。ロック中で処理できず502エラーでタイムアウトしてた感じです。ちなみに一年くらいそのスクリプトを使っていて、このようになったのは初めてです。現在普通に稼働してます。
0649nobodyさん
2006/02/19(日) 00:03:47ID:???array(5) {
[0]=>
string(5) "ASCII"
[1]=>
string(3) "JIS"
[2]=>
string(5) "UTF-8"
[3]=>
string(6) "EUC-JP"
[4]=>
string(4) "SJIS"
}
-------------------------
WinXP
PHP Version 5.1.1
0651nobodyさん
2006/02/19(日) 00:08:40ID:???0652nobodyさん
2006/02/19(日) 00:12:12ID:???0653nobodyさん
2006/02/19(日) 00:14:46ID:???自分でそんなの再現させたことないから分からんけど、PHPを実行中のApacheスレッドが
途中で異常終了しちゃったりなんかするとflockを解除できずに終わるかも。
flockって通常はプロセス単位で処理してるんでプログラムが異常終了=flockも解除だけど、
CGIと違ってSAPIなPHPみたいに「1個のPHPが異常終了してもApache自体は終了しない」場合では
OSはその終了を検知できないと思うんだよね。
となると、fclose時またはexit時、die時、エラー終了時などにPHPのコアが自動でflockを解除してるはずで、
それが実行できなかった場合にflockがいつまでもかかったままになるのかもしれない。
で、回避方法…定期的にApacheを再起動でもして、不正なflockを掃除するくらいしかないんじゃない?
どう考えてもApacheかPHPが正常動作しなくなった場合くらいしかそんな状態にはならんと思うから
その状態で対策しようったって無理がある気がする。
推測が外れてたらすまそ
0657nobodyさん
2006/02/19(日) 00:38:25ID:???mbstring.language = Japanese
を設定してないだけだ。
デフォルトのphp.iniではコメントアウトされてるぞ。
0658657
2006/02/19(日) 00:39:22ID:???0659nobodyさん
2006/02/19(日) 00:58:56ID:???0660nobodyさん
2006/02/19(日) 01:14:45ID:???0661nobodyさん
2006/02/19(日) 01:16:48ID:8QITr0F/コメントやトラックバックの機能を実装したいと考えています。
管理者が(kakikomi.html)から記事を投稿した際に、(blog.php)でトップページに記事を書き足し、
その日付のHTMLをコメント用HTML(060218.html)として出力します。
コメントはcomment.phpがその日の日付を判別し、コメント用php(060218.html)に書き込まれます。
コメントを付けられたのが記事を投稿したその日ならいいのですが、
comment.phpは日付でコメント用HTMLを探しにいってしまうので、
日付が変わってからコメントをつけると次の日の日記を書いたときにコメントを書いたことになってしまいます。
長文で申し訳ありませんが、何かいい解決方法ありましたらよろしくお願いします。
フリーサーバーを使っていて、広告が入ると著しくデザインが崩れるので、
トップページをphpで構成したいところなんですが、なんとかHTMLで出力したいと考えています。
0662nobodyさん
2006/02/19(日) 01:21:29ID:???0663nobodyさん
2006/02/19(日) 01:22:05ID:???0664661
2006/02/19(日) 01:24:57ID:8QITr0F/ttp://muroran-it.s60.xrea.com/up/data/207.zip
0665nobodyさん
2006/02/19(日) 01:31:24ID:???>comment.phpは日付でコメント用HTMLを探しにいってしまうので、
>日付が変わってからコメントをつけると次の日の日記を書いたときにコメントを書いたことになってしまいます。
この部分の仕様にかなり問題があるような気がするけど・・
あるブログの投稿に紐付けされたコメントなら、その関連を情報として残せばいいだけなのでは・・。
設計を考え直すべきなんじゃない?
0669nobodyさん
2006/02/19(日) 11:42:42ID:???全部変数に入れればいいじゃんってな。
だから$int1 $int2 みたいに書いてたんだよ。
あ、もちろん最初の頃だけだぜ?
でな、とある関数に出会ったんだ。stat()ってヤツだ。
マニュアル見てみたらファイル情報を配列で返すって書いてあるんだよ。
そんなもん使ったことねーし興味ないけど、その時は気分が良かったんだな。
使ってみようと思ったんだよ。
で、いざ使ってみたらこの素晴らしい利便性!
世界が変わったよコードが半分に減ったよミスも減ったよ。
いや、それだけ素晴らしいってことを言いたかっただけだ。
じゃあな、また来るぜ。
0670nobodyさん
2006/02/19(日) 11:56:21ID:iKD+hWT/向上するらしいという表記を見つけたのですが、誰か試した人います?
http://hotwired.goo.ne.jp/webmonkey/2004/05/index1a_page2.html
0672nobodyさん
2006/02/19(日) 12:25:58ID:???0673nobodyさん
2006/02/19(日) 12:29:59ID:iKD+hWT/確かにそうですね。体感速度に影響ないくらいの向上なら、可読性優先の
ほうがいいかも。
0674nobodyさん
2006/02/19(日) 12:41:24ID:???・コメントなんて邪道なものはすべて取っ払う
・空白文字なんて以ての外、改行も入れずにスクリプトは1行で構成
・実行制御に余分な時間を取られるのでループは全て展開
0675nobodyさん
2006/02/19(日) 12:42:27ID:???0676nobodyさん
2006/02/19(日) 12:50:26ID:???改行だけは省略できね。
0677nobodyさん
2006/02/19(日) 13:33:06ID:???昔BASICでゲームプログラミングする時はそんな風に仕上げてたな。
普通に記述してから変換ツール通したり。
0678nobodyさん
2006/02/19(日) 13:55:11ID:iKD+hWT/大幅ダウンしそう...
0679nobodyさん
2006/02/19(日) 14:12:11ID:???0680nobodyさん
2006/02/19(日) 14:13:00ID:j5wr3rm8属性を606から変えたら、プログラムから読み書きできないし・・・
0681nobodyさん
2006/02/19(日) 14:13:43ID:???0682nobodyさん
2006/02/19(日) 14:14:47ID:???> 属性を606から変えたら、プログラムから読み書きできない
?(´△`) デキルダロ
拡張子をcgiとかにしれ
0683nobodyさん
2006/02/19(日) 14:55:13ID:???0684nobodyさん
2006/02/19(日) 15:02:27ID:???0685nobodyさん
2006/02/19(日) 15:00:20ID:???いや、作る段階でそんなこと言ってるようでは
役に立つ判定プログラムは作れないと思うよ?
というか、診断くんそのものをダウンロードすれば
参考どころの騒ぎじゃないだろ?
0686nobodyさん
2006/02/19(日) 15:09:48ID:???隙間を開けたいんだけど、どうしたらいいかな?
BarPlotでSetWidth設定してもダメだった。
0688nobodyさん
2006/02/19(日) 16:38:45ID:8orHyj9/自動的にEUC-JPに変換して読み込みたいのですが、
どうすればよいでしょうか?
0689nobodyさん
2006/02/19(日) 17:11:43ID:iKD+hWT/$line = file_get_contents('file');
$line = mb_convert_encoding($line, 'EUC-JP', 'SJIS');
でいかがでしょう?
0690nobodyさん
2006/02/19(日) 17:51:33ID:???非常識なコーディングだろ。
普通のファイルは >>689 のように読んでくれよ頼むから。
0692sage
2006/02/19(日) 19:06:37ID:iKD+hWT/20行目
3行目
っていう内容のtest.txtというファイルの内容を、
1行目
2行目
3行目
というように一行だけ書き換えたいんですが、どうやればできますか。
file_get_contents->preg_replace->file_put_contentsという方法も
考えたのですが、これだとメモリを浪費しそうなので、一行ずつ操作
する方法を教えていただけるとありがたいです。
0694692
2006/02/19(日) 19:17:53ID:???fopenを違う引数で2回呼び出すわけですね。使ったことがない関数がでて
きたので、これから早速試してみます。
0695nobodyさん
2006/02/19(日) 22:49:33ID:QKFjYBJ6拡張子が
index.htmlのファイルでもphp利用可能なの?
htaccessで何かやってるのかな。。
0697nobodyさん
2006/02/19(日) 23:16:29ID:???$i++;
}while($i == 5);←ここで真ならば、特定の動作を行ってからdoに戻る
というようなことは可能でしょうか。
また、代替案もあればぜひご教授お願いいたします。
0698661
2006/02/19(日) 23:26:20ID:8QITr0F/>>667のようにするのって何て言うんでしょうか?
調べようにもよくわからないのですが・・・・
0699nobodyさん
2006/02/19(日) 23:40:10ID:cMtmYVLo単なるリンク
0700nobodyさん
2006/02/19(日) 23:42:06ID:???今いちやりたいことがよくわかりませんが、
無限ループさせたいのでしょうか?
while (1) {
$i++;
if ($i == 5) {
// 処理を記述
}
}
ではだめでしょうか?
0701661
2006/02/19(日) 23:59:21ID:8QITr0F/phpにリンクでURLを渡す(?)
見たいなことなんでしょうか>?
0702nobodyさん
2006/02/20(月) 00:08:50ID:???こういうことじゃないの?
0703697
2006/02/20(月) 00:16:12ID:???ご返答ありがとうございます。
説明が分かり難く申し訳ありません。
無限ループではなく、$i==5が偽になった時点でループを抜けたいのです。
1)doの内容を実行
2a)whileが真ならば"特定の処理"を実行した後doを実行
2b)whileが偽ならば"特定の処理"を行わずにループ終了
御指南いただいたコードですと、ifのところが偽ならばwhileループを抜ける、ということです。
付け加えさせていただきますと、ちょうど下記の動作です。
$hoge = 1;
while ($hoge) {
$i++;
if ($i == 5) {
// 処理を記述
}else{
$hoge = 0; // breakで二重ループを抜けられると良いのですが・・・
}
}
この動作をdo...whileでできないものかと試行錯誤していたのですが、
ふと気づけば希望の動作が完成してしまいましたね・・・
ただ、もう少し綺麗な書き方はないでしょうか。
頼んでばかりで大変申し訳ないのですが、私の力量ですと案が浮かびません。
今一度、よろしくお願いいたします。
0704661
2006/02/20(月) 00:49:07ID:wo/bPpPB~~~~~~~~~~~~~~
この部分はcomment.php側にはどのように送られて、
どう処理して受け取ればいいのでしょうか?
0705nobodyさん
2006/02/20(月) 00:53:25ID:???0706nobodyさん
2006/02/20(月) 01:30:38ID:???■ このスレッドは過去ログ倉庫に格納されています