【PHP】下らねぇ質問はID出して書き込みやがれ 86
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2009/07/31(金) 21:19:01ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 85
http://pc11.2ch.net/test/read.cgi/php/1245074032/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん
2009/07/31(金) 21:19:53ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 85
http://pc11.2ch.net/test/read.cgi/php/1245074032/
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
【PHP】下らねぇ質問はID出して書き込みやがれ 82
http://pc11.2ch.net/test/read.cgi/php/1236532468/
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
【PHP】下らねぇ質問はID出して書き込みやがれ 79
http://pc11.2ch.net/test/read.cgi/php/1231850905/
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
【PHP】下らねぇ質問はID出して書き込みやがれ 77
http://pc11.2ch.net/test/read.cgi/php/1228667259/
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/
0003nobodyさん
2009/07/31(金) 21:20:07ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
■Smartyマニュアル http://www.smarty.net/manual/ja/
(以下英語)
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smarty http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2009/07/31(金) 21:20:20ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん
2009/07/31(金) 21:20:42ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0006nobodyさん
2009/07/31(金) 21:22:10ID:???http://pc11.2ch.net/test/read.cgi/php/1238936666/l50
【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
http://pc11.2ch.net/test/read.cgi/php/1233590976/l50
姉妹スレ
0007977です。
2009/07/31(金) 21:44:01ID:f7nn6Kbb0008nobodyさん
2009/07/31(金) 21:45:46ID:???第三正規化とかわかる?
0009nobodyさん
2009/07/31(金) 21:47:29ID:???0010nobodyさん
2009/07/31(金) 21:55:54ID:???0011977です。
2009/07/31(金) 22:06:18ID:f7nn6Kbbただどうやって作ったのか。
チェックボックスのデータをひとつずつ区切って処理
するにはどうしたらいいのかがわからなくて
。
0012nobodyさん
2009/07/31(金) 22:12:40ID:???これが何をいってるのかわからん
だいたいこれOR検索じゃん
複数の市町村にチェックつけたら物件表からOR検索するんでしょこれ
0013nobodyさん
2009/07/31(金) 22:42:51ID:???これだけ
0014977です。
2009/07/31(金) 23:08:21ID:f7nn6Kbbここのソースを頼みます。
一から教えてください。
0015nobodyさん
2009/07/31(金) 23:16:35ID:FLyuwNhjmime typeの○○/拡張子の○○の部分って何が表示されるのでしょうか
0016nobodyさん
2009/07/31(金) 23:17:32ID:???0017nobodyさん
2009/07/31(金) 23:18:17ID:FLyuwNhj例えばapplication/activemessageのapplicationの部分はどうなるのでしょうか>>15
よろしくおねがいします
0018nobodyさん
2009/07/31(金) 23:19:11ID:FLyuwNhjありがとうございます。
わからないものはapplicationになるんですね
ありがとうございました
0019nobodyさん
2009/07/31(金) 23:19:50ID:???お前が例に出したページで考えてみろ
nameがtown_cd[] valueは新宿区が13104 渋谷区が13113
たとえばこの2つを選択したら物件表にどういうQueryを投げるか考えてみろ
0021nobodyさん
2009/07/31(金) 23:34:57ID:???0022nobodyさん
2009/07/31(金) 23:56:56ID:f7nn6Kbb考えてみる。
0023nobodyさん
2009/08/01(土) 00:24:26ID:???select * from 物件表 where 市町村id=13104 or 市町村id=13113
$_POST['town_cd']には
0=>13104
1=>13113
が入ってるんだからあとはforeachでまわして
ベースになるquery(selevt * from 物件表 where)にくっつけてやればいいだけの話
0024nobodyさん
2009/08/01(土) 00:43:05ID:???ページャをそのまま使うのではなく、スクロールバーの上下でページ移動ができるようにしたいです。
また、スピードを重視するため、表示する分+α程度のデータだけを AJAX で取ってきます。
ページャのページ指定をスクロールバーにバインドできるのか?
というのが今考えていることです。
0025nobodyさん
2009/08/01(土) 00:45:26ID:???0027977
2009/08/01(土) 01:31:32ID:???foreach($_POST['town_cd'] as $val){
select * from 物件表 where $valでOK?
0028977
2009/08/01(土) 01:34:23ID:???0029nobodyさん
2009/08/01(土) 01:38:43ID:???foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
continue;
}
$query .= " or 市町村id={$val}";
}
0030nobodyさん
2009/08/01(土) 01:48:14ID:???なんで試しに動かしてみないの?バカなの?
〜〜〜というエラーが出たが原因が分からない
なら話はわかるが、なんで実行もしてないソースこれでいいか聞いてんの?
0032977
2009/08/01(土) 01:50:42ID:yM0cIisM0033nobodyさん
2009/08/01(土) 01:57:38ID:???吹いたわ
0034977
2009/08/01(土) 02:06:37ID:yM0cIisMもっと勉強します。
ありがとうございました。
0035nobodyさん
2009/08/01(土) 02:09:16ID:???0036nobodyさん
2009/08/01(土) 02:12:45ID:???if () {
処理;
continue;
}
処理
ってやるのと
if () {
処理;
} else {
処理;
}
ってやるのってなんか違いあるの?
0037nobodyさん
2009/08/01(土) 02:41:50ID:???0038nobodyさん
2009/08/01(土) 02:45:01ID:???0039nobodyさん
2009/08/01(土) 02:53:41ID:???スレタイ日本語だけど読める?
0040nobodyさん
2009/08/01(土) 02:54:18ID:???>・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
読めなかったら振り仮名振ってあげます
004136
2009/08/01(土) 02:55:19ID:uPB6yqUJ0042nobodyさん
2009/08/01(土) 02:55:59ID:???0043nobodyさん
2009/08/01(土) 02:56:42ID:???ばか?大丈夫?
0047nobodyさん
2009/08/01(土) 03:18:46ID:???0048nobodyさん
2009/08/01(土) 06:18:27ID:???for(){
A処理;
if () {
B処理;
continue;
}
C処理;
}
A->B->...
A->C->...
for(){
A処理;
if () {
B処理;
} else {
C処理;
}
D処理;
}
A->B->D->...
A->C->D->...
よって前者はDの処理が必要な時、B・Cの両方にD処理の記述が必要であるため後者を用いる事が正しい
D処理が不要であれば結局はどちらも同じである
0049nobodyさん
2009/08/01(土) 06:44:59ID:???elseブロック通る分時間かかるかなと思ったけどそうでもなかった
0050nobodyさん
2009/08/01(土) 07:24:15ID:???ifが評価されたらelseブロックをまるまる飛ばすから、elseブロック直後にforブロックの終端があれば大差ないと思うよ
0052nobodyさん
2009/08/01(土) 07:49:48ID:???0053nobodyさん
2009/08/01(土) 07:58:01ID:???0054nobodyさん
2009/08/01(土) 09:52:30ID:???0055nobodyさん
2009/08/01(土) 11:17:38ID:yM0cIisM0056nobodyさん
2009/08/01(土) 13:14:31ID:???0057nobodyさん
2009/08/01(土) 18:44:39ID:???0058nobodyさん
2009/08/01(土) 20:16:28ID:???memcachedの方が速いし多機能(検証済)。
memcacheは独自実装。memcachedは中身がlibmemcachedという汎用ライブラリ。
0059nobodyさん
2009/08/01(土) 20:34:37ID:o7Ir56np0060nobodyさん
2009/08/01(土) 22:01:33ID:???cookieを何に使っているかによって変わると思うが。
一般論としてなら、必要なくなったらさっさと消す。
ブラウザが毎回サーバーに送信していることを忘れるな。
僅かながら帯域を消費しているし、サーバーの処理も余計に必要になる。
0061nobodyさん
2009/08/01(土) 22:04:13ID:???0063nobodyさん
2009/08/02(日) 00:48:57ID:Zm7WmY12どうも。
後、ブラウザが閉じられるまで有効なセッションって、どうやってブラウザが閉じられたかどうか判断してるんですかね?
ブラウザ側が判断してるんでしょうか。
0064nobodyさん
2009/08/02(日) 01:14:45ID:???PHPのクラスに関する解説を見るとどれもnewで生成したクラスをdeleteしてないんだけど、PHPにはdeleteというものがないのですか?
0065nobodyさん
2009/08/02(日) 01:16:47ID:???0066nobodyさん
2009/08/02(日) 01:17:59ID:???ありがとん。公式にはどっちがどうとか書いてなかったので、
どっち使えばいいのかちょっと混乱しちゃいますよね。
0067nobodyさん
2009/08/02(日) 01:40:26ID:???他にどんな可能性があるのか言ってみろよ低能
0068nobodyさん
2009/08/02(日) 01:45:45ID:???デフォルトではセッション識別にCookieを使っている
クライアントの終了時に破棄する設定のSet-Cookieを返すことで実現する
>>64
オブジェクトが参照されなくなった時点でGCが後始末する
0069nobodyさん
2009/08/02(日) 09:55:53ID:???0070nobodyさん
2009/08/02(日) 21:35:18ID:???0071nobodyさん
2009/08/02(日) 21:57:41ID:???0072nobodyさん
2009/08/02(日) 23:17:28ID:V4BPZ7v2改行を入れると複数入れられるようにしています。
そして実際の確認時に
$array = explode("\n",$text);
foreach($array as $val){
if(確認の場合の条件){
一致した場合はループを抜ける
}
}
というように配列に入れて、foreachで1行ずつ確認しています。
これはこれで良いのですが、foreachを使わず、配列に入れずに
確認する方法って無いでしょうか?
0073nobodyさん
2009/08/02(日) 23:21:30ID:???007472
2009/08/02(日) 23:29:14ID:V4BPZ7v2$text="a
b
c";
それを改行毎に配列に入れて、>>72のようなforeachを使って
配列の中身に特定の文字列があるか確認したいと思います。
$array = explode("\n",$text);
foreach($array as $val){
if($val == "a"){
return false;
}
}
普段はこのような書き方をしているのですが、
foreachを使わない書き方はないでしょうか?
0075nobodyさん
2009/08/02(日) 23:47:00ID:???if(in_array("a",$array)===true){
return false;
}
0076nobodyさん
2009/08/02(日) 23:51:16ID:???0077nobodyさん
2009/08/03(月) 00:08:20ID:???007872
2009/08/03(月) 00:09:28ID:???ありがとうございます。in_arrayを使うんですね。
あと、explodeは¥nではなくて¥r¥nじゃないと駄目でした
0079nobodyさん
2009/08/03(月) 00:12:24ID:???0080nobodyさん
2009/08/03(月) 00:18:01ID:???$array = explode("\n",$text);
foreach($array as $val){
if(strpos($val, "a") !== false){
return false;
}
}
の場合はもっと単純に短くできますでしょうか?
0081nobodyさん
2009/08/03(月) 00:18:52ID:VvsrItXl0082nobodyさん
2009/08/03(月) 00:29:23ID:???867 名前: nobodyさん [sage] 投稿日: 2009/07/27(月) 17:40:26 ID:???
PHPで実行時間を求める方法
<?php
$time_begin = microtime(true);
/* expression */
echo "実行時間".(microtime(true) - $time_begin)."秒";
?>
これで時間計ればいいと思うよ
0083nobodyさん
2009/08/03(月) 00:31:34ID:???0085nobodyさん
2009/08/03(月) 01:00:49ID:???1行で
0086nobodyさん
2009/08/03(月) 01:22:05ID:???0087nobodyさん
2009/08/03(月) 01:24:41ID:???0088nobodyさん
2009/08/03(月) 01:33:23ID:???0089nobodyさん
2009/08/03(月) 02:27:09ID:???0090nobodyさん
2009/08/03(月) 02:30:43ID:???0091nobodyさん
2009/08/03(月) 04:53:20ID:UYXdY2Ut0092nobodyさん
2009/08/03(月) 11:26:47ID:???ブラウザが閉じられた時点で、ブラウザが保持しているセッションクッキーが破棄される。
サーバー上にあるセッションデータはそのまま残っているが、そのセッションを参照する
クライアントがいなくなったので無いも同然という状態。
サーバー上にあるセッションデータは、最終的にphp.ini等で設定されているGCによって
破棄される。
確か、デフォルト設定では24分の生存期間が設定されている。
なお、サーバーから破棄されるまではセッションIDを知っていればそのセッションを再利用
可能なので注意。
0093nobodyさん
2009/08/03(月) 13:08:45ID:U06Xk0yOどちら使っても良い状況のとき、
何か理由があってこっち使うほうが良い
みたいなことはありますか?
好みでいいのでしょうか
よろしくお願いします
0094nobodyさん
2009/08/03(月) 13:12:33ID:LOY5W65Bアップロードの最大サイズ、メモリの最大使用領域
これらは現在稼働中の鯖のメモリを考えて割り当てたほうがいいんですかね。
(2GBのメモリ積んでる場合は2GBまでとか←単純計算で)
ファイルを40GBまでうp可能な鯖を構築したいのですが、
メモリに格納ではなく、一時的にtmpとして保存することは可能でしょうか?
0096nobodyさん
2009/08/03(月) 15:01:27ID:GfwjTEf5なっていないかどうかをPHPで確認する方法って
どんな方法が考えられますか?
「一時ファイルを同階層に作り、書き込みしようとして例外が返されたら容量がフル」
みたいなことを考えたのですが、なんかちょっとスマートじゃない気がしてしまうんです。
0097nobodyさん
2009/08/03(月) 15:04:08ID:???0098nobodyさん
2009/08/03(月) 15:38:54ID:???レスありがとうございます。
さくらのレンサバなんですが、ユーザとして使える容量ではなく
サーバマシンの空き容量と思われる数値が返ってきてしまいました。
0100nobodyさん
2009/08/03(月) 15:48:17ID:???disk_free_spaceの引数で該当ディレクトリを指定するのは?
もしくはsystemでduで調べるとか。
あとはさくらのレンサバ知らないけど、もしquotaで制限かけているなら
「quota -u ユーザ名」 で確認できるかもしれない。
phpからなら、こんな感じか。
$quota = system('/usr/bin/quota -u ユーザ名' , $retval);
0101nobodyさん
2009/08/03(月) 16:30:18ID:8ObdthvW3GhzのCPUを使ってたら、そんなの誤差の範囲内だと思うけど?
0102nobodyさん
2009/08/03(月) 16:31:33ID:8ObdthvW三項演算子も読めないプログラマーって使えないよね。
0103nobodyさん
2009/08/03(月) 16:58:12ID:???0104nobodyさん
2009/08/03(月) 17:04:10ID:???スタティックな文字列はシングルクォートにするようにしてる。
0105nobodyさん
2009/08/03(月) 17:07:06ID:???ifとcaseと三項演算子の中からいちばん処理速度の速いものを自然に選べるのがよいプログラマ?
0106nobodyさん
2009/08/03(月) 17:11:54ID:???数100万単位のデータ処理なら、設計の自由度と判りやすさで
RMDBSを選ぶか、またはシーケンシャルアクセスを使って独自
の高速データ処理ができる方法を選ぶかって考えなきゃいけないけど。
0107nobodyさん
2009/08/03(月) 17:12:18ID:???0108nobodyさん
2009/08/03(月) 17:13:11ID:???0111nobodyさん
2009/08/03(月) 17:18:23ID:???0114nobodyさん
2009/08/03(月) 19:48:59ID:???0116nobodyさん
2009/08/04(火) 09:46:49ID:2TKWOoA9http://www.livein-tokyo.com/search3.php
で"市町村id={$val}" の一致したデータを出す場合
$query = "select * from 物件表 where";
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
データを出すsql文
continue;
}
$query .= " or 市町村id={$val}";
}
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 1) {
$query .= " 市町村id={$val}";
データを出すsql文
continue;
}
$query .= " or 市町村id={$val}";
}
でOK?
0117nobodyさん
2009/08/04(火) 09:51:16ID:???0118nobodyさん
2009/08/04(火) 09:52:17ID:2TKWOoA90119nobodyさん
2009/08/04(火) 10:06:50ID:???環境作って実際に動作させてみた?
・上のforeachと下のforeachはそれぞれ何がしたいの?
・foreach内の$keyが0か1かで判断していいの?
・$_POST['town_cd']が無い場合(全件取得の場合?)に
$queryは "select * from 物件表 where"になるけどそのまま実行したらエラーになるよね?
0120nobodyさん
2009/08/04(火) 10:07:26ID:???手出すのは早すぎなんじゃない?もっとちゃんと基礎から勉強してきたほうがいいよ。
$query = "select * from 物件表 where";
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
continue;
}
$query .= " or 市町村id={$val}";
}
この時点で$queryはOR検索で全てのデータを問い合わせる文になってるんだからこれ以上の処理はいらない。
あとはこのクエリを投げて返ってきた結果(オブジェクト・配列・ハッシュ等)を元にHTMLを仕上げればいいだけ。
0121119
2009/08/04(火) 10:18:45ID:???それなら、ベースとなるSQLを「select * from 物件表 where 1」と「where 1」とするのが定石。
これなら$_POST['town_cd'] が空(全件の場合)もエラーにならない。
つまりこんな感じか
$query = "select * from 物件表 where 1";
foreach ($_POST['town_cd'] as $key => $val) {
$query .= " or 市町村id={$val}";
}
0122nobodyさん
2009/08/04(火) 10:34:46ID:???0123119
2009/08/04(火) 10:48:29ID:???俺に言ってる?
SQLExceptionはでないと思うよ「select * from 物件表 where 1」を実行すればわかる
上の書き方だと、$_POST['town_cd']が空だったらforeachでWarningはでるけど。
0124nobodyさん
2009/08/04(火) 10:50:13ID:???0125122
2009/08/04(火) 10:52:21ID:???0126nobodyさん
2009/08/04(火) 11:01:07ID:???それは要件によると思うよ
>>116 のような不動産サイトで各種条件(価格とか面積とか)を指定して物件を絞り込むような場合
条件指定しなければ全件でてくる所が多い。
0127nobodyさん
2009/08/04(火) 11:15:16ID:???転送量的にも負荷的に考えて
もし出すにしても人気のものとか売り出したいものとか数件出す程度にする
規模のおおきくなる商用サイトとかだとそういうかんじだとおもうけど
動画サイトとかは典型例
全件なら全件チェックを別途いれるんじゃないかな
0128nobodyさん
2009/08/04(火) 11:18:18ID:???とりあえず>>116は勉強不足
実力に見合ったとこからやらないと
いきなり飛び級してもついていけなきゃ意味がない
かえって遠回り
0129nobodyさん
2009/08/04(火) 11:18:31ID:???条件は全部無条件にするって意味じゃね
0132nobodyさん
2009/08/04(火) 11:35:50ID:???オミットできるものではない
0133nobodyさん
2009/08/04(火) 11:58:23ID:???0134nobodyさん
2009/08/04(火) 12:01:11ID:???こんなデータが入ってきたらどうするんだろう
0135nobodyさん
2009/08/04(火) 12:04:14ID:???ただ、要点しぼらないと余計わからなくなるかもしれないし。
悩み所だな。
0136nobodyさん
2009/08/04(火) 12:12:43ID:???インジェクションの被害は1億円超える事例もあるし(ttp://internet.watch.impress.co.jp/cda/news/2006/11/29/14076.html )
実際にネットに公開するような使い方だしさ
0137nobodyさん
2009/08/04(火) 12:34:12ID:???0139nobodyさん
2009/08/04(火) 12:41:13ID:???0141nobodyさん
2009/08/04(火) 13:02:39ID:???PHP: htmlspecialchars - Manual
http://www.php.net/manual/ja/function.htmlspecialchars.php
0142nobodyさん
2009/08/04(火) 13:16:50ID:???return stripslashes(htmlspecialchars($str,ENT_QUOTES));
}
$_GET = array_map("escape", $_GET);
1つずつエスケープするのは面倒なので俺ならこうするな
0143nobodyさん
2009/08/04(火) 13:31:09ID:???0146nobodyさん
2009/08/04(火) 14:03:59ID:???0147nobodyさん
2009/08/04(火) 14:08:48ID:???>>145
出力時のうっかりミスを考えるなら、その関数を入れ忘れるのも考慮しないといけないんじゃ?
そしてそのリスクって変わらないと思うんだけど。
スクリプト内の色々な箇所でecho出力してるわけじゃないでしょ?
0148nobodyさん
2009/08/04(火) 14:12:13ID:???出力時のエスケープは何箇所かに及ぶため、
人間である限りうっかりが起こる。
失敗学的に 142 のようなのを一か所だけ、が安全。
0149nobodyさん
2009/08/04(火) 14:18:26ID:???エスケープした時点で受け取った入力内容と異なるデータになっちゃう
セキュリティを考慮しても違和感のあるプログラミングは避けたほうがいいと思う
入力時にエスケープは個人的にはないわー
0150147
2009/08/04(火) 14:22:16ID:???やっぱり設計思想というか考え方の差だね
俺の場合は出力箇所はスクリプト内で常に1箇所にしてるのと、
出力する変数は全て一つの表示用配列に入れ、出力時に1回 >>142 のようにエスケープすれば良いようにしてる。
だから安全度は変わらないと思う。
そろそろフレームワーク使えと言われそうだw
0151nobodyさん
2009/08/04(火) 14:22:45ID:???セキュリティを重視するか、
セキュリティを軽視したコードを書くかの主観の問題。
セキュリティを重視すれば違和感を感じない。
毎月のようにある Web アプリの XSS 脆弱性は、
まったくエスケープしていないのではなく、
出力時にエスケープしているため。
0153nobodyさん
2009/08/04(火) 14:30:21ID:???0154nobodyさん
2009/08/04(火) 14:32:41ID:???受け取ったデータ全てが画面表示されるわけでもないし
0155nobodyさん
2009/08/04(火) 14:44:12ID:???0156nobodyさん
2009/08/04(火) 14:44:17ID:???0157nobodyさん
2009/08/04(火) 14:45:13ID:???出力時にエスケープしているのにXSS 脆弱性があるってのはどういう状況?
できれば解説お願いします。
単に「うっかりミスが出やすい」という話?
0158nobodyさん
2009/08/04(火) 14:46:58ID:???とにかく$_GET $_POSTは有無をいわさずエスケープっておかしいよ
入力値はまずチェック(バリデーション)からはいるでしょ?
わざわざエスケープ済みのデータを基準にしてチェックするわけ?
入力時エスケープにするとしてもタイミングが悪いよね?
やるとしてもデータ格納直前にやるべきでない?
0159nobodyさん
2009/08/04(火) 14:51:53ID:???エスケープはDBに入れる直前が基本だろ
0160nobodyさん
2009/08/04(火) 14:52:01ID:???色々調べてみたけど
入力時エスケープによって脆弱性が生まれると主張する人も結構いるね
0161nobodyさん
2009/08/04(火) 14:52:57ID:???DBに入れるのは受け取った生のデータが基本だろ
0162161
2009/08/04(火) 14:53:50ID:???0163nobodyさん
2009/08/04(火) 14:55:46ID:???0164nobodyさん
2009/08/04(火) 14:56:27ID:???世の Web アプリの XSS 脆弱性のほとんどはこの「うっかり」。
だから、最初の段階でエスケープ。
従来のソフトウェア工学的には変かもしれないけれど、
人間工学的には必要。
0165nobodyさん
2009/08/04(火) 14:57:20ID:???>>142- から再読を。
0166nobodyさん
2009/08/04(火) 14:59:28ID:???0167nobodyさん
2009/08/04(火) 15:04:57ID:???たとえば文字列出力時は
function es($str) {
echo htmlspecialchars($str, ENT_QUOTES);
}
es("<strong>ほげー</strong>");
っていう風にやるとか
voidにしたけどStringにして
echo es("<strong>ほげー</strong>");
にするとか
必ず何かを通すようにルール作りしとけばよい
0168nobodyさん
2009/08/04(火) 15:10:01ID:???0169nobodyさん
2009/08/04(火) 15:11:02ID:???たぶんそのルールを忘れるって事だと思うぞ。
議論は平行線のままだろうな。
厳密なコーディング規約を作れば良い
→ルールを守らない奴がでてくる
しっかりテストすれば良い
→テストに抜けがあるかもしれない
こういう事だろ?
0171nobodyさん
2009/08/04(火) 15:16:50ID:???「コードレビュー」によって 100% 見落としがなくなりますか?
0172nobodyさん
2009/08/04(火) 15:27:26ID:???0173nobodyさん
2009/08/04(火) 15:32:53ID:???子供じゃないんだから…。
「一か所に入れるだけ」というルールは守られやすいし、
コードレビューでも一か所を見るだけだから
見落としの可能性は極めて低いでしょう?
その逆に、表示直前だと、ページ数が数百、
出力箇所が数千ある場合、
見落とす確率が非常に高くなるよね。
そして、それこそが Web アプリの脆弱性なんですよ。
0174nobodyさん
2009/08/04(火) 15:48:12ID:???0175nobodyさん
2009/08/04(火) 15:54:07ID:???0176nobodyさん
2009/08/04(火) 17:25:09ID:???0178nobodyさん
2009/08/04(火) 19:47:41ID:???お前のアプリケーションは入力データをそのまま出力するだけなのか
信頼しないデータは入力されたものだけなのか
次のスクリプトを読んで>>142が無価値なものだと気付こうぜ
<?php $uri = $_GET['uri']; $filename = apache_lookup_uri($uri)->filename; ?>
URI <?php echo $uri; ?> に対するファイル名は <?php echo $filename; ?> です。
例外処理は本質じゃないので省いてあります
0179nobodyさん
2009/08/04(火) 21:48:45ID:???>その逆に、表示直前だと、ページ数が数百、
>出力箇所が数千ある場合、
>見落とす確率が非常に高くなるよね。
普通はMVCのビューに変数を渡す時、またはビューが変数を出力
する時に一括してエンティティ化や文字コード変換などの出力処理
をかけるんだよ。
カプセル化して出力には必ずビュークラスを通すようにしておけば
目視で全部確認するなんて前時代の方法はいらない。
>子供じゃないんだから…。
100%とか言い出したのはそっちだろ?
本題に自信がないのか知らんけど煽りで煙に巻くのはやめてほしいね。
0180nobodyさん
2009/08/04(火) 22:00:34ID:???HTML以外への出力、例えばメールとかPDFとかに乗っける場合は
わざわざ元に戻すのかな?
0181nobodyさん
2009/08/04(火) 22:01:05ID:???0183nobodyさん
2009/08/04(火) 22:33:37ID:???まあ、そうだろうな。
意外と、メールはすべてHTMLメールで、
PDF出力はHTML2PDF的なものを使う、
とかかも知れんけど。
0184nobodyさん
2009/08/05(水) 00:04:48ID:QkW6R4Eiスマートなやり方が思いつきません。どなたかテクニックを教えてください。
テーブル名:user
id =>(主)
grade
first_name1
last_name1
first_name2
last_name2
sex
birth_day
school
tell
tell2
zip_code
add1
add2
で、項目名がキーで連想配列(arr)に入ってるとしてお願いします。
0185nobodyさん
2009/08/05(水) 00:09:11ID:???でも、値によって保存方法のルールが複雑なら、別に愚直に長く
書いてもいいと思うぜ。
0186nobodyさん
2009/08/05(水) 01:09:35ID:8EYjxJv2なんで1が必要なんでしょうか?
foreach ($_POST['town_cd'] as $key => $val) {
$query .= " or 市町村id={$val}";
}
後この$query .= " or 市町村id={$val}"; は
なんのために必要なんですか?
ぜんぜんわかりません。
教えてください。
こういうことが書いてあるサイトがあれば教えてください
0187nobodyさん
2009/08/05(水) 01:18:57ID:???0188nobodyさん
2009/08/05(水) 01:19:46ID:???where 1は全件検索
そのSQLだと
select * from 物件表 where 1 or 市町村id=1
とかになるから結局全件表示されちゃうんじゃね?
見直したほうがいいよ
0189nobodyさん
2009/08/05(水) 01:29:22ID:8EYjxJv2foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
continue;
}
$query .= " or 市町村id={$val}";
}
or市町村id={$val}"; ってなにをしているの?
もし板違いならどこを参考にすればいいの?
0190nobodyさん
2009/08/05(水) 02:32:30ID:FCm+s8yN【PHPのバージョン】php5.2.3
【連携ソフトウェア】mysql4.0.27
【質問内容】
時間とともに常に変化していく折れ線グラフを表示させたいんだけど、
(ページを更新しなくてもずっと動いている折れ線グラフ。
株価のようなグラフがリアルタイムで動いていくイメージです)
これを実現するためには何をどうすればいいのか方向性を教えてください。
とりあえず今はjpgraphを使ってグラフを描こうとしてるんだけど、
ページを更新させずにグラフを動かすっていうのがさっぱり分かりません。
ソケットというものを使う必要があるの?
そもそもPHPで作れるの?JavaScriptとかも使うの?
こういうことを勉強しとけ、この本orサイトを読めっていうのがあれば
教えてください。
0191nobodyさん
2009/08/05(水) 02:37:48ID:???動的に更新するには難しいかも
ttp://www.html5.jp/library/graph_line.html
0192nobodyさん
2009/08/05(水) 06:10:53ID:???select * from 物件表 where 市町村id=1 or 市町村id=2 or 市町村id=3
なんてのを想定してるんだろ?
そのままの意味じゃねえか
この意味がわからないならSQLの勉強しろとしかいいようがない
0193nobodyさん
2009/08/05(水) 07:54:39ID:???0194nobodyさん
2009/08/05(水) 09:33:01ID:???jpgraphでグラフを描けるのであれば、後はページの一部をjavascriptで定期更新するだけ。
ajax timerで検索してみると良いかも。
後はjavascriptのスレで質問してくれ。
0196nobodyさん
2009/08/05(水) 11:02:59ID:???そう。戻す。
HTML 出力時に「わざわざ」直前にエスケープして
それを忘れて XSS 脆弱性を出すように、
メールや PDF の「わざわざ」直前にデエスケープして
それを忘れて脆弱性じゃないバグの方を選択する。
それに、HTML より、メール、PDF の方が出力箇所が圧倒的に少ないから。
だから脆弱性を重視するかどうかなんだって。
0197nobodyさん
2009/08/05(水) 11:15:13ID:4RYOgnxKなので今日しっかり理解しようと思います。
PECLはどういった位置づけなのでしょうか。
以前まで、PEARのようなライブラリと思っていたのですが、
最近はdllのようなモジュールとしての扱いかなと思ってきました。
それで正しいのでしょうか。
0198nobodyさん
2009/08/05(水) 11:34:24ID:???ペイントじゃうまくできないからPhotoshopいれたり
CADやりたいけど標準じゃないから新しく入れたりみたい
0199nobodyさん
2009/08/05(水) 11:38:00ID:8EYjxJv2foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
continue;
}
$query .= " or 市町村id={$val}";
}
では市町村idが多い場合、orも増えるということ?
0202nobodyさん
2009/08/05(水) 11:58:13ID:8EYjxJv2みたいなものをどうやって作るのかしりたいんです。
まだ作ってないので、ためしようがないんです。
<li><input type="checkbox" name="town_cd[]" value="13105" />
みたくいっぱい地区が並んでいますが、この場合
$query .= " or 市町村id={$val}";
$query .= " or 市町村id={$val}";
ってならべていくの?
それとも
新しくforeach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 市町村id={$val}";
continue;
}
$query .= " or 市町村id={$val}";
}
を作るの?
意味がよくわからなくてすいません。
どうやって作っているのか知りたくて。
教えてください。
0205478
2009/08/05(水) 12:28:42ID:???$query = "select * from 物件表 where";
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 13105={$val}";
continue;
}
$query .= " or 13105={$val}";
}
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 13106={$val}";
continue;
}
$query .= " or 13106={$val}";
}
と書けるわけだ。
0206nobodyさん
2009/08/05(水) 12:29:57ID:8EYjxJv2$query = "select * from 物件表 where";
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 13105={$val}";
continue;
}
$query .= " or 13105={$val}";
}
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 13106={$val}";
continue;
}
$query .= " or 13106={$val}";
}
と書けるわけだ。
0207nobodyさん
2009/08/05(水) 12:53:38ID:???は
$query .= " 13105=".$val;
こうしたほうが速度的に早くなる
if( isset($_SERVER['HTTPS']) ){
$http = ($_SERVER['HTTPS'])?'https://':'http://';
}else{
$http = 'http://';
}
define('CONFIG_THIS_URL',$http.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$url = CONFIG_THIS_URL;
0209nobodyさん
2009/08/05(水) 13:47:54ID:???いきなり全部作る気なのか?
疑問のある部分のコードをひとつずつ実際に実行して試してみろって。
今の調子じゃ永遠に理解できないぞ。
それともテストプログラムを作れない理由が何かあるのか?
0212nobodyさん
2009/08/05(水) 14:34:13ID:???0213nobodyさん
2009/08/05(水) 14:52:01ID:???0214nobodyさん
2009/08/05(水) 14:58:26ID:???cgi=perlのつもりと判断する要素がひとつでもあったか?
211のような話かもしれんし、cやruby、shとかかもしれんだろ。
決め付けるのも良くないぞ。
0215nobodyさん
2009/08/05(水) 15:01:25ID:???c:\tmp\001.tmp
c:/tmp/001.tmp
file:///c:/tmp/001.tmp
色々な方法がありますが、それがベストなんでしょうか。
$http = ($_SERVER['HTTPS'])?'https://':'http://';
print $http;
結果:http://
と出力されました。
【記述】
define('CONFIG_THIS_URL',$http.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$url = CONFIG_THIS_URL;
結果:何も表示されません
後は自分で調べて勉強してみます。
0219nobodyさん
2009/08/05(水) 15:10:15ID:???下はechoもprintもしてないんだから表示されなくて当然。
であなたの質問は
・phpを、apacheのモジュールではなくcgi(という仕組みで)動かしたい
・phpを、cgiという仕組みを使いperl(php以外の言語)で動かしたい
のどっち?
0220215
2009/08/05(水) 15:13:25ID:iDK7D7+Aどれがベストなんでしょうか。
というのも
finfo_file関数で、パスが取得できずに困っています。
返り値は「false」なので、
「filename のテキスト表現、あるいはエラーが発生した場合に FALSE を返します。 」
と書いてあるので、テキスト表現が間違っているのかなと思っています。
取得は
C:/xampp/hoge.tmp
C:\xampp\hoge.tmp
両方のパスで行いましたがどっちもfalseが返ってきます。
どのようにして取得すれば良いのでしょうか。
0223nobodyさん
2009/08/05(水) 16:01:42ID:4RYOgnxKエラーは表示されませんでした。
ただ、Falseが返ってくるだけです。
他のファイルでは正常に表示されました。
原因不明なのでいまだにエラーわからずじまいですが・・・
ありがとうございました
0224nobodyさん
2009/08/05(水) 17:22:17ID:qtFRGhoHこのとき、ユーザーが入力する検索キーワードが2つ以上ある時の検索手順はどうしたらいいでしょうか?
自分の考えでは
$keyAry = explode(" ", $_POST['key']);
半角スペースをキーに切り出して、出来た要素をクエリ文のwhere以下で `tgtColumn`=%keyAry[0]% AND `tgtColumn`=%keyAry[1]% …
としていくしかないかなぁと思います。
が、何か穴があるのではと思いますがわかりません。
上の配列要素の中に全角スペースがあればそれもまたexplodeのキーにして、再度検索キーワードを作り直す…くらいしか思いつきません。
何かもっと効率的に実践する方法ないでしょうか?
php5.2.8 mysql5です。よろしくお願いします。
0225nobodyさん
2009/08/05(水) 18:16:42ID:???なんでひとつずつそんな冗長的なアホなコード書きたいの?
だいたいぜんぜん違うだろそれ
めちゃくちゃになるぞ・・・
たとえば$_POST['town_cd'] = array(13105);
が入ってたら
>>205のコードだとループ終了時点で
$query = "select * from 物件表 where 13105=13105 13106=13105";
になるだろ
あんましったかはしなくていいからちゃんと基礎から勉強してください
ループや結合演算子の動作も理解できてないじゃん
ぜんぜん理解できてないしもう1度>>7->>35を読み返した上でPHPマニュアルで1から勉強して下さい
0226nobodyさん
2009/08/05(水) 18:35:47ID:???$_POST['town_cd'] = array("; DELETE 物件表;");
を突っ込んであげるから
0227nobodyさん
2009/08/05(水) 18:52:49ID:???if (in_array("1", $_POST['town_cd'])) {
if (preg_match("/where$/", $query)) {
$query .= " 市町村id=1";
} else {
$query .= " or 市町村id=1";
}
}
if (in_array("2", $_POST['town_cd'])) {
if (preg_match("/where$/", $query)) {
$query .= " 市町村id=2";
} else {
$query .= " or 市町村id=2";
}
}
if (in_array("3", $_POST['town_cd'])) {
if (preg_match("/where$/", $query)) {
$query .= " 市町村id=3";
} else {
$query .= " or 市町村id=3";
}
}
こんなんを市町村分やりたいのならもう好きにしろって感じだなw
0228nobodyさん
2009/08/05(水) 18:57:54ID:???0229nobodyさん
2009/08/05(水) 18:59:20ID:???あれ?
0230nobodyさん
2009/08/05(水) 19:07:22ID:???誰のレス?>
>228にいってるなら何の話をしているのかよくわからないが
一連の流れにいってるのであれば>>202のページの話ね
name="town_cd[]"
0231nobodyさん
2009/08/06(木) 01:22:08ID:???$hoge[0]['next'] = "B"
$hoge[1]['node'] = "B"
$hoge[1]['next'] = "C"
$hoge[2]['node'] = "C"
$hoge[2]['next'] = "D"
...
の様な値から、流れ図を画像で出力したいと思っています。
上記のような値なら、
A→B→C→D…
という画像が出力されるイメージ。
実際には、もっと複雑になり、一つのnodeから複数の線が出ることになると思うので、
できれば配列を引数で渡したら、画像を出力してくれるようなライブラリを使いたいのですが、
何か良いライブラリやサンプルはないでしょうか。
imagecreateのような、GD関数を使えば、簡単なものは実装できると思うのですが、
複雑になってくると、難しいかなと思っています。
0232nobodyさん
2009/08/06(木) 08:05:29ID:???ひろみちゅかっけー
何をいってるのかサッパリ俺にはわからなかったがすげえなやっぱり
俺は携帯対応はさっぱりなんだけどね
0233nobodyさん
2009/08/06(木) 08:21:43ID:???0235nobodyさん
2009/08/06(木) 09:42:48ID:???本質的にケータイとは関係ないことだから
0236nobodyさん
2009/08/06(木) 13:43:02ID:???preg_split()が楽。UTF-8限定ならもっと楽
$tokens = preg_split('/\p{Z}+/u', $keyword);
0237nobodyさん
2009/08/06(木) 15:31:49ID:???foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 13105={$val}";
}
}
foreach ($_POST['town_cd'] as $key => $val) {
if ($key == 0) {
$query .= " 13106={$val}";
}
}
0238237
2009/08/06(木) 15:35:13ID:Qt302JJo0239nobodyさん
2009/08/06(木) 15:45:10ID:???なんでもいいけどそのソースはなに?
$keyが0の時だけなんかしたいなら最初から
$query = "select * from 物件表 where 13105=".$_POST['town_cd'][0]." AND 13106=".$_POST['town_cd'][0];
でいいんじゃないの?
あとANDかORで繋がないと文法エラーになるよ
0240nobodyさん
2009/08/06(木) 16:10:24ID:???0241nobodyさん
2009/08/06(木) 16:20:42ID:sYopahvA$ary = array(3, 5, 9, 2, 7)としたいです。
ルールはindexの低い順に格納し、すでに格納している値と
同じ値ならスルーする。
アルゴリズムが分かりません。教えてください。
0242nobodyさん
2009/08/06(木) 16:24:57ID:???重複しないものだけを追加していけばいいんじゃないかな。
0243nobodyさん
2009/08/06(木) 16:28:12ID:???http://jp2.php.net/array_unique
0244nobodyさん
2009/08/06(木) 16:30:42ID:sYopahvAありがとうございます。
0245nobodyさん
2009/08/06(木) 17:43:04ID:Qt302JJo<?php
if( isset(13106=$_POST['town_cd'] ){
$query = "select * from 物件表 where 13106=$_POST['town_cd']
}else{
}
?>
13106のデータを出したいんだ。
どうすればいい?
0246nobodyさん
2009/08/06(木) 17:46:55ID:???0247nobodyさん
2009/08/06(木) 17:52:38ID:Qt302JJoたとえば13106、13107のデータをチェックボックスでチェック
されたら13106、13107分けて、13106の画像、説明が次で表示される。
その下に同様に13107の画像、説明が表示される。
うまく説明できないけどこんな感じです。
0248nobodyさん
2009/08/06(木) 17:56:34ID:???0249nobodyさん
2009/08/06(木) 18:00:09ID:Qt302JJoそして13106で検索してその土地、画像、説明文がでてきてほしい
0250nobodyさん
2009/08/06(木) 18:02:46ID:???phpはひとまずおいといて、必要なSQL文がどのようなものになるのか理解してからきなさい。
両方一緒に質問するのは君にはムリだよ。
0251nobodyさん
2009/08/06(木) 18:03:10ID:???0252nobodyさん
2009/08/06(木) 18:06:52ID:???あとissetは変数がセットされてるか調べるだけisset(13106=$_POST['town_cd'])なんて使い方は出来ない
0253nobodyさん
2009/08/06(木) 18:11:22ID:Qt302JJo説明ができない。
$_POST['town_cd']はチェックされた数値が入る
0254nobodyさん
2009/08/06(木) 18:15:38ID:Qt302JJoそれをチェックした分だけ画像や説明文をsql文で呼び出す
プログラムを作りたい。
0255nobodyさん
2009/08/06(木) 18:23:56ID:???SQLのデータ構造は主キーが**で〜とか言ってくれないと
0256nobodyさん
2009/08/06(木) 18:44:24ID:???魚を与えるより、釣りの仕方を教えたい。
SQL は忘れて、まずは PHP のチェックボックスを学んだ方がいいよ。
0257nobodyさん
2009/08/06(木) 18:58:33ID:???DBの内容を以下 テーブル名bukken
物件番号,土地,画像,説明文
001 東京 001.jpg 東京の物件です
002 大阪 002.jpg 大阪の物件です
003 京都 003.jpg 京都の物件です
んで選択画面のHTMLで
SELECT * FROM bukkenのクエリを発行し、結果を$bukkenに入れる
foreach($bukken as $value){
echo '<input type="checkbox" name="bukken[]" value="'.$value[物件番号].'">';
echo $value[土地];
・・・略
}
送信先で
2次元配列$_POST['bukken']に物件番号が送られてくる
ここまでいいか?
0259nobodyさん
2009/08/06(木) 19:18:51ID:???0260nobodyさん
2009/08/06(木) 19:40:38ID:???0261nobodyさん
2009/08/06(木) 20:16:35ID:BSJAUmaX0262nobodyさん
2009/08/06(木) 20:17:47ID:BSJAUmaXすみません
0263nobodyさん
2009/08/06(木) 21:17:51ID:???あのさ・・・DB使ったシステム構築したことあるの?
13106と13107のデータをOR検索したら両方のデータがとれるじゃん
あとはとってきたデータを順番に表示してるだけでしょ
クエリ送る段階で分ける必要はぜんぜんないんだけど
0264nobodyさん
2009/08/06(木) 21:25:06ID:???0265nobodyさん
2009/08/06(木) 21:41:08ID:mexO5YhN0266nobodyさん
2009/08/06(木) 21:42:01ID:???0267nobodyさん
2009/08/06(木) 21:55:09ID:???俺はvim + debugger.vim + Xdebug
0268nobodyさん
2009/08/06(木) 22:07:48ID:???ていうかこういう話題は別のスレだったきがするが
0269nobodyさん
2009/08/06(木) 22:29:34ID:???0270nobodyさん
2009/08/06(木) 22:39:42ID:???でも重くてうんざりする。
PHPエディタのスタンドアロン版が不意に更新されたので、
IDE版もいろいろ不満点が解消される時が来るのかなーと少し期待。
0271nobodyさん
2009/08/06(木) 22:39:47ID:???エディタは別スレあるが、全然書き込み無い
komodoに期待してる。
0272nobodyさん
2009/08/06(木) 22:41:57ID:???>PHPエディタのスタンドアロン版が不意に更新されたので、
全然知らなかった。
だがたいした修正じゃないなw
0273nobodyさん
2009/08/06(木) 22:56:27ID:???0274nobodyさん
2009/08/06(木) 23:03:28ID:???0276nobodyさん
2009/08/06(木) 23:12:14ID:???PHP関係なくなって恐縮だが、graphvizを使うといい。
0277nobodyさん
2009/08/07(金) 01:52:22ID:???おおお…理想通りなソフトすぎて、感動してしまった…
これから色々調べて使ってみたいと思います。
本当にありがとうございます。
0278237です。
2009/08/07(金) 03:45:30ID:ts6lfKVw勉強になります。
遅くなりましてすいません。
0279nobodyさん
2009/08/07(金) 03:55:38ID:xbsfYg7fを自動でしてくれるエディタねいですか?
0281nobodyさん
2009/08/07(金) 05:06:52ID:???TCPSocket.open("localhost", port)
のように書くのを、
phpではどのように書けばいいのでしょうか?
0282nobodyさん
2009/08/07(金) 05:12:03ID:???0283237です。
2009/08/07(金) 06:52:46ID:ts6lfKVw続きをお願いします。
0284237です。
2009/08/07(金) 06:54:16ID:ts6lfKVw0285nobodyさん
2009/08/07(金) 09:06:46ID:???0286nobodyさん
2009/08/07(金) 09:11:33ID:???0287nobodyさん
2009/08/07(金) 09:13:55ID:???0288nobodyさん
2009/08/07(金) 09:57:38ID:???0289nobodyさん
2009/08/07(金) 10:07:49ID:???0291nobodyさん
2009/08/07(金) 11:58:45ID:???あとは送られてきた物件番号だけを問い合わせればいいから
$sql = "SELECT * FROM bukken WHERE ";
$where ="物件番号='" . implode("' OR 物件番号='",$_POST['bukken']) . "'";
$sql .= $where;
$sql変数のクエリを発行すれば良い
わかったらもうくんな
0293237です。
2009/08/07(金) 12:37:32ID:ts6lfKVw$where ="物件番号='" . implode("' OR 物件番号='",$_POST['bukken']) . "'";
最後の一文があんまりよくわかりません。
ここの部分を教えてください。
よろしくお願いします。
宿題ではないです。
勉強のためです。
しねとかやめてください。
0294237です。
2009/08/07(金) 12:43:30ID:ts6lfKVwこれと同じ考え方と考えてよろしいのでしょうか?
0296237です。
2009/08/07(金) 12:54:05ID:ts6lfKVw0297nobodyさん
2009/08/07(金) 12:54:57ID:???しね
0298nobodyさん
2009/08/07(金) 13:09:37ID:???読んでないから分からない
0299nobodyさん
2009/08/07(金) 13:09:46ID:???そうすれば一目瞭然だろうが。
どんだけ馬鹿なんだ。
0301237です。
2009/08/07(金) 13:44:29ID:ts6lfKVw$a = '`'bukken'` in ("' .implode('","' , array_map('mysql_real_escape_string', $_POST[''bukken'']) ). '")';
$sql = "select * from bukken where ID in ('$a')
でどうかな?
0302237です。
2009/08/07(金) 13:45:54ID:ts6lfKVwありがとうございました。
0303nobodyさん
2009/08/07(金) 13:46:03ID:???0304nobodyさん
2009/08/07(金) 13:55:39ID:???0305nobodyさん
2009/08/07(金) 13:56:38ID:ts6lfKVw0306nobodyさん
2009/08/07(金) 13:57:17ID:???0307nobodyさん
2009/08/07(金) 13:59:42ID:???失礼。
0308nobodyさん
2009/08/07(金) 14:06:05ID:???0309nobodyさん
2009/08/07(金) 14:14:13ID:???0310nobodyさん
2009/08/07(金) 14:14:52ID:???0311nobodyさん
2009/08/07(金) 14:44:08ID:???http://jp.php.net/manual/ja/language.operators.logical.php
0312nobodyさん
2009/08/07(金) 15:05:32ID:???0313nobodyさん
2009/08/07(金) 15:25:00ID:???0314nobodyさん
2009/08/07(金) 15:33:56ID:???0315nobodyさん
2009/08/07(金) 16:46:01ID:???>>> import urllib2
>>> req = urllib2.Request(url='https://localhost/cgi-bin/test.cgi',
... data='This data is passed to stdin of the CGI')
>>> f = urllib2.urlopen(req)
>>> print f.read()
と書くのを、phpで書くとどうなりますか?
0316nobodyさん
2009/08/07(金) 16:49:04ID:???0318nobodyさん
2009/08/07(金) 17:19:03ID:???0319nobodyさん
2009/08/07(金) 18:08:28ID:/dIJ9UWZ1ページ目:名前を入力
2ページ目:情報を入力
3ページ目:情報を入力
4ページ目:1,2,3の情報を出力
フォームとPOSTを使って上記のようなことをしたいです。
1ページ目で入力した数値を4ページ目で受け取りたいのですが、
<form action="2ページ目" method="post">
と記入しないと、submitを押した時に順番にページが表示されません。
そして、4ページ目で
print ( $_POST['name'] );
と入力しても、 actionで指定したページが2ページ目なので、文字を受け取れません。
この場合どうすればよいのでしょうか?
どうぞよろしくお願いします。
0321nobodyさん
2009/08/07(金) 18:47:36ID:/dIJ9UWZありがとうございます。調べてみます。
0322nobodyさん
2009/08/07(金) 23:42:08ID:???入力値検証(バリデート)のロジックが丸ごと使いまわせるし、途中のページを削ったり確認ページとかを増やしたり、などの処理も楽になる。
0323nobodyさん
2009/08/08(土) 01:07:58ID:???$_GETでURLから引数渡すときに
http://〜/index.php?a=1&b=2&c=abc
とかやるじゃないですか。その場合の?以降全てを一つの文字列として受け取りたい場合
どうすればよろしいのでしょうか?一つ一つ分けての受け取り方は$_GET['a']とかすればいいのは
わかるのですけれども。
また日本語をc=%E3%82%A2%E3%83%8B%E3%83%A1のようにエンコードも日本語に変換されることなく
エンコードされたまま文字列として受け取りたい場合どうすればよいでしょうか?
一つの引数で受け取った場合$_GET['c']=アニメ とかなってしまってデコードされちゃうようなのですが。
よろしくお願いします。
0324nobodyさん
2009/08/08(土) 01:20:37ID:???2つとも
$uri = $_SERVER['REQUEST_URI'];
$ary_uri = explode("?",$uri);
$arg = $ary_uri[1];
print $arg;
これで解決できるようですね。お騒がせいたしました
0326nobodyさん
2009/08/08(土) 01:30:45ID:???このlaceというチャットを設置したいのですが、設定し、設置した後、
ブラウザでそのディレクトリを開くと、「自動転送がループしています」と
表示されます。
これはどうしたらいいのでしょうか?ちなみにfirefoxです。
0327nobodyさん
2009/08/08(土) 01:30:48ID:???0328nobodyさん
2009/08/08(土) 01:32:37ID:???0331nobodyさん
2009/08/09(日) 04:34:18ID:jT8fv9uVカレンダーの中身はDBから引き出すとして、そのDBは情報がUTF-8で保存されていて
そのサイト自体もUTF-8だとします。
ここで、この出力するプログラムを外部サイトに埋め込んでその外部サイトに
出力するとしたら、外部サイトの文字コード(SJIS)に合わせて文字コードを変更する必要があるんでしょうか?
(header関数で制御する部分)
0333nobodyさん
2009/08/09(日) 10:51:17ID:jT8fv9uV環境づくりをどうやったら良いのかわからないんです。マシン一台しかないし。。
PHP以前の話になってしまいますが、apacheのエンコード設定がUTF-8でも、
ページの文字コードってのは最終的に
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
で決定されるんでしょうか?
それなら同じサーバで1ページだけ、動かせば良いのかな
0334nobodyさん
2009/08/09(日) 11:05:21ID:???カレンダーを表示するためにはPHPのコードを実行させるのか?
それともiframeやscriptを使って結果だけ読み込ませるのか?
前者なら変換する必要がある
後者なら変換しなくていいがContent-Typeヘッダで明示し、更にscript要素を使う場合はcharset属性も指定する
0335nobodyさん
2009/08/09(日) 11:50:49ID:???0336nobodyさん
2009/08/09(日) 12:27:55ID:???「私の環境は〜です」ってちゃんと言えよ。
0337nobodyさん
2009/08/09(日) 12:28:38ID:Ho1U3iRt文字化けで悩むのは時間の無駄だから文字コードは全てをUTF-8に統一な
文字コードの設定が必要なモノ
apache
PHP
DB
HTMLの出力
HTMLやPHPなどのファイル
0338nobodyさん
2009/08/09(日) 12:49:55ID:???詳しい説明ありがとうございました
色んなやり方を試してみたいと思います
>>337
ありがとうございました
0339nobodyさん
2009/08/09(日) 18:48:31ID:j1FcAzsW言えよ ってのはどうかと^^;;
0340nobodyさん
2009/08/09(日) 18:50:04ID:???0341nobodyさん
2009/08/09(日) 19:01:49ID:j1FcAzsW0342nobodyさん
2009/08/10(月) 03:54:04ID:GiR2mz2l#!/bin/env php
<?php
から始めるので合ってますか?
0343nobodyさん
2009/08/10(月) 09:28:44ID:???動かそうとしてるPHPがCGIモードだとHTTPヘッダがでるかも。
php -q としておけば?
あとenvは/usr/binにあるとは限らない。
0344nobodyさん
2009/08/10(月) 09:29:55ID:???0345nobodyさん
2009/08/10(月) 19:25:14ID:8T/ZNI95画像のように、色分けした枠ごとに送信先を変えたいのですが、上手い方法を教えてください。
「変更」と「詳細」は思惑通り行くのですが、チェックの項目を、下の「削除」と「メール作成」で扱おうとすると
上手くいきません。
上の表はSQLから取り出したデータをループで表示しています。
本当なら「詳細」はIDからリンクさせたいのですが、IDのデータをリンクで渡すやり方がわからなく、仕方ないので
無理やりやっています。
htmlスレの方で聞いた方が良いでしょうか。
0347nobodyさん
2009/08/10(月) 21:16:16ID:???0348nobodyさん
2009/08/10(月) 21:47:57ID:???>チェックの項目を、下の「削除」と「メール作成」で扱おうとすると
>上手くいきません。
もうちょっと具体的に
2列分ぐらいのHTMLをここに書いてみるべし
たぶんcheckboxの受け渡し方がおかしいとは思うが
<input type="checkbox" name="id[5854]">
みたいにして配列で渡すとよい
>本当なら「詳細」はIDからリンクさせたいのですが、IDのデータをリンクで渡すやり方がわからなく、仕方ないので
>無理やりやっています。
<a href="shousai.php?id=5854">5854</a>みたいにGETで渡せばよい
0349nobodyさん
2009/08/10(月) 22:25:45ID:???0351nobodyさん
2009/08/11(火) 04:26:11ID:OhLUXqwkcronで実行すると、env php部分でエラーになります。
envがphpを見つけられないようです。
phpをフルパスで指定した場合、
あるいはターミナルから実行した場合、
あるいはスクリプトがrubyだった場合は問題ないです。
cron×env×phpの時に問題になります。
これは何故でしょうか?
0352nobodyさん
2009/08/11(火) 05:42:26ID:???0353351
2009/08/11(火) 08:28:51ID:???0354nobodyさん
2009/08/11(火) 10:36:18ID:???0355nobodyさん
2009/08/11(火) 11:28:36ID:???for($i=0;$i<23;$i++){
if($i==0){
echo "<td align=\"center\">";
echo "<input type=\"checkbox\" name=\"check[]\" value=\"".$row['id']."\"/></td>";
}else if($i==1){
echo "<form method=\"POST\" action=\"../new_student.php\">";
echo "<td><input type=\"submit\" value=\"変更\"/></td>";
echo "<input type=\"hidden\" value=\"".$row['id']."\" name=\"id\">";
echo "</form>";
}else if($i==2){
echo "<form method=\"POST\" action=\"../display/student_page.php\">";
echo "<td><input type=\"submit\" value=\"詳細\"/></td>";
echo "<input type=\"hidden\" value=\"".$row['id']."\" name=\"id\">";
echo "</form>";
}
else{
echo "<td> ".$row[$i-3]."</td>";
}
}
echo "</tr>";
}
この下に削除とメールボタンがあるのですが、チェックボタンの間に変更と詳細があるので
formをまたがせる事が出来ません・・・・
簡単に言うと、
<チェックボタンのform>
<変更のform></変更のform>
<詳細のform></詳細のform>
</チェックボタンのform>
のような事がしたいです。
0357nobodyさん
2009/08/11(火) 11:37:51ID:???>>345の人?
formをネストさせないで、>>347さんの言うようにcssで整形するか
押すボタンによってaction先をjavascriptで変える
どっちにしてもphpの話題ではない。板違い。
0358nobodyさん
2009/08/11(火) 12:01:47ID:+4lP6KeF--------------------------
<table border=1> <tr>
<td>1</td>
<td>aaaa</td>
<td nowrap>bbbb</td>
<td>cccc</td>
<td>dddd</td>
</tr> <tr>
<td>2</td>
<td>eeee</td>
<td nowrap>ffff</td>
<td>gggg</td>
<td>hhhh</td>
</tr>
</table>
----------------------------
このようなHTMLのtdで囲まれた文字列を配列で取得したく
preg_match_all("/(<tr>.*?<td>(.*)<\/td>.*<td>(.*)<\/td>.*<td>(.*)<\/td>.*<td>(.*)<\/td>.*?<\/tr>)/i",$html,$match);
こう記述しましたが、期待通りの結果になりません
どうすればよいでしょうか?
0359nobodyさん
2009/08/11(火) 12:20:56ID:???PHPで実行する前に正規表現チェッカで試すことをお勧めする
0360nobodyさん
2009/08/11(火) 12:25:37ID:???改行を最初に除去
$html = preg_replace('/\r/,'',$html);
$html = preg_replace('/\n/,'',$html);
preg_match(ry
0361nobodyさん
2009/08/11(火) 12:26:55ID:???0362nobodyさん
2009/08/11(火) 12:29:52ID:???\nだけなら'/\r\n/'とするとヒットしない
0363nobodyさん
2009/08/11(火) 12:53:45ID:???0364nobodyさん
2009/08/11(火) 12:54:53ID:???0365nobodyさん
2009/08/11(火) 12:54:55ID:???$html = preg_replace('/\r|\n/','',$html);
0366>>355
2009/08/11(火) 13:05:46ID:???レス下さった方、ありがとうございます。
失礼しました。
0367nobodyさん
2009/08/11(火) 13:15:33ID:???0368nobodyさん
2009/08/11(火) 13:18:09ID:???どっかトラの穴か相応のプロジェクトでこねくりまわさないと一生
正規表現がでてくるたびにつまづく気がする。
0369nobodyさん
2009/08/11(火) 13:20:59ID:???0370368
2009/08/11(火) 13:23:37ID:???0371nobodyさん
2009/08/11(火) 13:24:05ID:???0373nobodyさん
2009/08/11(火) 13:35:25ID:???指摘されて「こいつはひねくれてる」で終わるようなら回答しなくていいよ
0374368
2009/08/11(火) 13:45:12ID:???SQLだとおもった結果を何回かのクエリやらプロセス通さず一発のクエリで導きだしたりが
醍醐味かなぁ。。まぁおれが正規表現こねたことないからだろうけど。
0375nobodyさん
2009/08/11(火) 13:50:30ID:???ようは正規表現に苦手意識みたいなものがあるだけじゃないか?
複雑なSQL組み立てた時に感動するなら
同じように、パッと見暗号にしか見えない正規表現作れた時も感動できるかもよ。
0376368
2009/08/11(火) 14:01:32ID:???読むのがつらいからかなぁ?対象となる文字列から人間の目での抜き出しはこんなに
簡単にできるのに、機械にあわせようとするからこんなややこしい暗号になってしうのか・・・つーかんじか
0377nobodyさん
2009/08/11(火) 14:07:48ID:???0379368
2009/08/11(火) 14:15:43ID:???ん?自分で計算するのも面倒な行の合計だけでも感動しない?
SQLこねて作った場合でも感動するよ。
心の中で「あ、でたw」「数値変えたらちゃんと結果も変わったwおkおk」てなかんじで。
正規表現使ってる時の心の声は「あーなんでこれ抜き出せないんだよ」「たったこことここだけなのに!」
とかいう心の声が多いですわ。
0380nobodyさん
2009/08/11(火) 14:25:28ID:???PHPの存在意義は・・・?
0381nobodyさん
2009/08/11(火) 14:32:15ID:???やたら人のスクリプトや考えを否定的なやつってうざいよな
正直ひねくれてると思われても仕方が無いと思うわ
0382368
2009/08/11(火) 14:47:16ID:???なにか良い見方・覚え方・学び方があるのならとはおもってずるずると。
380 まぁ今の話のなかではないね。3重以上のループ組むならやはりSQLで外部参照とか組んじゃうけど。
381 まぁ色々やり方あってもいいわな。美しいか美しくないかも上記ループのようにあるかもしれんけど。
0383nobodyさん
2009/08/11(火) 15:16:23ID:???「SQLは行の合計ができるから感動する」っていうから
この人エクセルとかプログラム知らないのかなと思っただけ。
結局難しそうなものから逃げてるだけでは?
0384nobodyさん
2009/08/11(火) 15:22:16ID:???0385nobodyさん
2009/08/11(火) 17:44:20ID:???場当たり的に定石も美しさもわからずなんとか対処してる俺は正規表現をまともに習得できるきがしない。
0387nobodyさん
2009/08/11(火) 18:04:17ID:???「出来る」と思えば出来る
0388nobodyさん
2009/08/11(火) 18:17:02ID:???0390nobodyさん
2009/08/11(火) 19:43:28ID:???あれこれメタキャラクタ使って短縮したり技巧を凝らすのは好きな人がやればいい
0391368
2009/08/11(火) 20:17:40ID:???0392nobodyさん
2009/08/11(火) 20:58:13ID:???0393nobodyさん
2009/08/11(火) 21:57:04ID:???0394nobodyさん
2009/08/11(火) 22:42:38ID:???変だと思ったらこう書けばよいとさらりと書き直してあげれば終わるんだから
いちいちつっかかる必要はない
書き直したコードみて最初に書いたやつもほーこう書くのかーと勉強になるし
まぁここ正規表現スレじゃないけどもう少し大人になろうぜ
0395nobodyさん
2009/08/11(火) 23:10:09ID:???分かってしまえば簡単。
複雑な技巧は、個人的には避けるべきだと思う。可読性とメンテナンス性が落ちる事が多い。
0396nobodyさん
2009/08/11(火) 23:46:23ID:???何でこう書かないの?的なツッコミが必ず入るのは勉強にはなるけど、
荒れやすい要素ではあるよなあ。
あとはお決まりの「メールアドレスを正規表現で(ry」も一言で済むのに
何故か突っかかられる印象がある。
0397nobodyさん
2009/08/12(水) 01:19:04ID:PY+df2PJあるページでセッション変数として文字列を保存し、
異なるページで保存したセッション変数の中身を表示させようとしています。
まったく同じファイルなのですが、
IEだとうまく表示できるのに、
Firefoxだと何も表示されない(空文字)になってしまいます。
IEではうまく動作するのにFirefoxだと駄目なんてことはあるのでしょうか。
Firefoxはバージョン3.5.2で、
サイトから送られてきてたCookieを保存する、サードパーティのCookieも保存するに
チェックがついていて、例外サイトには何も設定していません。
保存する期間はサイトが指定した期限までとなっています。
なぜなんだろう?
0398nobodyさん
2009/08/12(水) 01:33:08ID:???IEはヘンテコリンなタグでも適当に解釈してしまうので、IEが間違っている
0399nobodyさん
2009/08/12(水) 01:45:20ID:PY+df2PJうーん。タグとかでなく、セッションに保存した内容が取得できないんですよね
if ($var == ""){}でtrueになるので、タグ以前の問題ではないかと思っています
0400nobodyさん
2009/08/12(水) 01:47:37ID:???0401nobodyさん
2009/08/12(水) 02:14:30ID:PY+df2PJ呼び出す側
<?
$pic = "file.wmv";
session_start();
$_SESSION["pic"] = $pic;
?>
<html>
<head>
</head>
<body>
<object id="MediaPlayer" width="640" height="525" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"
standby="Loading MicrosoftR WindowsR Media Player components..." type="application/x-oleobject">
<param name="FileName" value="movie.html" />
<param name="AutoStart" value="true" />
<param name="ShowControls" value="true" />
<embed name="プレーヤー名" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" src="movie.html" width="640" height="525" autostart="1" showcontrols="1"></embed>
</object>
</body>
</html>
0402nobodyさん
2009/08/12(水) 02:15:12ID:???<?
session_start();
$pic = $_SESSION["pic"];
if ($pic == "")
{
exit;
}
if (file_exists($pic)) {
header('Content-Type: video/x-ms-wmv');
header('Content-Length: ' . filesize($pic));
ob_clean();
flush();
readfile($pic);
}
?>
0403nobodyさん
2009/08/12(水) 02:24:30ID:???0404nobodyさん
2009/08/12(水) 02:46:47ID:???Firefoxさんたらガツガツ食べた
仕方がないのでWMPさん手ぶらで聞いた
さっきのCookieご用事なぁに
IEさんとWMPさんは仲良しなのでCookieを回し読みします
0406nobodyさん
2009/08/12(水) 03:23:49ID:???IEにCookie食べさせるとWMPでも使われるがFirefoxが食べたCookieはFirefox以外で使われない
セッションの管理方法をcookieじゃなくてURLにセッションIDを付加させる方法にしたらいいと思う
0407nobodyさん
2009/08/12(水) 03:31:16ID:???http://jp2.php.net/manual/ja/session.idpassing.php
読めば分かると思う
0408nobodyさん
2009/08/12(水) 04:42:13ID:???0409nobodyさん
2009/08/12(水) 10:02:26ID:???0410397
2009/08/12(水) 15:18:43ID:???sessionIDをGETで渡して、
session_startの前にsession_id(string id)でsession_idを渡すことで
ひとまず動作しました。
確かに、考えれば最後はWMPがhtmlを参照するので
Firefoxで設定したsessionが読めるわけないですね。
でも、Firefoxの過去のバージョンではなぜかうまく動作していたんですよ・・
うーんなぜなんだろう・・
0411nobodyさん
2009/08/12(水) 16:10:37ID:L+TnL+Ze[OS]FreeBSD 6.1-RELEASE-p10(CPIのシェアードプラン X30)
[php]4.4.7
[DB等]mysql使用(phpでは--with-pgsql7も組み込み)
[症状]セッションが引き回されない
require "env.php";
session_start();
// 1回目
if ($DEBUG) { print_r($_SESSION); }
$userId = $_POST['userId'];
$passwd = $_POST['password'];
$sessId = $_SESSION['userId'];
$sessPw = $_SESSION['passwd'];
// 2回目
if ($DEBUG) { print_r($_SESSION); }
0412nobodyさん
2009/08/12(水) 16:13:50ID:L+TnL+Ze// MySQLへ接続
$conn_id = mysql_connect($MySQL['HOST'], $MySQL['USER'], $MySQL['PASSWORD']) or exit('MySQLへ接続できません。');
// 使用するデータベース選択
mysql_select_db($MYSQL['DATABASE'], $conn_id);
mysql_query("SET NAMES ujis");
// ユーザー認証
if (($sessId == null || $sessPw == null) && ($userId == null || $passwd == null)) {
echo "<div align=\"center\">";
echo "<p><font color=\"red\">ログイン情報に誤りがあります。<br>再度ログインを行ってください。</font></p>";
echo "<a href=\"index.php\">ログイン画面へ戻る</a>";
echo "</div>";
exit;
}
上記コードで、print_r()を2度呼び出して確認したところ、
1つめ…Array ( [userId] => ******** [passwd] => ******** )
2つめ…Array ( [userId] => [passwd] => )
となり、$_SESSION 配列の各要素の値が消えてしまいます。そのためか、if文が常に真となり、
セッションが引き回せません。この他のスクリプト間では何ら問題なく引き回せているので、
上記のソース部分に鍵がありそうなのですが、phpは慣れていないため原因がわからずにいます。
どなたかおわかりになる方がいらしたら是非教えてください。よろしくお願いします。
0413nobodyさん
2009/08/12(水) 16:23:46ID:???0414nobodyさん
2009/08/12(水) 17:41:12ID:L+TnL+Zeありがとうございます。続きのソースです。ログイン時に書き込みしています。
if ($sessId != null) {
$userId = $sessId;
}
if ($sessPw != null) {
$passwd = $sessPw;
}
$userResult = mysql_query("SELECT * FROM USER_MASTER WHERE USERID = '$userId' AND PASSWD = '$passwd'", $conn_id);
$userInfo = mysql_fetch_object($userResult);
if ($userInfo->USERID != $userId || $userInfo->PASSWD != $passwd) {
echo "<div align=\"center\">";
echo "<p><font color=\"red\">入力したユーザー情報に誤りがあります。<br>再度ログインを行ってください。</font></p>";
echo "<a href=\"index.php\">ログイン画面へ戻る</a>";
echo "</div>";
exit;
} else {
// セッションへログイン情報セット
$_SESSION['userId'] = $userId;
$_SESSION['passwd'] = $passwd;
//このあとhtml表示(省略)
}
0416nobodyさん
2009/08/12(水) 18:40:31ID:???$echo = '$_SESSION<br /><pre>'.print_r($_SESSION,true).'</pre><br />';
$echo .= '$_POST<br /><pre>'.print_r($_POST,true).'</pre><br />';
return $echo;
}
こんな関数書いてif文の前とかでecho debug();してみたら分かると思う
あとファイルの先頭にerror_reporting(E_ALL);書いて潜在的なバグをつぶす
0417nobodyさん
2009/08/12(水) 23:35:55ID:kCVCP35f$a1=x;
$a2=y;
echo $a1;
echo $a2;
と同じ動作をするコードを
$a1=x;
$a2=y;
for ($i=1;$i =2;++$i)
{
echo $a$i;
}
のように書いたらecho $a$i;の部分でエラーが出ました。
正しく動かすにはどのように書けばいいのでしょうか?
0418nobodyさん
2009/08/12(水) 23:36:40ID:???0420nobodyさん
2009/08/12(水) 23:48:46ID:???分かりやすいし応用できる
$a = array(
[0] => x,
[1] => y,
);
foreach($a as $value){
echo $value;
}
0421nobodyさん
2009/08/12(水) 23:49:37ID:kCVCP35f$a1="x";
$a2="y";
for ($i=1;$i<=2;++$i)
{
$a = "a".$i;
echo $$a;
}
でうまくいきました。
ありがとうございます
0422nobodyさん
2009/08/12(水) 23:51:13ID:???ありがとうございます。
いろいろ試してみたのですが、走らせていたサーバのphpでregister_globals=onとなっていました。
そのせいか分からないのですが、>>411,412,414のコードのうち、411の
$sessId = $_SESSION['userId'];
$sessPw = $_SESSION['passwd'];
をコメントアウトしたところ、症状が解消しました。コメントあうとする前は、上記代入の前後で呼び出した
print_r($_SESSION) で、1回目では値があったのに2回目では消えていました。
つまり、上記のコード2行があると、その直前では値があったのに$sessIdも$sessPwもnullであり、
上記の2行がないと、$sessIdも$sessPwに $_SESSION['userId'] と $_SESSION['passwd']の値が
それぞれセットされているということになります。逆なら分かるのですが、症状はなくなったもののなんか
気持ち悪いです。
0423nobodyさん
2009/08/12(水) 23:51:26ID:???でいいだろ・・・
0424nobodyさん
2009/08/12(水) 23:57:16ID:???register_globalsはたぶん後方互換のためにonにしているのだろうが
好きなように変数の中をいじれるのでセキュリティに問題がある
直ちにoffにしたほうがいい
0425nobodyさん
2009/08/13(木) 02:18:30ID:CXYe9XKR現在、PHP OpenID Libraryを利用して
OpenIDのログイン処理のテストをしているのですが、
yahoo、mixi、ライブドア、はてな、いずれも
「現在ログインできません」のようなメッセージが出てログインできません。
curlやopensslが必要というのを見かけたので、確認しましたが、
いずれも有効になっていました。
レンタルサーバーなどにアップした場合はうまくいくのですが、
ローカル環境だとうまくいきません。
なにが原因なのでしょうか?
0426nobodyさん
2009/08/13(木) 02:29:54ID:???0427nobodyさん
2009/08/13(木) 09:24:07ID:h6lN5QEU【PHPのバージョン】php5.26
【連携ソフトウェア】PostgreSQL 8.4.0
【質問内容】 Cronで回して相手サーバーにバックアップデータを投げたいのですが、レンタルなのでモジュールとかの追加は出来ません。
PHPでそういう事は可能でしょか?
もし可能ならPHPでそういった事をやる際はどういった関数を使えば可能ですか?
0428nobodyさん
2009/08/13(木) 09:44:19ID:???0429427
2009/08/13(木) 09:48:51ID:h6lN5QEU回答ありがとうございます。
telnetとsshのポート空いてないサーバーなのでそういった事が難しいため
PHPなどで出来ないかと思っておりました。
説明が不足しており大変申し訳ありませんでした。
0430nobodyさん
2009/08/13(木) 10:02:45ID:???ftpならあいてるでしょ。
http://www.php.net/manual/ja/ref.ftp.php
0431nobodyさん
2009/08/13(木) 10:10:51ID:???0432425
2009/08/13(木) 10:20:31ID:???ライブラリの使い方が間違ってるということでしょうか?
ほとんどコピペなので、コード以前の、
環境の問題のような気がしているのですが・・・
0433427
2009/08/13(木) 11:03:42ID:h6lN5QEUすいません。
HTTPサーバーのみ稼働しててFTPが使えないです。
情報を小出しにしているわけではないですが他にも必要な情報あれば言ってください。
0434nobodyさん
2009/08/13(木) 11:28:50ID:???0436432
2009/08/13(木) 12:48:26ID:CXYe9XKRできればそうしたいのですが、環境のどこがまずいのか分からなくて・・・
そもそも「現在ログインできません」とは、どういう状況なのでしょうか?
0437nobodyさん
2009/08/13(木) 14:29:54ID:???0438nobodyさん
2009/08/13(木) 14:56:28ID:???2年も前からやってるのか・・・
ぜんぜんついていけてない
0440nobodyさん
2009/08/13(木) 16:54:53ID:lMlALn5L0441433
2009/08/13(木) 17:04:41ID:h6lN5QEUその手がありましたね。
すっかり忘れてました。
ですが諸事情あってあくまで初回のアクションはバックアップ元にしたいので
バックアップ元のCronでバックアップ先のPHPを叩くようにすれば出来そうです。
ありがとうです。
0442nobodyさん
2009/08/14(金) 08:03:40ID:S/PVqIxNa.php
header("Content-Type: application/zip");
echo "zipのバイナリコード";
ダウンロードダイアログでa.phpとなってしまうのですが(zipにリネームしたら開けるのですが)
a.zipでダウンロードさせるにはどうしたらよいのでしょう?
headerで何か明示的にダウンロード時のファイル名を指定できると読んでいるのですが
やり方がわかりません(読み違いでできなかったらすみません)
0443nobodyさん
2009/08/14(金) 08:07:05ID:???http://php.net/header
0444442
2009/08/14(金) 08:13:30ID:S/PVqIxN盲点でした
ズバリな答えが書いていますね
助かりました
どうもありがとうございました
0445nobodyさん
2009/08/14(金) 22:42:22ID:vkQArbxO症状はFreeBSD7.1+PHP5.2.10のレンタルサーバで実行結果が以下のようになってしまいます
$arrWork = mb_split (",", "2004年5月13日,1234566,aabbcccddd");
foreach ($arrWork as $data)
echo "$data\n";
実行結果
2004年5月13日,1234566
aabbcccddd
手元のWindowsXP+PHP 5.2.8では、以下の実行結果となり、当方はこちらの結果を想定してプログラミングをしています
実行結果
2004年5月13日
1234566
aabbcccddd
おそらく文字コード関連だと思うのですが・・
なお、.phpファイルの文字コードは全てUTF-8で統一して有ります
0446nobodyさん
2009/08/14(金) 22:43:30ID:???0447nobodyさん
2009/08/14(金) 22:52:22ID:???0448nobodyさん
2009/08/14(金) 23:23:54ID:vkQArbxOとりあえず以下を試して見ましたが結果は変わりませんでした
ini_set(default_charset,"UTF-8");
ini_set(mbstring.internal_encoding,"UTF-8");
他にも設定があるのかな・・
phpinfo()で確認したところ、サーバはEUC-JPでした
0449nobodyさん
2009/08/14(金) 23:36:35ID:Tors7Awt0450nobodyさん
2009/08/14(金) 23:38:55ID:???0451nobodyさん
2009/08/14(金) 23:44:56ID:???S-JISでスクリプトのファイル保存してるだろ
いま自分とこでテストしたら
UTF-8で保存したら正しくて、S-JISで保存したら上記間違いと同じ結果になったよ。
なんか日の漢字コードとコロンのコードとの絡みでおかしくなってるのだとおもうよ。
結論:UTF-8で保存しなおせ
0452448
2009/08/15(土) 01:30:41ID:DUbarFt/>>450
explode()、またはsplit()ならうまく行きました
ただマルチバイトに対応してるわけじゃない(と思う)ので気持ち悪いですね
"日,"だけの定型なら良いんですが、上の文字列と同時に日本語文字列も扱ってるので、ううむ・・
>>451
念のためサーバ上で確認しましたが、やはり全てUTF-8でした
しかしSJISで保存すると似た症状になるんですね、ややこしいなあ
0453451
2009/08/15(土) 01:57:21ID:???普通に動くのだけれどもね。
0454nobodyさん
2009/08/15(土) 02:12:45ID:???※.Netで言うところのFile.Delete(ファイルパス)みたいな関数はありますか?
./HOGE/TEST.JPG
0455nobodyさん
2009/08/15(土) 02:26:45ID:???0456nobodyさん
2009/08/15(土) 03:15:12ID:???0458nobodyさん
2009/08/15(土) 05:32:44ID:YpOdOwqFPHPコード上で
echo mb_regex_encoding();
とかで本当にUTF-8になってるか調べたり
mb_internal_encoding("UTF-8");
とかしてみたりしても同じ?
0459448
2009/08/15(土) 08:21:22ID:DUbarFt/mb_regex_encoding("UTF-8")とすることで解決しました
http://f32.aaa.livedoor.jp/~azusa/?t=php&p=mbstring#a_mb_split
>エンコーディングは、内部文字エンコーディングまたはmb_regex_encoding()関数で指定した文字エンコーディングが使用されます。
ありがとうございました
0460nobodyさん
2009/08/15(土) 09:39:49ID:???0461nobodyさん
2009/08/15(土) 13:01:22ID:oRoHSHUFこういう変数の出力方法はなんと呼ばれていますか?
上記書式で出力できるサーバとできないサーバがあって、原因や違いを調べています。
出来た方のサーバ
【OS名】Centos5
【PHPのバージョン】php バージョン不明 (今遠隔地にあって電源も切ってるので、弄れません)
出来なかった方のサーバ
【OS名】 WindowsXP +XAMPP
【PHPのバージョン】php5.3.0
PHP 出力・表示などでぐぐったのですが見つかりませんでした。
よろしくお願いします
0462nobodyさん
2009/08/15(土) 13:01:52ID:???0464nobodyさん
2009/08/15(土) 15:09:04ID:oRoHSHUFphp.iniの設定を書き換えて出力できるようになりました
どうもありがとうございます。
0466nobodyさん
2009/08/15(土) 22:17:38ID:???次の様2つのディレクトリ(パス)が存在しているとして
@のパス直下にあるファイルには外部からアクセスする事が出来るけれども、
Aの場合には一切アクセスをさせなくするにはどうすればよいでしょうか?
http://test.com/path_1/ ・・・@
・AA.txt
・BB.txt
http://test.com/path_1/AA.txt ←アクセス可能(内容を確認する事が出来る。)
http://test.com/path_2/ ・・・A
・CC.txt
・DD.txt
http://test.com/path_2/CC.txt ←アクセス不可(外部からURLの直打ちがあった場合にはforbiddenのページを表示したい。)
0467nobodyさん
2009/08/15(土) 22:23:18ID:???0469nobodyさん
2009/08/15(土) 22:31:33ID:???0470nobodyさん
2009/08/15(土) 22:31:47ID:YpOdOwqF.htaccessでググレ
0471nobodyさん
2009/08/15(土) 22:45:26ID:???0472nobodyさん
2009/08/16(日) 04:39:45ID:K6eLO5dl鯖を運用してるの?
0473nobodyさん
2009/08/16(日) 08:42:22ID:Lr9z6CdZどの順で有効になりますか?
0474nobodyさん
2009/08/16(日) 10:57:24ID:???0475nobodyさん
2009/08/16(日) 11:04:37ID:???0476nobodyさん
2009/08/16(日) 11:28:29ID:???PHPは COOKIE → GET の順で探して
セッションキーが存在しなければセッション開始せずに
POSTは自前で指定しないとダメなんじゃないか?
0477nobodyさん
2009/08/16(日) 12:06:34ID:???【OS名】FreeBSD6.x
【PHPのバージョン】php5.26
【連携ソフトウェア】postgres
変数 $a に下のような値がセットされていて、
$a[0][id] = 5
$a[0][name] = 山田
$a[1][id] = 7
$a[1][name] = 鈴木
$a[2][id] = 14
$a[2][name] = 山下
これを $a[id] = 名前 のように変換する関数はありますでしょうか?
$a[5] = 山田
$a[7] = 鈴木
$a[14] = 山下
よろしくお願いします。
0478nobodyさん
2009/08/16(日) 12:35:45ID:???foreach ($a as $b) {
$c[$b['id']] = $b['name'];
}
でいいんじゃね。
DBのAPIによっては1番目のカラムをキー、2番目のカラムを値として
取得するメソッドがあることもあるよ。
1行ずつfetchする時に組み替えてもいいし。
0481nobodyさん
2009/08/16(日) 14:15:58ID:???0482nobodyさん
2009/08/16(日) 14:44:09ID:???0483nobodyさん
2009/08/16(日) 17:22:14ID:???0484nobodyさん
2009/08/17(月) 10:52:23ID:XUMXmNvOファイルのアップロードするものを替えれば出来るのではないかと考えてます。
受け側はpostで来たものをmove_uploaded_fileで受け取ればいいと思ってますが、
送信元にform methodを書くとsubmitしなければいけないのでcronで実行するだけではダメな状態です。
formではなく何か関数でファイルを送るようなものがPHPにあれば助言もらえないでしょうか。
0485nobodyさん
2009/08/17(月) 10:59:15ID:???0487nobodyさん
2009/08/17(月) 11:03:45ID:???もうちょっと詳しく。それぞれのOSは?
送信元サーバからphpで、送信先サーバへファイルをpostするって事?
phpではなくrsyncで事足りるような気がする。
0488484
2009/08/17(月) 11:28:26ID:XUMXmNvOそれぞれのサーバはCentOSです。
やりたい事は>>487さんの言ってることなんですが、レンタル鯖なのでrsyncを入れたりってことが出来ないです。
実際に送るファイルはzipファイルになります。
0489487
2009/08/17(月) 11:51:52ID:???それなら、ftpでいいんじゃないか?
phpだとftp_connect・ftp_login・ftp_put 等で検索するとサンプルがたくさんでてくると思う
0490nobodyさん
2009/08/17(月) 12:07:23ID:???fwrite(fopen("file.zip", "wb"), file_get_contents("http://www.example.com/file.zip"));
0491488
2009/08/17(月) 12:21:28ID:XUMXmNvOFTPなくてブラウザからアップするタイプのサーバなのでFTPダメっぽいです。
>>490
よくわからないけど火壁の問題でもらいに行くのはアウトみたい。
あくまでリクエストに対してレスポンスを返すってのがデフォルトみたい。
じゃあサーバ替えろよっていわれそうですが、FTPなくても問題ないしそれ以外では満足してるので
この点だけ出来ればOKだと思ってます。
ftp_connectみたいなのでhttpとかhttpsがあればいいのかな。
0492nobodyさん
2009/08/17(月) 12:35:08ID:???0493nobodyさん
2009/08/17(月) 12:47:05ID:???0494488
2009/08/17(月) 13:00:17ID:XUMXmNvOメールでもいいんですけど、両方とも鯖ってこととメールがないので難しいですね。
>>493
Pearが入ってたかどうか確認しないといけないですが、外部モジュールを使用せずに
PHPの機能でやるってのは難しそうですね。
submitなしで送るのは困難と考えていいのでしょうか。
0495nobodyさん
2009/08/17(月) 13:03:18ID:???0496488
2009/08/17(月) 13:12:34ID:XUMXmNvO自分の鯖じゃないのでモジュールの追加とかが厳しいですね。
なのでPHPとかでやりとりできれば比較的そういった事を気にしなくてもいいかと思ってました。
0498488
2009/08/17(月) 13:39:31ID:XUMXmNvOPHPの何らかの関数を(もしくは複数)を使用して実現しているという事ですね。
どの関数かは調べないといけないですが。
0499nobodyさん
2009/08/17(月) 13:47:43ID:???0500nobodyさん
2009/08/17(月) 20:32:54ID:???0501nobodyさん
2009/08/17(月) 21:12:59ID:N8y+jQ14<input type="file" name="upfile[]">
みたいに同じnameのinputが複数ある場合
HTTP_REQUESTで、両方のupfile[]に
addPostDataしてやるにはどのように記述すればいいのでしょうか?
よろしくお願いします
0502nobodyさん
2009/08/17(月) 21:14:28ID:jMCEI25H| /⌒\ .. .|
| (:::::::::::::::) .|
|===×二×===| 日本国旗を友愛しました
| (:::::::::::::::) .|
| \.__./ .. .|
|_________|
ノ´⌒`ヽ _
/|\ | ヽ γ⌒´ \ / ! /!ヽ
| l ヽ | ヽ // ""´ ⌒\ ) / | ,' / !
| ヘ ! ヽ i / \ / i ) ,' !_/ / j
', ヽ | l i (・ )` ´( ・) i,/ ! ', / /
', ヽ!≡ l l (__人_). | ! ≡ ! /
ヽ ≡ ! \ `ー' / l ≡ ! ,.'
\ ≡ | ,.-  ̄メ、_', = / /
\ ≡ ! /てノしイ_人人ノ、 ヽ /
\― |/ヽ ,イ- 、ヽ / イ´ ̄ ̄ヽ_/
\ ヽ/ l ヽi / ̄`!
【党首討論】 麻生首相 「民主党の党旗、日の丸切り刻み作成…」→鳩山氏「神聖マーク、きちんと作らねば」→民主HPから写真削除★12
http://tsushima.2ch.net/test/read.cgi/newsplus/1250507570/l50
0503nobodyさん
2009/08/18(火) 00:29:07ID:???0504nobodyさん
2009/08/18(火) 00:35:36ID:???0505nobodyさん
2009/08/18(火) 00:42:54ID:???0507nobodyさん
2009/08/18(火) 11:54:02ID:vguzrODxerror_reporting(E_ALL & ~E_DEPRECATED);と記述すれば表示されないと聞き、記述してみましたが表示されてしまいます。
error_reporting(E_ALL & ~E_DEPRECATED);
var_dump(error_reporting());
出力:int(22527)
error_reporting(2);
var_dump(error_reporting());
のように、Warningだけ表示させるようにしてもDeprecatedエラーが表示されてしまいます。
どのように対処すれば良いのでしょうか。
0508nobodyさん
2009/08/18(火) 12:02:45ID:???その上でエラー出てるんじゃない?
0509nobodyさん
2009/08/18(火) 12:24:48ID:vguzrODxこれの=&を全て=にしたら解決しそうなんですが、それで何か支障とか出ないですかね。
0510nobodyさん
2009/08/18(火) 12:53:55ID:???0511nobodyさん
2009/08/18(火) 14:32:41ID:???そのエラーは構文解析時に出る
PEARをrequire/includeする前にerror_reporting()を実行しているかい
$s[data] = array();
とし、フォームに入力された値から、
$s[data][name]に名前を、
$s[data][age]に年齢を、
$s[data][sex]に性別を代入して、
“少なくとも1つ以上のフォームに入力された場合の処理”を記述するためのif文で、
if( !empty( $s[data] ) ) {
・・・
}
と条件指定したのですが、入力の有無に関わらず実行されてしまいました。
原因を調べたところ、入力の有無に関わらず、
$s[data]の中には$s[data][name]と$s[data][age]と$s[data][sex]という
要素があると認識されてしまっていたためのようなのですが、
どうにかして、うまく条件指定する方法はないでしょうか?
0513nobodyさん
2009/08/18(火) 22:04:09ID:???$data = array(
'name' => $_POST['name'],
'age' => $_POST['age']
);
}
こんな感じで入力があったときだけ変数を作って
if( isset($data)===true ){
処理
}
変数がセットされてたら処理するようにしたらいいよemptyはissetより動作が遅いし
レスありがとうございます。
1度の処理ですべてのフォームの値チェックをして、
漏れなどの記入ミスがあった場合はその旨を表示しつつ、
再度入力フォームを表示する(その際、問題なかった欄については初期値として表示させる)。
という動作をさせたいのですが、それだと、
名前欄に入力があったのみにしかチェックを行なえなくなりますよね。
配列の“要素が配列”である場合、その、“要素である配列”に、
要素が入っているかどうか調べることはできないんでしょうか?
0515nobodyさん
2009/08/18(火) 22:41:53ID:???<form action="" method="post">
<input type="text" value="" name="name" />
<input type="text" value="" name="age" />
</form>
たとえばこんなフォームがあっとして
これをnameだけ"test"と書き込んで送信したらPHPで受け取るデータは
$_POST['name'] = "test" //文字列
$_POST['age'] = "" //空の文字列
になる。ただしcheckbox等はチェックしてなかったら送信されない
レスありがとうございます。はい、それは理解できています。
今僕がやりたいのは、
if( 1つ以上の項目に入力されている ) {
全項目の値を、入力漏れや記入ミスなどそれぞれチェック
}
というものなんですが、そうなると、たとえば>>512の変数を用いて、
if( isset($s[data][name]) || isset($s[data][age]) || isset($s[data][sex]) ) {
それぞれのチェック処理
}
のように、全変数に値があるか否かを判断して、
1つでも値があったら・・・って言う方法しかないんでしょうか?
実際のフォームは>>512のように3個の項目しかないわけではなく、
10個とかたくさんあるので、見栄え的に汚くなってしまうため、
どうにかきれいに表現できないかな、と思ったのです。
0518nobodyさん
2009/08/18(火) 22:51:23ID:7JFUjPwRなんでそんな複雑な配列にするのか?ってことが言いたいんじゃないの?
>>515が理解できてりゃ悩まないと思う
0519nobodyさん
2009/08/18(火) 22:58:50ID:???0520nobodyさん
2009/08/18(火) 22:59:46ID:???レスありがとうございます。
$s[data]の中には $s[data][name],$s[data][age],$s[data][sex]
という3つの要素があるとみなされてしまうようで、
count($s[data])とやると、常に3という値が返ってきてしまうのです。
>>518
レスありがとうございます。
1つのスクリプトで、
・データ入力
・入力された値をチェック
・すべて正しく入力できていればMySQLへ書き込み
という処理をすべてしたいため、セッション変数を用いて場合わけしています。
そのためどうしても、1つ以上の項目に入力されている場合は〜、
という条件指定が必要なのです(僕の知識の範囲内ではですが)。
0523nobodyさん
2009/08/18(火) 23:06:59ID:???0524ひろゆき
2009/08/18(火) 23:07:55ID:???0525nobodyさん
2009/08/18(火) 23:10:35ID:???0526nobodyさん
2009/08/18(火) 23:20:48ID:???もはやネタの領域だが
if(
$res = (function(){
global $s['data'];
$c = 0;
foreach($s['data'] as $value){
if(is_string($value)){
if(strlen($value)>0){
$c++;
}
}
}
return $c;
}
){
処理
}
0527nobodyさん
2009/08/18(火) 23:25:45ID:???"name" => "名前",
"age" => "年齢",
"sex" => "性別"
);
//配列のキー取得
$check_array_kyes = array_keys( $_POST );
//定義した配列分まわしてチェックする
for( $i = 0; $i < count($check_array_kyes); $i++ )
{
$cach = array_key_exists( $check_array_kyes[$i], $_POST ) );
if( $cach == false or $_POST[$check_array_kyes[$i]] == "" )
{
"はいってないー";
}
}
あとの調理はどうぞ。
うおっ、ありがとうございます。
そこまでいくと、>>516のようにしたほうが見栄えもいいんじゃないか、
って言う話にもなってきそうですが、
僕の知識的にはなかったものなので、勉強させていただきます。
わざわざありがとうございました!
0529nobodyさん
2009/08/19(水) 00:31:22ID:???自分のサイトにメールフォームを設置していて
動作テストはFirefox3.0以降、IE6・7、OPERA、Google Chorome,Safari
で確認済みです。
ですが、月に1回くらいの頻度で文字化けしたようなメールが来ます。
こんな感じです。
[御社名] AlRJUkXCXfAKfsG
[ご担当者名] XaXcsANiTi
[メールアドレス] ZuACulytkH
[ご住所] lMfvCbGQJ
[お電話番号] BsffuuhnL
アドレスはいつも@マーク以下がsv602.lolipop.jpです。
ちなみに私が使っているサーバはロリポップです。
せっかく問い合わせが来てるのに逃してるのか
単なるエラーかはっきりさせたいのでぜひお願いします。
0530nobodyさん
2009/08/19(水) 00:43:16ID:???心配ならphpスレに書き込んでいるのだからphpのメールフォーム先のスクリプト読んで
挙動確認すればいいとおもう。
0532nobodyさん
2009/08/19(水) 03:55:55ID:???0534nobodyさん
2009/08/19(水) 13:13:50ID:Ph4gYam8本来ならディレクトリ階層のファイルになるはずです。
package.xml^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@100664 ^@ 764 ^@ 764 ^@ 40416 11120534466 6416 ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
〜
0535nobodyさん
2009/08/19(水) 13:20:17ID:rHPCm5Kh【OS名】 linux
【PHPのバージョン】php5.1.6
【WEBサーバ】 Apache
【質問内容】
function send_to_smart($data1, $data2 ,$mode){
//パターン1
if($mode+0 == 0){
$request = "GET /aaaaa/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
//パターン2
}elseif($mode+0 == 1){
$request = "GET /bbbbb/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
send_request($request);
}
$fp = fsockopen("*****.jp",80);
fputs($fp, $request);
while (!feof($fp)) {
$line .= fgets ($fp,128)."\n";
}
fclose ($fp);
}
上記の感じでソケット送信のプログラムを作ってます。
・パターン1と2で別々にデータを送信してる
・2回とも情報送ってるはずなのに、受け取り側ではパターン1しか受け取れてない。
・パターン2はデータが入っていないのではなく、リクエスト自体が来ていない。
・2回ともレスポンスは取れている。ソケットオープンも問題なし。
パターン2で送れない理由がさっぱりわかりません。
これで、なんか原因や解決策判ったりしますか?
0536nobodyさん
2009/08/19(水) 13:23:41ID:???0537nobodyさん
2009/08/19(水) 13:38:37ID:rHPCm5Kh知らなかった、気をつけます。
0538nobodyさん
2009/08/19(水) 13:56:22ID:rHPCm5Khマルチはもうしないんで教えてください。
結構困ってるので
【OS名】 linux
【PHPのバージョン】php5.1.6
【WEBサーバ】 Apache
【質問内容】
function send_to_smart($data1, $data2 ,$mode){
//パターン1
if($mode+0 == 0){
$request = "GET /aaaaa/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
//パターン2
}elseif($mode+0 == 1){
$request = "GET /bbbbb/?data1=".$data1."&data2=".$data2."HTTP/1.0\r\n\r\n";
}
$fp = fsockopen("*****.jp",80);
fputs($fp, $request);
while (!feof($fp)) {
$line .= fgets ($fp,128)."\n";
}
fclose ($fp);
}
上記の感じでソケット送信のプログラムを作ってます。
・パターン1と2で別々にデータを送信してる
・2回とも情報送ってるはずなのに、受け取り側ではパターン1しか受け取れてない。
・パターン2はデータが入っていないのではなく、リクエスト自体が来ていない。
・2回ともレスポンスは取れている。ソケットオープンも問題なし。
パターン2で送れない理由がさっぱりわかりません。
これで、なんか原因や解決策判ったりしますか?
0539nobodyさん
2009/08/19(水) 13:57:11ID:???0540nobodyさん
2009/08/19(水) 14:08:21ID:???自分はこんな感じで関数作ってるけど
function httreq($url){
if(is_string($url===true)){
$headers = array(
'Host: '.parse_url($url,PHP_URL_HOST),
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1',
'Accept-Language: ja,en-us;q=0.7,en;q=0.3',
'Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7'
);
$options = array(
'http' => array(
'method' => 'GET',
'header' => implode("\r\n",$headers),
)
);
return file_get_contents($url, false, stream_context_create($options));
}else{
return false;
}
}
0541nobodyさん
2009/08/19(水) 14:10:06ID:???0542nobodyさん
2009/08/19(水) 14:10:44ID:???なにこれ
0543nobodyさん
2009/08/19(水) 14:11:37ID:???0544nobodyさん
2009/08/19(水) 14:17:44ID:???0545nobodyさん
2009/08/19(水) 14:22:01ID:???0546538
2009/08/19(水) 14:24:18ID:rHPCm5Khあ、一つ書き忘れてました。
これ携帯用です。
0547nobodyさん
2009/08/19(水) 14:31:46ID:???一応聞くがこの関数のmode値変えて2回呼び出してるんだよな?
0549538
2009/08/19(水) 14:46:00ID:rHPCm5Khsend_to_smart($data1, $data2 ,0);
と
send_to_smart($data1, $data2 ,1);
で呼び出してますね
0551538
2009/08/19(水) 14:51:05ID:rHPCm5Kh$mode+0で変数の型を数値に強制変換してます。
まぁ、今回$modeには元々数値しか入ってないんですが、クセですな。
ちなみにテキストに強制変換する場合は$mode.''です。
$mode内が1でもこの場合テキストと判断されます。
0554538
2009/08/19(水) 15:14:25ID:rHPCm5Kh了解、そのやり方は使わないようにします。
というか
レスポンスが返ってくる=データが送られている
っていう認識だったんだけど違いましたっけ?
0555nobodyさん
2009/08/19(水) 15:38:53ID:???304(更新無し)とかだと下のような感じでレスポンスヘッダのみ帰ってくる
HTTP/1.x 304 Not Modified
Date: Wed, 19 Aug 2009 06:36:52 GMT
Server: Apache
0556nobodyさん
2009/08/19(水) 15:46:17ID:gdnF9G1dextension_dir = "/usr/lib64/php/modules"
となっていたので中を覗いてみると
dbase.so json.so mysql.so mysqli.so pdo.so pdo_mysql.so pdo_sqlite.so phpcups.so zip.so
しかありませんでした。
ほかのモジュールはどこにあるのでしょうか・・・それともこれしかないのでしょうか。
0557nobodyさん
2009/08/19(水) 15:47:26ID:???0560nobodyさん
2009/08/19(水) 16:21:06ID:gdnF9G1dWindowsでのdllではphp_fileinfo.dllに値するものです。
0561nobodyさん
2009/08/19(水) 16:24:34ID:???自分でソースコードから入れましょう
0562nobodyさん
2009/08/19(水) 16:25:29ID:???0563nobodyさん
2009/08/19(水) 16:33:08ID:???0564nobodyさん
2009/08/19(水) 16:34:47ID:???0565nobodyさん
2009/08/19(水) 17:49:25ID:???ジャヴァスクリプトだのAjaxだの絡んでますますわからん。
向いてないのが良くわかった。
0566nobodyさん
2009/08/19(水) 17:58:00ID:???yum install php-pecl-fileinfo
でどう?
あなたの環境でもあるかどうかわからんけど。
0567nobodyさん
2009/08/19(水) 18:01:39ID:gdnF9G1dその方法でfileinfoをインストールできました。
モジュールの中にしっかりfileinfo.soを確認しました。
ですが、
Call to undefined function finfo_open
のエラーが出てきてしまいます。
httpd -k restartで再起動もかけましたが症状は変わらずです。
php.iniでは、ディレクトリの中身丸々モジュールを読み込んでいるようでした。
この場合はどういった原因が考えられるのでしょうか、宜しくお願いします。
0568nobodyさん
2009/08/19(水) 18:09:24ID:???>php.iniでは、ディレクトリの中身丸々モジュールを読み込んでいるようでした。
そんな指定できたっけ?
どの箇所?
普通に、php.iniに
extension=fileinfo.so
が要るんじゃないかな。
0569nobodyさん
2009/08/19(水) 18:15:53ID:gdnF9G1dextension_dir=ディレクトリ名
で、その中のモジュールは全て読み込んでくれませんでしたっけ?
ちなみに
extension=fileinfo.so
でも
extension=/usr/lib64/php/modules/fileinfo.so
でも読み込んでくれませんでした・・・。
0570nobodyさん
2009/08/19(水) 18:28:18ID:???>extension_dir=ディレクトリ名
は、ベースディレクトリの指定だと思うよ。
>extension=/usr/lib64/php/modules/fileinfo.so
こう書かなくて済むように。
で、読み込まれなかったというのは、apache再起動しても
Call to undefined function finfo_open
になったということかな?
/usr/lib64/php/modules/fileinfo.so
が実際に存在しているのは確認ずみ?
あ、ちなみに実際にcentosで試して回答しているわけではないから何か外しているかも。
0571nobodyさん
2009/08/19(水) 18:31:34ID:gdnF9G1dextension_dir = "/usr/lib64/php/modules"
extension=fileinfo.so
pwd -> /usr/lib64/php/modules
にて「fileinfo.so」を確認
httpd -k restartにてApacheの再起動
0572nobodyさん
2009/08/19(水) 18:36:20ID:gdnF9G1dUnable to initialize module\nModule compiled with module
とあったので検索してみると
どうやらコンパイルでインストールしたphpとyumでインストールしたphpが共存しているのが問題みたいでした。
ですので、一度PHP関係を削除してインストールしなおそうと思います。
ありがとうございました。
0573nobodyさん
2009/08/19(水) 20:10:10ID:I0IT/dw1ただ単純にpublic/user/のファイルからpublic/admin/のインデックスに移動
admin側でuserのとこで発行したセッションをキーにDBからデータを引っ張ってきて
どうたらこうたらしてるだけのはずなんだけど
ある利用ユーザが入れないらしい
ただ、そのユーザのID借りても入れたし、
ブラウザやいろんなテストID使っても
一回だけしか再現できなかった
こんな再現性がない不具合が見つかった場合、
どんなふうに原因を探すものなのでしょうか?
0574nobodyさん
2009/08/19(水) 20:11:42ID:???0575nobodyさん
2009/08/19(水) 20:14:25ID:???0576nobodyさん
2009/08/19(水) 20:26:06ID:I0IT/dw1具体的になにがエラーになってるのかは不明なんですけど、やってみようかと思います
ちなみにクッキーは怪しいと思ったけど、セッションIDしかなかった
0577nobodyさん
2009/08/19(水) 20:45:43ID:ECQ6gete0578nobodyさん
2009/08/19(水) 22:24:32ID:ECQ6gete・gzdeflate ? 文字列を deflate 圧縮する
・gzinflate ? deflate圧縮された文字列を解凍する
これがFlateDecodeなのかな?
0579nobodyさん
2009/08/19(水) 22:28:08ID:???0580nobodyさん
2009/08/20(木) 15:11:25ID:???どうすれば良いでしょうか?
ログファイルをスタックのように扱いたいです。
ファイルポインタを先頭に置くと一行目が上書きされていますので、しょうがなく
終端に置いて書き込んでいるのですが、そうすると逆から読み込まなければいけなくなっていしまいます。
ログの表紙形式としては、
2009/08/20 更新
2009/08/19 更新
2009/08/18 更新
のように降順に表示したいです。
ログがどのぐらいの量になるかわからないので、いったん配列に読み込んで、それから
逆順に出力するのも変な気がします・・・。
0581nobodyさん
2009/08/20(木) 15:19:51ID:???0582nobodyさん
2009/08/20(木) 15:24:32ID:???0583nobodyさん
2009/08/20(木) 15:35:44ID:???データ全部読み込んでから、先頭に書いて元からあったデータを追加とか。
DB使ったほうがいいんじゃね。
あと>>1呼んでID出せ
0584nobodyさん
2009/08/20(木) 15:40:22ID:???ログを書き換えるということと追記は意味が違うよ
ログがどのくらいの量っていったってメモリを食いつぶすような量にはならないでしょ
もしも問題になるほどの量ならそもそも管理方法に問題がある
0585580
2009/08/20(木) 15:44:42ID:2mPTkGjXID出すの忘れてました。
>>583
DBをいじるのはあまり慣れていないので・・・・。
>>584
配列に読み込んでも大丈夫でしょうか・・・・。
ファイルポインタを終端に置き、そこから逆に先頭まで一行ずつ読み込むのは
無理でしょうか?
0586nobodyさん
2009/08/20(木) 15:46:20ID:???0587nobodyさん
2009/08/20(木) 15:48:05ID:???$logfile = "example.txt";
$write = "追加したい文字";
$lines = file($logfile,FILE_IGNORE_NEW_LINES);
foreach($lines as $value){
$add .="\n".$value;
}
if(($fp = fopen($logfile,'a'))!==false){
fwrite($fp,$write);
fclose($fp);
}else{
return ("書き込みに失敗");
}
こんなかんじで
0588nobodyさん
2009/08/20(木) 15:49:51ID:???file_get_contentsつかってStringに読み込めばいい
それで先頭に新しいログ\nつけたしたものを
ファイルを書き換え(一旦中身消して)すればいい
0589nobodyさん
2009/08/20(木) 15:49:56ID:???0590nobodyさん
2009/08/20(木) 15:51:40ID:???0591nobodyさん
2009/08/20(木) 15:56:48ID:???ファイルにどれくらいの行数を保存しようとしているんだ?
万単位になるならデータベースを使うのがいいと思う
格納するデータが少ないのであれば
態々降順にファイルを書かなくても最後に追記
ファイルを配列に格納>降順ソート>foreachで十分じゃないのか?
下手な小細工するよりこっちの方が早いと思う
0592580
2009/08/20(木) 16:38:09ID:2mPTkGjX>>588に書かれているやり方で、読み込みは先頭からするのが一番簡単ですかね・・・。
>>591
あまり決まっていないので、更新した内容があれば延々と書き続けると思います。
ただ、古いログは消しても支障ないので、あまりにも増えてしまったら消してしまう予定です。
0593580
2009/08/20(木) 17:16:35ID:2mPTkGjXありがとうございました。
0594nobodyさん
2009/08/20(木) 18:01:55ID:WKWR+oFlerror_logを見ると
PHP Warning: PHP Startup: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in Unknown on line 0
PHP Fatal error: PHP Startup: Timezone database is corrupt - this should *never* happen! in Unknown on line 0
と書かれています。
[root@localhost]# httpd -k start
[root@localhost]#
起動時にはエラーは出ませんが、実際は起動されていません。
上記のエラーが書き出されます。
PHPの問題なのかApacheの問題なのかOSの問題なのかすらわかりません。
似たようなエラーでは、php.iniのdefault.timezone=ASIA/Tokyoで解決してありますが、
こちらはそれでも解決しないです。
0595nobodyさん
2009/08/20(木) 18:06:48ID:???0596nobodyさん
2009/08/20(木) 18:14:50ID:WKWR+oFlPHPIniDir "/etc"
のように、php.iniの場所を指定してあげましたが、
やはりエラーが出てしまいます。
0597nobodyさん
2009/08/20(木) 23:48:48ID:???0598nobodyさん
2009/08/20(木) 23:49:35ID:???0599nobodyさん
2009/08/20(木) 23:54:57ID:???0600nobodyさん
2009/08/21(金) 00:10:47ID:e3oLJKKb【PHPのバージョン】php5.2
【質問内容】
mbstring.http_inputにSJIS
mbstring.internal_encodingにEUC-JP
のような設定です。
AjaxのページからのリクエストはUTF-8になってしまうので、
$_REQUESTに入るパラメータの自動文字コード変換をしたくないのですが、
方法ありますでしょうか?
mb_convert_encoding($_REQUEST["TEST"],"SJIS","EUC-JP");
で戻そうかと思ったのですが、
たまに文字の一部が消えてしまいます。
0601nobodyさん
2009/08/21(金) 01:02:02ID:???0602nobodyさん
2009/08/21(金) 01:08:30ID:???0603nobodyさん
2009/08/21(金) 06:39:37ID:1d2neVQKvalueしてあるところは弄らなくていいかなぁと思って(radioボタンとか)、
必要なフォームだけaddPostDataでポストしといたのですが、
結果は、スルーしたポストフォームは全て空になってしまいました。
クライアント側のブラウザに依存して判断しているからだと思うのですが、
これがもしもvalueで選択済みのフォームが大量にあった場合、
HTTP_RequestするときはaddPostDataも
その数だけ指定しなければならないのでしょうか?
value済みフォームは有効になるような都合の良いHTTP_Request関数などないでしょうか。
よろしくおねがいします。
0604nobodyさん
2009/08/21(金) 08:44:12ID:???0605nobodyさん
2009/08/21(金) 12:11:07ID:PCqrhdqrtest.logに"array("test" => "pong","ok" => "ng");をそのまま文字列として書き出したいのですが、やはりいちいちクォートして書き込むしかないのでしょうか?
0606nobodyさん
2009/08/21(金) 12:15:06ID:???0607nobodyさん
2009/08/21(金) 12:17:30ID:???0608nobodyさん
2009/08/21(金) 12:24:19ID:PCqrhdqrvar_export($hairetsu,TRUE);
でいけました。
ありがとうございましたm(__)m
0610nobodyさん
2009/08/21(金) 14:22:44ID:WhelcFIU遠足などのイベントのページに、参加した子供たちを組分けして出力します。
(イベント名の見出しの下に、A組の参加生徒出力、B組の参加生徒出力、C組の… という形)
利用するテーブルは
○table1 イベント情報テーブル
id, eventName, eventDay
○table2 参加した生徒テーブル
id, evId, studentName, kumi
です。
この状況で、table1.id=table2.evIdという条件でJOINし、SELECTのクエリ(以下)を実行して参加生徒を抽出するんですが、
SELECT table1.*, table2.evId, table2.studentName, table2.kumi
FROM table1 LEFT JOIN table2
ON table1.id=table2.evId
WHERE table1.eventName = '○○山の遠足';
どうやって組ごとにまとめて出力したら良いのか迷っています。(クエリの結果は当然、全ての組を含んでいます。)
自分の考えでは、
1)クエリ結果に対してforeach
2)それぞれのtable2.kumi値を取得して
3)重複を省きながら$kumiAry配列にpush
4)出来上がった$kumiAryの値をキーにしてリスト出力
という流れです。
しかし、もっとマシな効率的なやり方ないでしょうか?
クエリを書き換える必要があれば、それも教えていただけると嬉しいです。
よろしくお願いします。
0611610
2009/08/21(金) 14:23:55ID:WhelcFIU環境は php5.2.6 Mysql5 です
0612nobodyさん
2009/08/21(金) 14:38:38ID:???while ($row = fetchする関数()) {
$students[$row['kumi']][] = $row;
}
と連想配列に入れればいいのでは。
あるいは、幼稚園規模なら組ごとにクエリ発行してもいいと思うけど
0613nobodyさん
2009/08/21(金) 16:19:58ID:???ORDER BY table2.kumi,table2.studentName
って並べ替えしておいて前の処理とkumiの値が変わってたらスタックを出力&クリアで
次の組に備えるとかやるかなぁ($oldkumiとか)
つか少し気づいたとこは普通、生徒管理テーブル作ってstudentNameとkumiはそっちのテーブルだな。
0614nobodyさん
2009/08/21(金) 16:25:52ID:???0615613
2009/08/21(金) 16:28:52ID:???0616nobodyさん
2009/08/21(金) 16:30:18ID:o/Rwitrf質問しようと思ったけど完全に独り言になってしまったぬるぽ
0620nobodyさん
2009/08/21(金) 17:12:40ID:???0621nobodyさん
2009/08/21(金) 17:16:34ID:???>>617お前しんでいいよ
自分の答えを言った上でケチつけろ
ケチつけるだけなら100年ROMってろ
0622nobodyさん
2009/08/21(金) 17:28:17ID:???0626nobodyさん
2009/08/21(金) 17:55:42ID:???ハア?
>>613の回答にケチつけた覚えはねえよ
>>617なんてそもそも回答になってねえし
>>617まだですか?早く最先端教えてくださいよ
0627nobodyさん
2009/08/21(金) 17:59:05ID:???======糞スレ終了======
0628nobodyさん
2009/08/21(金) 18:02:50ID:???なら最初から黙っとけよ
0629610
2009/08/21(金) 18:13:11ID:WhelcFIUどうもありがとうございました
>>612
なるほどー、組をキーにした連想配列に入れて、そこから出力するわけですね
たしかにそっちのほうが楽かもしれない
>>613
すみません、スタックというのが理解できません。調べたんですがいまいちわからずで…
kumiの値を出力ごとにチェックして、例外(前のと違う)ときに次の組として処理し直すわけですね?
ちょっとやった事がない処理です。どうやったら良いのか考えてみます。。
もう一つ質問してもいいですか?
実はそれぞれのお返事をもらう前に、上で書いた自分なりの方法で「3)重複を省きながら$kumiAry配列にpush」を
とりあえずやっていたんですが、思ったように動きません。
$kumiAry = array();
foreach($allStudentAry as $key=>$value){
if(!in_array($kumiAry, $value['kumi'])){
array_push($kumiAry,$value['kumi']);
}
}
array_unique($kumiAry);
print_r($kumiAry);
結果、Array ( [0] => 3 [1] => 3 [2] => 3) と、思い切り重複してます。どこが問題なんでしょうか?
2つの方法で書き直す前に、スッキリしたいので教えてもらえると嬉しいです。
0630nobodyさん
2009/08/21(金) 18:37:11ID:???> すみません、スタックというのが理解できません。調べたんですがいまいちわからずで…
> kumiの値を出力ごとにチェックして、例外(前のと違う)ときに次の組として処理し直すわけですね?
> ちょっとやった事がない処理です。どうやったら良いのか考えてみます。。
基本的に上記の理解であってます。
1レコードづつ読み込んでは、出力用変数(メモリ)に出力形式なりで溜め込んで(これをスタックって言ってた)
kumi値が変わったところで溜め込んだものを出力。語弊を生むような語法を使ってしまいすいません。
>>617に言われたとおり昔からあるデータベース読み込みの基本的なアルゴリズムですよw
0632nobodyさん
2009/08/21(金) 21:33:12ID:???0633nobodyさん
2009/08/21(金) 22:43:05ID:???配列でできるじゃん
0634nobodyさん
2009/08/21(金) 22:47:53ID:PNbb36xjOS:windowsXP SP3 Pro
PHP:5.2.9
自PCに飛んでくるパケットをすべてキャプチャしたいです。
phpsnifferなるものを見つけて試したのですが、うまくいきませんでした。
(エラーは出ないが★部分で止まったまま何も起こらない)
http://eder.us/projects/phpsniffer/
----------プログラマの主要な処理を抜き出したのが以下です。
$sock = socket_create(AF_INET, SOCK_RAW, SOL_TCP);
socket_set_option($sock, SOL_SOCKET, SO_REUSEADDR, 1);
$socks=array($sock);
$w = $e = NULL;
socket_select($socks, $w, $e, NULL);//★
socket_recv($sock, $packet, 65536, 0);
var_dump($packet);
-----------------------------
〜〜板いけ 〜〜のサイト見ろなどでも構いませんので
どなたか回答なりヒントをいただけないでしょうか。
0635477
2009/08/22(土) 01:13:38ID:???0636634
2009/08/22(土) 02:01:56ID:DV5PllODヒントありがとう tcpdumpのwindows版でwindumpってのがあるみたい。
popenとの組み合わせでなんとかなるかも。
試してみます
0637nobodyさん
2009/08/22(土) 02:52:54ID:h6KUXpBq0638nobodyさん
2009/08/22(土) 02:56:11ID:h6KUXpBq0639nobodyさん
2009/08/22(土) 14:15:17ID:qs0RE9DRクラス中のメソッドを複数回実行してるんですが、最初の一回だけ動いて二回目以降は動きません。
なぜでしょうか?
myClass.class.php
=================================
class myClass{
function __construct(){
require_once("arrayList.php"); //配列リストの読み込み
$this->musicGenreAry = $musicGenreAry;//$musicGenreAryはarrayList.phpに定義されてます
}
function func($aryName,$num){
if($aryName =="music"){
return $this->musicGenreAry[$num];
}
}
}
読み込む側の.php
=================================
<?php
function smarty_modifier_NUMtoTEXT($num,$aryName){
require_once("myClass.class.php");//記入値・登録値を取得するクラスの読み込み
$myClass = new myClass();
echo $myClass->func($aryName,$num);
}
?>
すみません、続きます。
0640639
2009/08/22(土) 14:39:16ID:qs0RE9DR読み込み側の.phpを実行させるファイル test.tpl(smartyのテンプレートファイル)
=================================================
<p>
好きな音楽は、
1){$rsGakki.music1|NUMtoTEXT:'music'} (※修飾子プラグインとして実行しています)
2){$rsGakki.music2|NUMtoTEXT:'music'}
です
</p>
こんな感じです。
これで、1)ポップス とは出るものの、2) のあとに何も表示されず空欄になってしまいます。
なぜなんでしょうか。smarty修飾子プラグインのルールに何かあるんでしょうか?
検証として、別に用意した普通の .phpの中で、 $myClassObj->func('music',1)、$myClassObj->func('music',2)と
したところ、ちゃんと目標の値を2つとも出力します。
smarty固有の問題ならsmartyスレで聞くべきなんですが、requireとかスコープとかで
間違ってるのかも知れないと思い、ここで聞きました。
例えば読み込み側.phpの、require_once()のタイミングはあそこでいいんでしょうか?
基本的におかしな事をしてるような気がして、自分ではわからない状態です。
色んなジャンルにまたがっててすみません。よろしくお願いします
0641nobodyさん
2009/08/22(土) 14:50:44ID:???0642639
2009/08/22(土) 15:04:14ID:qs0RE9DRPHP5.2.6、SMARTY2.6、CentOS5.3 です
あと、今
function func($aryName,$num){
if($aryName =="music"){
print_r($this->musicGenreAry); //この行追加
print "abc";
return $this->musicGenreAry[$num];
}
}
したところ、print_rの結果を一度しか表示しないです(2回コールしてるので2回出るはず)
print "abc";は二回出力します。
配列が吹っ飛んでるのかな? なぜでしょうか。。
0643nobodyさん
2009/08/22(土) 15:55:35ID:TG4jntAzありがとうございます
今出先なので、帰宅したら試してみます!
0644nobodyさん
2009/08/22(土) 16:07:13ID:zxIfIvf2イメージとしてはこんな形式で…
$pstmt->bindParam(':foo', 'NOW()');
0645nobodyさん
2009/08/22(土) 16:12:51ID:???ってクエリをprepareして実行してnowdate ってカラムをとればいいじゃん。
0646nobodyさん
2009/08/22(土) 16:15:53ID:???fooがNOW()という条件を作りたいならSQL文でfoo = NOW()と書きゃいいだけだろ
根本的に考え方が間違ってる
0648nobodyさん
2009/08/22(土) 18:21:36ID:???fusianasaやって質問した奴は全部俺が答えてやる
0649fusianasa
2009/08/22(土) 18:30:22ID:???0650nobodyさん
2009/08/22(土) 18:41:54ID:kOYOIwI10651nobodyさん
2009/08/22(土) 19:18:40ID:v9riHruTってどういう意味でしたっけ?
0652651
2009/08/22(土) 19:32:14ID:v9riHruT申し訳ない
0653nobodyさん
2009/08/22(土) 19:34:44ID:????:は三項演算子。xml_parse関数の戻り値がtrueなら$this->documentを、falseならnullを返す。
文字列やら数値が返ってきた場合は、真偽値にキャストしてから判定する。0ならfalseとかな。
0654nobodyさん
2009/08/22(土) 19:45:28ID:???fusianasaって書いたらそのままそっくり言われた通りのことしかできないのはゆとりなんだよ
俺はfusianasanって書いてほしかったな
0655nobodyさん
2009/08/22(土) 20:33:26ID:839IHuhx郵便番号7桁の数字 1234567 を 123-4567
にしたいです。教えてください。
0656nobodyさん
2009/08/22(土) 21:36:21ID:???0657nobodyさん
2009/08/22(土) 22:16:18ID:839IHuhx0658nobodyさん
2009/08/22(土) 22:16:35ID:???こんな関数あるんだな、初めて知った
0661nobodyさん
2009/08/22(土) 22:32:21ID:LFACnGwwたとえば ./.../././ のようなパスを ../ に直したいのです
0663nobodyさん
2009/08/22(土) 23:14:03ID:nZ+TC59gこれってhttp requestでのpostと何が違うの
前者は、いちいち要求ヘッダ書くのが面倒くさいだけ?
0664nobodyさん
2009/08/22(土) 23:51:52ID:???俺ならもっと楽な方法を取る。
replace系使うまでもないかなと
$a = 1234567;
$[a][2]= $a[2]+"-";
0665nobodyさん
2009/08/23(日) 00:47:36ID:???0666nobodyさん
2009/08/23(日) 01:04:33ID:???0667nobodyさん
2009/08/23(日) 02:06:44ID:???くらいにやってることの意味がわかりやすく伝わるコードじゃない限り、
どれでも大差ないって思っちゃうなー。
0668nobodyさん
2009/08/23(日) 02:18:18ID:???入力された文字列の中にYouTubeのURLが複数存在しており
それらの中から 【 TnqXQSbLUQ1 or TnqXQSbLUQ1 】 という文字列を
取得し、 $match (配列)に一度に取得するにはどうすれば良いでしょうか?
【入力された内容】
動画1
http://www.youtube.com/watch?v=TnqXQSbLUQ1 ・・・ @
動画2
http://www.youtube.com/watch?v=TnqXQSbLUQ2 ・・・ A
【自分で書いてみた正規表現】
$pattern = "/http:\/\/www.youtube.com\/watch?v=\/i";
$string = "http://www.youtube.com/watch?v=TnqXQSbLUQU&feature=featured";
preg_match($pattern,$string,$match);
※最終的には $match に @>TnqXQSbLUQ1 A>TnqXQSbLUQ2
を取得したいです。
0669nobodyさん
2009/08/23(日) 02:33:15ID:???"/youtube\.\w+\/watch\?v=([\w-]+)/"
ドメインがyoutube.jpだったりwww.youtube.comだったりするのでこんなかんじかな
0670nobodyさん
2009/08/23(日) 02:44:57ID:???>>669
ありがとうございます。やりたい事が出来ました。
あと、正規表現について勉強をしているのですが、
"/youtube\.\w+\/watch\?v=([\w-]+)/"
のうち最後の「+」とは一体どういう意味なのでしょうか?
0671nobodyさん
2009/08/23(日) 02:49:03ID:???\wが英単語つまり[a-zA-Z_0-9]と同じ意味
+は直前の表現が1個以上あることを示す。\w+ならa-zA-Z_0-9のどれかが1つ以上あとはググれ
0672nobodyさん
2009/08/23(日) 03:00:14ID:RepkHWNsincludeでindex?q=item&a=1&b=2みたいな引数を読み込む方法はありませんでしょうか?
PHP4で絶対パス指定してた時代は出来たのですが!
怒ってます
0675nobodyさん
2009/08/23(日) 03:30:00ID:RepkHWNsはい4は読んでました。
たとえばキーワードで複数のAPI組み合わせてサイト作る機会って意外と多いと思うんですが
みなさんどうしてるんでしょうか。
PHP4に戻してCGI版PHP5にすればいけそうですか?
0677nobodyさん
2009/08/23(日) 04:01:33ID:RepkHWNsマジですか?それとも軽くあしらう感じの答えですか?マジだったらありがとう
0678nobodyさん
2009/08/23(日) 04:02:21ID:???0679nobodyさん
2009/08/23(日) 04:07:32ID:RepkHWNs時代の波にのりたいです
0680nobodyさん
2009/08/23(日) 04:08:55ID:???0681nobodyさん
2009/08/23(日) 04:18:49ID:???っていうのでできると思うのだけども
それは求めてるものとは違うんだろか?
0682nobodyさん
2009/08/23(日) 04:21:33ID:???>たとえばキーワードで複数のAPI組み合わせてサイト作る機会って意外と多いと思うんですが
いまいち言いたいことが分からないなー。
0683nobodyさん
2009/08/23(日) 12:04:55ID:AfcVjQ+e自分のグローバルipを取得したいんですが、
何か簡単な方法ないでしょうか。
$_SERVER["REMOTE_ADDR"]すると127.0.0.1になってしまうんです。
よろしくお願いします。
windowsです。
(phpはapacheでlocalhost以外では実行できない設定にしてあります)
exec("ipconfig")とやってみたらDefault Gatewayという項目しか出てきませんでした
0684nobodyさん
2009/08/23(日) 12:09:31ID:???0685nobodyさん
2009/08/23(日) 12:41:41ID:???そーいえばWEB魚拓やりたいけど容量がパンクしちゃう!!
とサガットさんが嘆いてました。
0686nobodyさん
2009/08/23(日) 13:04:27ID:???それだとnetにもひっかかるわな
悪意を持ってる人物がnetとかplとか空いてるドメインを見つけて使うかもしれないからこれはアウト
0688nobodyさん
2009/08/23(日) 15:41:38ID:Tby4tQsoループのなかで5番目の要素を見てるときに6番目をみるような…
0689nobodyさん
2009/08/23(日) 15:48:56ID:???0690nobodyさん
2009/08/23(日) 15:49:19ID:???0691nobodyさん
2009/08/23(日) 16:18:29ID:Tby4tQso//ここで$val['name']が『やまだ』を返すとき、次の$['name']と等しいか知りたいんです
}
foreachはどうもいまいち理解できません
くだ質ですみませんがお願いします
0694nobodyさん
2009/08/23(日) 16:35:45ID:???foreach($参照する変数 as $KEY名=>$値){
この書式をよく理解してないと思う。
この書式は、参照する配列変数の一次元目について、
キーと値の対応表を得るのに使う。要するに、配列の
キーがわからないときにそれをリストアップするものだよ。
なので、
$allAry が、
$allAry = array(
array('name'=>'yamada','age'=>15,addr=>'tokyo-to'),
array('name'=>'sato','age'=>18,addr=>'chiba-ken'));
というようなデータ構造の場合、$KEY名には、1、2しか
入ってこないし、$値には一名分の配列そのものしか
入らない。
もう、$allAryが、上記のような構造の場合、普通に
foreach($allAry as $one ){
とでもやって、一時変数に $one['name']の値を保存して
おいて逐次比較すればいいんじゃないかな。
0695nobodyさん
2009/08/23(日) 16:40:23ID:???$array[1][name] = "nanashi";
を foreach($array as $key => $val) で展開したら、$keyが0のとき$val['name']に
Yamadaが入るから、次のと比較するなら$key+1して$arrayを参照して比較すれば、
と思ったけど違ったんだっけか。
0700nobodyさん
2009/08/23(日) 19:08:29ID:???youtube.hoge
youtube.test
こんなサイトがあったとして、君はyoutubeってだけで何でもいいからIDを取っちゃうのかい?
0701nobodyさん
2009/08/23(日) 19:40:25ID:???[\w-]のIDからどうやって悪意のあるサイトに飛ぶんですか。
取ってるIDは[\w-]の範囲内ですよ
>>698
もしyoutube.comからHTMLをとってきてIDとるなら問題ないし。
ユーザーが入力したものだとしたらドメインが一致してもそのIDがでたらめなものかもしれないからドメインの問題じゃない
馬鹿ばかりだな
0703nobodyさん
2009/08/23(日) 19:54:29ID:???0704nobodyさん
2009/08/23(日) 20:58:34ID:???foreach($users as $key => $user){
if($users[$key] == $users[$key+1]){
// ここにやりたい処理を書く
}
}
0705nobodyさん
2009/08/23(日) 21:06:06ID:???foreach($users as $key => $user){
if($users[$key]['name'] == $users[$key+1]['name']){
// ここにやりたい処理を書く
}
}
0706nobodyさん
2009/08/23(日) 21:15:46ID:???そういう時はforでやるべし
0707nobodyさん
2009/08/23(日) 21:16:25ID:???マニュアルの配列関数のところ見れ
0710nobodyさん
2009/08/23(日) 21:37:56ID:???いいコードは書けませんよね
0711nobodyさん
2009/08/23(日) 22:00:24ID:???0712nobodyさん
2009/08/23(日) 22:23:38ID:nlDqD5AK使いやすいもの・参考になる簡単なもの無いですか?
やりたいことは、
・各ユーザに対する専用ページの保護
・ユーザ名・パスワードを入れた後はログアウトするまでユーザ専用ページ情報を開ける
・メールアドレスをユーザ名として使用
0713nobodyさん
2009/08/23(日) 22:26:14ID:???できればコードは「クラス」なものが良いのですが。
0714691
2009/08/23(日) 22:27:22ID:???参考にしてやってみます。ありがとう
0716nobodyさん
2009/08/23(日) 23:43:48ID:???基本から良く分かってないのでできればどのCMSのこのモジュールが分かりやすいよ
とかいうのがあればおききしたいのですが。
0717nobodyさん
2009/08/24(月) 01:27:27ID:???知ってる限りじゃDrupal。
静的ページを作るだけじゃかなり面倒臭いので
CMSのコンテンツマネージメント機能を利用する
ついでじゃなきゃお勧めできないけどw
つーか、PHPの標準機能だけでも結構あっさりと
できるでしょ。ユーザ管理DBを置いて、共通処理
で各ページ表示処理の手前で、認証やってダメな
ら弾けばいいんだから。Cookieにすればパラメータ
の受け渡しに迷うこともないし、セッションとしても
使えるし。
0719nobodyさん
2009/08/24(月) 02:17:17ID:???> つーか、PHPの標準機能だけでも結構あっさりとできるでしょ。
基本DB使ってセッションで_SESSION[USER]=ユーザ名があればログイン中
というふうにしたらメアドがネットにながれちゃうのかなぁ?とか。
んでなんか一回安全で一般的なユーザ管理の方法を学ぼうかなぁとおもいまして
サンプルを探しているわけです。
(できればフォームで登録申請→登録メアドにメールが届く→メール内URLをクリックで本登録とか機能も作りたい)
一応ネットでいくつか見てはみたのですが説明サンプル的なもので実践的でないもの
っぽかったので、これ使ってりゃそんな間違いないし簡単だよってものがあるのかお聞きしたかったのです。
>>718
100人程度登録・書き込みしてくれたらまぁいいかな程度なんですが。
Basic認証のことかなぁ?できればログインフォームでのログインクラスとして実装したいのですが。
0720nobodyさん
2009/08/24(月) 11:39:25ID:F/8gKHCCこれを一定(1バイトの文字*60文字=60バイト)の長さで一気に配列に格納したいのですがスマートな方法はありますか?
このデータは最初から最後まで60バイトで区切っていって丁度きっちり割り切れるデータです
0721nobodyさん
2009/08/24(月) 11:42:20ID:???0722nobodyさん
2009/08/24(月) 11:47:52ID:???データの先頭60バイトを切り取って、配列に格納
この処理をarray_mapを使って再帰的に処理すればforより短いコードで書ける
0723nobodyさん
2009/08/24(月) 11:58:07ID:???0724fusianasa
2009/08/24(月) 11:58:25ID:???str_split
0725nobodyさん
2009/08/24(月) 12:00:31ID:???0726nobodyさん
2009/08/24(月) 12:21:50ID:???スマートと言っても何がスマートなのかよくわからん
見た目をすっきりなのか
行数をすっきりなのか
まぁ、こんな手もある
20文字区切りだけどな
$teststr = '123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890';
$splitstr = chunk_split($teststr,20,"\n");
$bunkatu = split("\n",$splitstr);
0727nobodyさん
2009/08/24(月) 12:24:50ID:???それの処理が必要
0730nobodyさん
2009/08/24(月) 12:36:33ID:???>>726さんのchunk_splitが一番よさそうなのでそれでやってみようと思います
本当に勉強になりました、みなさんありがとうございました
0731nobodyさん
2009/08/24(月) 12:42:56ID:???0733nobodyさん
2009/08/24(月) 12:53:11ID:F/8gKHCCループの処理もいらず、短い1行でやりたいことができました!
0734fusianasa
2009/08/24(月) 13:02:41ID:???ぷんぷん
0735nobodyさん
2009/08/24(月) 13:08:02ID:???0736nobodyさん
2009/08/24(月) 13:13:36ID:???0737nobodyさん
2009/08/24(月) 14:01:09ID:???読んでからレスしたんだが
改行がないんだからわざわざ付けてどうすんだ
データ処理時に改行を付加するなら最初からデータの末尾に改行をつけるのがスマート
0738nobodyさん
2009/08/24(月) 15:02:37ID:???0740nobodyさん
2009/08/24(月) 16:26:21ID:ywIYQab+imagick2.3.0 / ImageMagick 6.5.5
を利用しています
Imagickで取り込んだデータをブラウザに出力する場合、静止画であれば
echo [Imagickのインスタンス];
でいけるのですが、
アニメーションGIFを出力する場合は一旦ファイルに書き出してからでないと無理でしょうか?
0741nobodyさん
2009/08/24(月) 18:12:09ID:gGslhGFk配列の要素数が増えると、処理が遅くなりそうで…
そもそも、配列で処理しようとしてることが間違いなのか…
上手な書き方、教えてください。
<?php
//$array[] = array(識別ID, 国名, 点数);
$array[] = array('a01', '日本', '10');
$array[] = array('a02', 'アメリカ', '20');
$array[] = array('a03', 'ロシア', '30');
//(省略)
$str = 'a02';
foreach($array as $item){
list($id,$name,$i) = $item;
if(in_array($str, $item)){
echo $name;
}
}
?>
0742nobodyさん
2009/08/24(月) 18:21:11ID:???プログラムのほかの部分が判らんからあれだけど、
任意の識別IDから国名を出したいのなら、識別IDをキーにすべきじゃないか?
$array['a01'] = array('日本', '10');
$array['a02'] = array('アメリカ', '20');
$array['a03'] = array('ロシア', '30');
echo $array['a02'][0];
0743nobodyさん
2009/08/24(月) 19:06:02ID:???0744726,731
2009/08/24(月) 19:23:46ID:???ちょっとは応用に頭を使えよ…
改行改行って拘りすぎだ
chunk_splitは特定バイト毎に改行文字を挿入する
だから\nじゃなくて<br>でも何でも使えるんだよ
今回は思いついた\nを使っただけだ
格納の仕方・手順については、MySQL Query Browserを用いて、
格納した画像を表示・ローカルPCに保存(して表示)できたので問題ないと思います。
しかし、PHPを用いていざ表示してみようとすると、
『格納したものと同じデータ容量・同じサイズの白色(無色かも?)の画像』が表示されるだけです。
言っている意味が分かりづらいかもしれないですが、
それをローカルPC上に保存してみても、
画像を表示することはできないのですが、
(Windows Picture and Fax Viewerで表示しようとすると、
『画像を描画できませんでした』と表示される)
データ容量とサイズはしっかりとあっています。
こういった場合に考えられる原因がお分かりになる方、ご教授いただけませんか。
ソースコードを書く必要があれば書きます。
また、他に不足している情報があれば補足しますので、
どうぞよろしくお願いします。
0746nobodyさん
2009/08/24(月) 20:59:09ID:???0747nobodyさん
2009/08/24(月) 20:59:21ID:???0748nobodyさん
2009/08/24(月) 21:01:25ID:???無理だと思った理由は?こんな症状が出たとか書くと答えてもらえる
どんなフォーマットでも出力方法は同じ
http://www.php.net/manual/ja/function.imagick-getimageblob.php
>>744
737じゃないが、>>726のヌル文字やデリミタの混入で
動くけど挙動がおかしくなるコードは下策
初心者に教えるべきでもないな
0749nobodyさん
2009/08/24(月) 21:34:50ID:???今私がやりたいのは、二次元配列を、n番目の配列をキーにソートをする、ということです。
イメージとしては、MySQLのORDER BYみたいな感じです。
array_multi_sortでもできますが、ソートのパターンが増えるたびにコードを書かないといけないのが少し煩わしいです。
何かいいのないでしょうか。
0750nobodyさん
2009/08/24(月) 21:35:44ID:???ヘッダは
header('Content-type: image/jpeg');
と出力しています。
ただ1つ気になるのは、 image/jpeg であっているのか?というところです。
元画像はもちろん jpg なんですが、
先述の MySQL Query Browser を使って保存すると、
jpg とは認識してくれない( All Files(*.*) となっている)のです。
(もともと自動認識してくれないのかもしれませんが)
それを *.jpg として保存すると見られますし、あるいは *.png などとしても見られます。
ちなみにヘッダを出力しないと、文字化けしたバイナリデータが表示されます。
また、ヘッダの前に echo " "; などを追加するとエラーが起きるので、
ヘッダより前に何かが出力されてしまっている、ということもないと思います。
ソースコードの保存はutf8、BOMなしでしてます。
0752740
2009/08/24(月) 21:37:48ID:ywIYQab+レスthx
なるほど、出力する時はその関数だったのか
php.netの例がそのままインスタンスechoしてるだけだったので、
正直変な書き方だとは思ってたんだw
どっちでもいいのかもしれんが今後はそれ使います
で、変更してみたけど結果は変わらず、
おそらくアニメーションGIFの1フレーム目だけが静止画として表示されるのみ
テストソース
$image = new Imagick('./img/0');
header('Content-type: image/gif');
echo $image->getImageBlob();
で、もうちょっと自力で探してたら
ttp://kyle-in-jp.blogspot.com/2008/09/imagemagickphpgif.html
このブログでまさにやりたい事がエントリされたのでちょっとこれから勉強してきます。
了解です。
クラスオブジェクトとかを使っているので、
画像を表示するプログラム単体ではわかりづらいかもしれないです。
<?php
require_once( 'Config.class.php' );
require_once( 'Tables.class.php' );
$config =& new Config();
$_SESSION['permission'] = ADMIN;
$DSN = $config->DSN();
$uid = $_GET['uid'];
$img_type = $_GET['img_type'];
$cartoonist =& new Cartoonist( $DSN, "user_id", $uid );
// ↑Tables.class.php により、これで、
// Cartoonist テーブルの user_id フィールドにおいて、 $uid と一致するデータを、
// Cartoonist->user_id や Cartoonist->user_password などとして呼び出せます。
if( $cartoonist->isError() ) {
die( $cartoonist->getError() );
}
if( $img_type = "illust_1cut" ){
header('Content-type: image/jpeg');
echo $cartoonist->illust_1cut;
}
$cartoonist->__destruct();
?>
よろしくお願いします。
×:// Cartoonist->user_id や Cartoonist->user_password などとして呼び出せます。
○:// $cartoonist->user_id や $cartoonist->user_password などとして呼び出せます。
0758nobodyさん
2009/08/24(月) 23:19:04ID:???0759nobodyさん
2009/08/24(月) 23:19:18ID:???{ [0]=> array(2)
{ ["aaa"]=> string(1) "a-1" ["bbb"]=> string(6) "b-1" }
[1]=> array(2) { ["aaa"]=> string(1) "a-1" ["bbb"]=> string(6) "b-2" } ....以下略
という風に並んでいるものがあって、
a-1 b-1,b-2....
a-2 b-1,b-2....
っていう風に取り出す方法ないでしょうか…。
どうしたら良いものかさっぱり…。
二次元配列…?でも上手くいかなかったし。
0760nobodyさん
2009/08/24(月) 23:25:43ID:???0761nobodyさん
2009/08/24(月) 23:26:56ID:???0762759
2009/08/24(月) 23:31:55ID:HdED1h1S0763nobodyさん
2009/08/24(月) 23:52:54ID:???0764nobodyさん
2009/08/25(火) 00:01:24ID:???0765nobodyさん
2009/08/25(火) 00:04:51ID:???["aaa"] = "a-1"
["bbb"] = "b-1"
[1]
["aaa"] = "a-1"
["bbb"] = "b-2"
[0]と[1]の両方に同じデータが入ってるのか?
0766nobodyさん
2009/08/25(火) 00:22:12ID:???0767nobodyさん
2009/08/25(火) 01:07:51ID:Owp0h4vBソースはこんな感じ。
require_once( "Auth/Auth.php" );
$params = array(
dsn' => "mysql://user:pass@localhost/db",
'table' => "member_table",
'usernamecol' => "username",
'passwordcol' => "password",
'crypttype' => "md5",
'db_fields' => "*",
);
$auth_obj = new Auth( "DB", $params );
$auth_obj->start();
if( $auth_obj->getAuth() ) {
print "ようこそ!" . $auth_obj->getAuthData( 'username' ) . "さん<br>";
};
認証はできててエラーは何も出ず、
ようこそ!さん
と表示されます。getAuthDataがNULLを返しているような感じ。
フィールド名をいろいろ変えても同じ。
ぐぐったけどわかりません。
なんでこんなシンプルな関数が動作しないのか…。何を調べればいいのでしょうか。
0768nobodyさん
2009/08/25(火) 01:08:26ID:???[0] => array(
[0] => "a",
[1] => "b",
),
[1] => array(
[0] => "c",
[1] => "d",
),
)
こんな感じでかいてくれ上のだと見にくい
0769nobodyさん
2009/08/25(火) 01:11:13ID:Owp0h4vBhttp://go4it.seesaa.net/article/113476888.html
0771759
2009/08/25(火) 01:20:46ID:EILdhFsc[0]=> array(2){
["aaa"]=> string(1) "a-1" ["bbb"]=> string(6) "b-1"
}
[1]=> array(2){
["aaa"]=> string(1) "a-1" ["bbb"]=> string(6) "b-2"
}
[2]=> array(2){
["aaa"]=> string(1) "a-1" ["bbb"]=> string(6) "b-3"
}
[3]=> array(2){
["aaa"]=> string(1) "a-2" ["bbb"]=> string(6) "b-1"
}
[4]=> array(2){
["aaa"]=> string(1) "a-2" ["bbb"]=> string(6) "b-2"
}
[5]=> array(2){
["aaa"]=> string(1) "a-3" ["bbb"]=> string(6) "b-1"
}
.....略
書き方を変えてみました。
0773nobodyさん
2009/08/25(火) 01:25:07ID:???function array_print( $array )
{
foreach( $array as $key => $value )
{
if( is_array( $value ) )
{
array_print( $value );
}else{
print $value;
}
}
}
>>757
元ファイルが jpg なので、jpg 形式で出力すればいいかと思ってたんですが・・・。
データベースに格納する際、何か必要な処理があるんでしょうか?
>>758
md5 で確認、といいますとどういうことでしょうか?
暗号化するコマンドの md5 しか知らないのですが・・・。
よろしくお願いします。
0775nobodyさん
2009/08/25(火) 01:42:12ID:Owp0h4vBエラー全部表示にしても、何も出ません。
しょうがない、Authを使うのはあきらめよう。これだから他人の書いたライブラリは信用できない。
>>758
もしかして、
echo $cartoonist->illust_1cut;
の部分を、
echo md5( $cartoonist->illust_1cut );
としてみる、ってことでしょうか?
そうなのであれば、その結果、
f85f7936575718c32cbc4018e7dc63a6
と出力されたので、壊れてないと思われます。
0777nobodyさん
2009/08/25(火) 01:48:21ID:???自作でいろいろやってる部分を省いて、一番単純なコードでちゃんと表示されるかどうか試してみたら?
問題が再現するコードってのはそういうこと
0778nobodyさん
2009/08/25(火) 02:04:17ID:???以下のようなスクリプトにしてみたところ、表示できました!
あとはこれをいじってどうにか自分の思う形に持っていきたいと思います。
面倒見てくださった皆様ありがとうございました。
<?
// DB接続
$conn=mysql_connect("localhost","root","");
// DB選択
mysql_select_db("eninaru");
//DBからバイナリ画像を取得
$sql = " SELECT illust_1cut FROM Cartoonist LIMIT 1 ";
$result = mysql_query( $sql );
$val = mysql_fetch_assoc( $result );
//画像として表示
header("Content-type: image/jpeg");
echo $val['illust_1cut'];
exit;
?>
0780nobodyさん
2009/08/25(火) 09:19:58ID:???お前本当に頭悪いな
chunk_splitは区切り文字として何でも使えるんだから好きなのを使えば良いだろ?
固定バイト数毎に配列に格納する方法についての質問に
・forループで格納する方法の別の方法として
chunk_splitを使って特定バイト毎に区切り文字入れてsplitで分ける方法を出しただけだ
その後にphp5のマニュアルを見たらstr_splitを見つけたけどな
考え方として案を出しているのに区切り文字に拘り続ける理由がわからん
そんなのは自分のシステムに合わせた区切りにするだけじゃないのか?
0781nobodyさん
2009/08/25(火) 09:31:01ID:???他人のどうでもいいプログラムのことでけんかすんなよ...
0782nobodyさん
2009/08/25(火) 09:34:08ID:???0783nobodyさん
2009/08/25(火) 10:55:25ID:Nftjn5Vtあるシステム関数を含んだコードを実行すると下のようなエラーが出ます。
何に原因があると思いますか?
Warning: system() [function.system]: Unable to fork ["C:/Program Files/Xpdf/pdftotext.exe" -enc Shift-JIS ./showPickingListNoUpdate.pdf2.pdf .\_4a933e906bb263.14282916] in C:\public_html\group\pdf_test.php on line 8
0784783
2009/08/25(火) 10:56:27ID:Nftjn5Vt(以前にここでPDFのテキストを抽出したいと相談した時に教えてもらったサイトのコードで試しました
パスは適宜修正済みできちんとその場所に実行ファイルやPDFファイルがあります)
----------------------------------------------
<?php
class PdfToText {
public static $exepath = '"C:/Program Files/Xpdf/pdftotext.exe"';
public static $options = ' -enc Shift-JIS';
public static function execute($path=null) {
$tmp_path = PdfToText::get_temp_file_path($path);
system(PdfToText::$exepath . " " . PdfToText::$options . " {$path} {$tmp_path}");
$text = null;
if (file_exists($tmp_path)) {
$text = readfile($tmp_path);
unlink($tmp_path);
}
return $text;
}
public static function get_temp_file_path($path=null) {
$dir = dirname($path);
if ($dir[(strlen($dir)-1)] != DIRECTORY_SEPARATOR) {
$dir .= DIRECTORY_SEPARATOR;
}
return ($dir . uniqid('_', true));
}
}
echo PdfToText::execute("./test.pdf");
?>
0785nobodyさん
2009/08/25(火) 11:19:30ID:???windowsでphpを使ったことがないので外しているかもしれんけど...
ttp://www.iis-aid.com/articles/trouble_shooting/warning_exec_function_exec_unable_to_fork
ttp://www.somacon.com/p255.php
あたりを見ると、IISユーザーにC:/Program Files/Xpdf/pdftotext.exe
を実行するパーミッションがないからじゃないだろうか。
0787nobodyさん
2009/08/25(火) 11:55:46ID:2Veus9TY【PHPのバージョン】5.2.3
上記仕様のレンタルサーバーでSmartIRCというライブラリを使用して
IRCBOTを動かしています。動作としては指定のIRCチャンネルに
10分置きに現在時間を知らせるメッセージを送信するというものです。
問題なく動作はしてくれるのですが、1時間ほど経つと
IRCBOTがチャンネルから落ちてしまいます。PHPは初心者で
あまり詳しくないのですが、恐らくPHPのセッションが1時間で
タイムアウトしてしまう設定になってるのではないかと想像しています。
自分でタイムアウト時間を設定したいのですが、どのように
すれば良いでしょうか?ご教示よろしくお願い致します。
(SmartIRC)http://pear.php.net/package/Net_SmartIRC/
(参考ページ)http://www.phppro.jp/phptips/archives/vol36/
0789nobodyさん
2009/08/25(火) 12:17:26ID:???0790787
2009/08/25(火) 12:44:57ID:2Veus9TYご提案ありがとうございます。
ですが、「IRCBOTが1時間で勝手に落ちる」という問題が
解決可能なのであれば、SmartIRCでBOTを運用したいと思っています。
>>789
すみません、書き漏れておりました
レンタルサーバーはland.toという所を使っています。
http://land.to/
0791nobodyさん
2009/08/25(火) 13:02:09ID:???>>785の書いているIISが実行ファイルを処理できる権限があるかどうかのチェック
>>787
スクリプトはCRONか何かで定期的に起動するタイプなのか?
常駐だとレンタルサーバーならプロセスがkillされているかもしれん
0792787
2009/08/25(火) 13:22:01ID:2Veus9TYご回答ありがとうございます。
CRON等で定期的に起動はしていません。
EIからBOTスクリプトの書かれたphpを一度だけ読み込んでます。
読み込んだ後はブラウザを閉じています。
>常駐だとレンタルサーバーならプロセスがkillされているかもしれん
なるほど。。。
BOTを常駐させたいのですが、プロセスがkillされない方法は
ないでしょうか?
0793787
2009/08/25(火) 13:23:51ID:2Veus9TYEIではなくIE(インターネットエクスプローラー)。
失礼しました。
0796nobodyさん
2009/08/25(火) 15:54:23ID:???0797nobodyさん
2009/08/25(火) 16:28:30ID:???ttp://www.phppro.jp/phptips/archives/vol36/
をざっくりと見た感じだとスクリプトが常駐する感じっぽいな
それなら「レンタルサーバで使うのは止めておけ」だ
レンタルサーバは皆で使用している物だからな
一つのサーバに「自分だけなら・・・」で使う奴が何人も居たら
大変な事になる
0798787
2009/08/25(火) 16:36:34ID:2Veus9TY他の奴なんかどうだっていい、俺さえよければいいんだ
わからねえなら下らないレスすんな雑魚ども
0799nobodyさん
2009/08/25(火) 16:44:57ID:???質問内容から知ってるような感じには見えなかったなあ
0800nobodyさん
2009/08/25(火) 16:48:18ID:???そもそもレンタルサーバー屋と借りてる奴との間の話だし。
VPSとか借りたらどう? 他のお客さん関係なくなるし。
共有なんかだと、プロセスみてずっと動いてるの殺したり、定期的にいろいろ再起動されたりするので無理じゃね。
0801nobodyさん
2009/08/25(火) 16:51:45ID:???0802nobodyさん
2009/08/25(火) 17:16:02ID:???0803nobodyさん
2009/08/25(火) 17:18:40ID:TGZyUfPXなんならスペース貸そうか?
0804nobodyさん
2009/08/25(火) 17:39:18ID:???0805nobodyさん
2009/08/25(火) 22:27:39ID:Y/NZgk2cfinfo_open → resource(12) of type (file_info)
finfo_file → NULL
どうしてもfinfo_fileでNULLが返ってきます。
ローカルサーバーでは正常にファイルタイプが返ってきました。
ちなみにmimeのデータベースはローカルで成功したものをLinuxにアップロードして使っています。
なぜこのようなことになるのでしょうか・・・。
0806nobodyさん
2009/08/25(火) 23:18:15ID:???finfo_openのリソースをfinfo_fileで使用するから片方だけ通らないってのも変な話だ
その部分のコードをアップしてくれないか?
0807nobodyさん
2009/08/25(火) 23:29:39ID:Y/NZgk2c$mimetype = $finfo->file($finfo, $file_path);
var_dump($finfo, $mimeType, $file_path);
Warning: finfo::file() expects parameter 1 to be string, object given in /home/uploader/data/class/Uploader.php on line 52
object(finfo)#3 (0) {
}
NULL
string(14) "/tmp/phpmGveGV"
こんな感じです。
おかしいな、$finfoオブジェクトなのに・・・
newじゃなくfinfo_openならさきほどのresource(12) of type (file_info)がかえってきてました
0808nobodyさん
2009/08/25(火) 23:32:37ID:???空メールを送って、メールを自動返信する処理を作成しているのですが、
ソフトバンク携帯だけ、自動返信メールの件名がダブって送られます。
例えば、件名が「登録ありがとうございます!」だったら、「登録ありがとうございます!登録ありがとうございます!」みたいな感じです。
その他の2キャリア、auとドコモは大丈夫でした。またPCから送ってみたのですが、そちらも大丈夫でした。
メールを送る処理は、普通にmail関数を使っているのですが、これはソフトバンク携帯の仕様なんでしょうか?
0809nobodyさん
2009/08/25(火) 23:33:05ID:Y/NZgk2c$finfo = new finfo(FILEINFO_MIME, $this->getMagicFilePath());
$mimetype = $finfo->file($file_path);
var_dump($finfo, $mimeType, $file_path); die;
object(finfo)#3 (0) { }
NULL
string(14) "/tmp/phpCZhdyB"
0810nobodyさん
2009/08/25(火) 23:39:32ID:???2行目:$mimetype
3行目:$mimeType
0811nobodyさん
2009/08/25(火) 23:41:57ID:Y/NZgk2c本当にありがとうございました
0812nobodyさん
2009/08/25(火) 23:43:33ID:MI9sHpliPHP5.2.x系の最新版ってないんですか?
PHP5.3しかないのですが・・・
0813nobodyさん
2009/08/25(火) 23:46:34ID:8cJr6T6dhttp://www.php.net/ChangeLog-5.php
0814nobodyさん
2009/08/25(火) 23:55:31ID:???ネタっぽく返ってきてるんだがw
解決でいいのか?w
>>812
意味が良くわからん
環境にもよるが本家にも無かったか?
0815nobodyさん
2009/08/26(水) 00:08:15ID:zWNH0csG本当にありがとう
0816nobodyさん
2009/08/26(水) 04:21:39ID:8mfIJWwVfor($i=0;$i<5;$i++)
{
echo $i."<br>";
}
for($j=0;$j<5;++$j)
{
echo $j."<br>";
}
?>
これなんで、$iも$jも同じ結果になるの?
前置加算だったら、$j=0に++して最初は0じゃなくて1になるんじゃないの??
forの中は特別?
0817nobodyさん
2009/08/26(水) 04:24:02ID:???0818nobodyさん
2009/08/26(水) 04:32:29ID:8mfIJWwVちょっとかんがえてみたけど
文法はおかしいけど、もしかしてこういう感じのこと??
for($j=0;$j<5;)
{
echo $j."<br>";
++$j
}
0819nobodyさん
2009/08/26(水) 04:39:27ID:???0820nobodyさん
2009/08/26(水) 05:04:50ID:8mfIJWwV0821nobodyさん
2009/08/26(水) 13:58:45ID:6H4tMTv1<input type="text" value={$text}>
のようにテキストボックスにあらかじめ文字列を表示しようとしてるんだけど、
$textの半角スペースなんかをエンコードするのってどうやるんだっけ
0822nobodyさん
2009/08/26(水) 14:05:18ID:???0823nobodyさん
2009/08/26(水) 14:06:45ID:6H4tMTv1ありがとう!やってみたけど、やはり途中に半角スペースがあるとそれ以降が表示されない。
他にも何かあるんだっけ?
0824nobodyさん
2009/08/26(水) 14:08:01ID:???0825nobodyさん
2009/08/26(水) 14:10:24ID:6H4tMTv1こんどは半角スペースが「+」に化けちゃった…
htmlspecialchars と組み合わせてもだめだ…だれか助けて
0826nobodyさん
2009/08/26(水) 14:13:09ID:jmEq8MiJvalue={$text}
↓
value="{$text}"
で囲ってやれよwww
0827nobodyさん
2009/08/26(水) 14:17:49ID:6H4tMTv1できた!wwww
d
0829nobodyさん
2009/08/26(水) 14:24:04ID:6H4tMTv1サーセンwwwwww
0830nobodyさん
2009/08/26(水) 14:38:53ID:???読み込むCVSファイルは株価のデータです。こんな感じのです。
| 日 付 | 始値 | 高値 | 安値 | 終値 |
| 2009-7-1 | 100.0 | 150.0 | 50.0 | 120.0 |
| 2009-7-2 | 120.0 | 130.0 | 70.0 | 90.0 |
| 2009-7-3 | 90.0 | 150.0 | 50.0 | 120.0 |
:
:
CSVファイルを読み込んで、MYsqlでデータを保存します。
データベースはkabu
テーブルはそれぞれopen,high,low,close です。
下らない質問なのは承知ですが、まったくわかりませんorz
よろしくお願いします。
0831nobodyさん
2009/08/26(水) 14:44:42ID:???IDだして。
っていうかいくらなんでも丸投げ過ぎるw
何がしたいのかを具体的に書いてくれよ(CSVのデータをDBに入れたいのはわかるが)
あとテーブルが4つにわかれているの?列じゃなくて?
0833nobodyさん
2009/08/26(水) 14:51:12ID:???0835nobodyさん
2009/08/26(水) 15:02:50ID:???0836nobodyさん
2009/08/26(水) 15:21:11ID:???0837nobodyさん
2009/08/26(水) 15:25:12ID:???答えられない癖に煽りは一人前wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
きめえwwwwwwwwwwwwww
0838830
2009/08/26(水) 15:25:13ID:6QIN4yeN丸投げすぎてすみませんorz
テーブルはそれぞれ分かれています。日付=torokubi が抜けてました。
日付はtorokubiに
始値はopenに・・といった具合です。すみませんがよろしくお願いします。
0839nobodyさん
2009/08/26(水) 15:28:33ID:???0842nobodyさん
2009/08/26(水) 15:31:40ID:???0843nobodyさん
2009/08/26(水) 15:31:50ID:???素直に僕は<?php echo "Hello World!!";?>しか書けない初心者ですって言えよ(笑)
どうせお前は回答者になれるほど知識無いんだろ(笑)
0844830
2009/08/26(水) 15:32:28ID:6QIN4yeNもともと最新値は自分で入力していくんですが、過去分を証券会社からDLしてきて、
それを表示する&(間違いとかあれば)修正したり出来るページを作りたいのです。
新規に入力できたり、DBにあるデータを表示するPHPのページは出来てるんですが
アップロードのとこがわかりませんorz
0845nobodyさん
2009/08/26(水) 15:32:58ID:???誰か答えてみろよ
0846nobodyさん
2009/08/26(水) 15:34:33ID:???phpでプログラム書いて読み込むんだ
0847nobodyさん
2009/08/26(水) 15:41:41ID:???//DB接続略 ファイルアップロードしてファイルに保存部略
$sql = "LOAD DATA INFILE 'example.csv' INTO TABLE kabu (torokubi,open,high,low,close)FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' IGNORE 1 LINES ";
@mysql_query($sql);
0849nobodyさん
2009/08/26(水) 15:50:58ID:???0850nobodyさん
2009/08/26(水) 15:52:39ID:???>>847がloaddataでの完璧な例を出してくれているので書くことが無いw
で、質問とは別の話なんだが、そのテーブル構成だと銘柄が判らないぞ?
まさか銘柄毎にテーブルを作るとか考えているわけではないよな?
0851nobodyさん
2009/08/26(水) 15:54:55ID:???あと質問者も煽られたからって荒らさないでID出さないほうで聞いて来い
0852nobodyさん
2009/08/26(水) 15:56:21ID:jmEq8MiJ何がしたいの?
0853830
2009/08/26(水) 16:01:13ID:6QIN4yeNありがとうございます、試してみます。
そんなたった1行でできるとは、、、感服です。
>>850
銘柄はいまのところ固定してるんで大丈夫ではありました。
が、実は本当はいります。作り忘れてでしたorz
その他のみなさんもありがとうございました。
糞な質問でスレ消費してすみませんでした。
0855nobodyさん
2009/08/26(水) 16:08:54ID:???>データベースはkabu
>テーブルはそれぞれopen,high,low,close です。
テーブルがkabuで列がopen,high,low,closeの間違いだよね?
それなら>>847さんの例で平気だけど。
こういう時はDBのテーブル構成も明記しておいたほうがいいよ。
0856nobodyさん
2009/08/26(水) 16:10:13ID:???0857nobodyさん
2009/08/26(水) 18:23:09ID:4ml6a4mF0858nobodyさん
2009/08/26(水) 18:42:21ID:???0859sage
2009/08/26(水) 19:31:41ID:???-rwxrwxrwx 1 apache apache 4852374 8月 26 19:29 hogehoge
下記のPHPを実行したんですが変更されません。
<?php
chown("hogehoge", root);
?>
構文間違ってます?
0860nobodyさん
2009/08/26(水) 19:36:29ID:???0861sage
2009/08/26(水) 19:48:55ID:???<?php
$dir = "/var/www/html/";
$path = $dir . "hogehoge";
$username = "root";
chown($path, $username);
?>
これでもダメだった。
もうお手上げ。
0862nobodyさん
2009/08/26(水) 19:54:08ID:???じゃあ5.3使うとするか
0863nobodyさん
2009/08/26(水) 19:54:17ID:???bool chown ( string $filename , mixed $user )
ファイルfilename の所有者を(名前または番号で指定した) ユーザuser に変更しようと試みます。 スーパーユーザのみがファイルの所有者を変更できます。
注意: この関数では、 リモートファイル を使用することはできません。これは、処理されるファイルがサーバのファイルシステムによりアクセスできる必要があるためです。
注意: セーフモード が有効の場合、PHP は操作を行うファイル/ディレクトリが実行するスクリプトと同じ UID (所有者)を有しているかどうかを確認します。
0864nobodyさん
2009/08/26(水) 19:54:50ID:eFQ12b2O0866nobodyさん
2009/08/26(水) 20:07:11ID:???http://pc11.2ch.net/test/read.cgi/php/1158647441/
0867nobodyさん
2009/08/26(水) 20:13:27ID:eFQ12b2O>>1はちゃんと読んだぞ
0868nobodyさん
2009/08/26(水) 20:19:31ID:???はい終了
0870nobodyさん
2009/08/26(水) 21:06:28ID:eFQ12b2O0871sage
2009/08/26(水) 21:10:00ID:???0872sage
2009/08/26(水) 21:30:51ID:???学校を前にすると不安になるからなのかね
0873nobodyさん
2009/08/26(水) 22:15:36ID:eFQ12b2O0874 ̄ ̄ ̄ ̄ ̄\/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
2009/08/26(水) 22:29:35ID:1j0SUHbG|| // // |
|| / ̄ ̄ ̄ ̄\ . | / ̄ ̄ ̄ ̄\
|| ( 人____) | ( )
|| |ミ/ ー◎-◎-)| (ヽミ |
|| (6 ゜(_ _) )|. ( 6) |
|| __| ∴ ノ 3 )| (∴ \____ノ_
|| (_/.\_____ノ | >--(っ___□__)
|| / ( )) ))ヽ| ( )) |三| ヾ
. ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ||========[]===|)
|_|| | ̄ ̄ ̄ ̄ ̄|
(_)\|三三三三三|
(:::::::::::::::::::::y:::::::::ノ)\
|:::::::::::::::::::::|:::::::::| |
0875nobodyさん
2009/08/26(水) 23:09:41ID:???0876nobodyさん
2009/08/26(水) 23:11:51ID:eFQ12b2Oてめえらの知識不足ってやつね
あとsmartyは軽量ではないからな、無知は痛いね(苦笑)
0877nobodyさん
2009/08/26(水) 23:14:40ID:???>【その他諸注意】
>・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0878nobodyさん
2009/08/26(水) 23:22:00ID:???0879nobodyさん
2009/08/26(水) 23:34:45ID:???ただのライブラリでしょ。
標準からは一歩下がったところだけど、いまはもう
デファクトスタンダードになっていると覆う。
0880nobodyさん
2009/08/26(水) 23:35:36ID:???0881nobodyさん
2009/08/26(水) 23:57:37ID:???実態はただのPHPファイルだよ
0882nobodyさん
2009/08/27(木) 00:17:36ID:???0883nobodyさん
2009/08/27(木) 00:40:52ID:???軽くて小さくて単純ってのはわかるが、故に難しかった
後、うどん屋とか焼肉屋とか、そんな感じの名前のフリーのシステムを使ってたのもあったなぁ
軽くて小さくて簡単なのはわかるけど、マイナーで深い使い方が出来ない分、意外と苦労した
0885nobodyさん
2009/08/27(木) 01:43:48ID:eQsuAF/T0886nobodyさん
2009/08/27(木) 01:44:20ID:???0887nobodyさん
2009/08/27(木) 02:02:52ID:eQsuAF/Tオブジェクト的なのが変わっただけ?
0888nobodyさん
2009/08/27(木) 02:05:17ID:???PHPサイドはもう4は使うなとアナウンスしてるので5にしときな
0889nobodyさん
2009/08/27(木) 02:13:48ID:eQsuAF/T5って分家的な感じだと思ってた
0891nobodyさん
2009/08/27(木) 08:47:53ID:???http://pannkaka.txt-nifty.com/upload/manual.html
下らない質問スレなんだからこんなんでいいだろ。
0893nobodyさん
2009/08/27(木) 11:59:29ID:AzGLOn1yfor関数はこのように入れ子構造で使う事は可能なのでしょうか?
0894nobodyさん
2009/08/27(木) 12:21:28ID:???ここにコード書けよ
バカなの?
0895nobodyさん
2009/08/27(木) 12:23:49ID:???0897nobodyさん
2009/08/27(木) 12:28:28ID:AzGLOn1yすいません、コード抜き出すと300行ぐらいになるので
このようにした方がわかりやすいと思いました。
ちょっと投稿レベル低すぎるようなのでくだスレの方に
書き込みたいと思います、ありがとうございました。
0899nobodyさん
2009/08/27(木) 12:43:12ID:AzGLOn1yちょっと過疎ってるようなので
こちらに再度書き込ませて頂きたいと思います。
http://www.pachiweb.com/pachiweb/pachiweb.html
↑掲示板のように
http://www.pachiweb.com/updir/data/2222.jpg
↑ログをhtml出力したいと思い
http://www.pachiweb.com/updir/data/1111.jpg
↑このような構文を考えました。
ログには
$threadno,$responseno,$last,$now,$name,$email,$sub,$model,$com,$host,$pass,$ext,$W,$H,$tim,$chk,\n
このようになっており$lastはスレッドの最終書き込み判定です。
そして、上記構文で実行したところ処理が永久ループし始めました。
もうちょっとシンプルで頭の良いやり方などありましたら
教えて頂けませんでしょうか?
0900nobodyさん
2009/08/27(木) 12:49:35ID:???同じパターンの入れ子を考えるときは、再帰的な構造を考える
そうすればシンプルなものが書ける
再帰とは - はてなキーワード
http://d.hatena.ne.jp/keyword/%BA%C6%B5%A2
0901nobodyさん
2009/08/27(木) 13:04:16ID:???画像に映ってるものをそのまま書けばいいだろ
0902nobodyさん
2009/08/27(木) 13:07:12ID:???検索などして見回ってきたのですが今一イメージが掴めません。
言葉だけでも結構なので上記構文を元にお教え頂けると幸いです。
効率よいログ自体の変更例もお教え頂けるとありがたいです。
0904nobodyさん
2009/08/27(木) 13:11:52ID:???面倒だから回答もらえないんだよ。
0905nobodyさん
2009/08/27(木) 13:13:01ID:???失礼しました、上記が独自関数内容になります。
0908sage
2009/08/27(木) 13:36:50ID:???リンク先たどるの面倒だろ
何度もいうが普通に書け
0909nobodyさん
2009/08/27(木) 13:47:14ID:???そうしたいと思います、
アドバイスありがとうございます。
>>908
過去2chでコード書いた時に
改行制限やらtab要素消去ですごく苦労したので
今回のようにさせてもらいました。
>>905でも駄目でしょうか?
0910nobodyさん
2009/08/27(木) 13:47:25ID:???一度CSVをスレッドごと,レスごとに連想配列に入れてから
forかforeachで回して表示した方がいいんじゃない?
ページはページング処理したいんだろうから多分別の処理になると思うけど
0911nobodyさん
2009/08/27(木) 13:53:04ID:???要は処理部と表示部を分けたほうがいいよということ
そのほうがデバッグもしやすい
0912nobodyさん
2009/08/27(木) 13:54:06ID:???まさに今同じ事を考えていました・・・・
やはりその肯定を最初にやらないと駄目ですよね。
前述した処理でそれが出来ていると思っていたのですが
多分まったく出来てないですよね。
実は今回何故このようにしたかといいますと
futaba.phpと言う掲示板は
スレッド番号とスレッド内のレス番号を改行で区切ったログと
そのスレッド番号がついた書き込みログの2つに分けたphpだったので
それを1つにまとめたいと思ったのが原因でした。
1つにすると処理速度大幅に遅くなったりするのでしょうか。
皆様、一度>>910さんの言うとおりの方法でやってみます、
ちょっと帰り遅くなりますがアドバイス頂ければ
また返信させていただきます。
本当にありがとうございました。
0913nobodyさん
2009/08/27(木) 14:13:00ID:MqB1vJcxトラックバック送信ライブラリを教えろ
0914nobodyさん
2009/08/27(木) 14:30:35ID:???0915nobodyさん
2009/08/27(木) 14:48:11ID:???241行目のページング処理のループ、$i使わない方がいいんじゃね
今は一番外のループ(7行目)が1回しか回らないし問題なさそうだけど
0916nobodyさん
2009/08/27(木) 15:07:11ID:MqB1vJcxありがとうございます
0917nobodyさん
2009/08/27(木) 16:59:31ID:4gKJtMw/php5.3から実装された新機能の解説をしているサイトを教えろ
0918nobodyさん
2009/08/27(木) 17:03:18ID:???ggrks
http://www.google.co.jp/search?hl=ja&q=php5.3+%90V%8B@%94\&btnG=%8C%9F%8D%F5&lr=lang_ja
以下の状況で困ってるので知恵を貸して!
xlsファイルに直リンすると
softbank(911T)はexcelファイルとしてダウンロード>表示ができた
au「表示できないファイルです」
docomo(N904i)端末はバイナリがそのまま文字として出力された
あとobjectタグとかもあるっぽいけど
docomoだとダメみたいなので
auとdocomoでのダウンロードのさせかたを教えてほしい
ゆくゆくはoffice系のファイルを全部ダウンロードできるようにしたいけど
とりあえず
httpd.confに
AddType application/vnd.ms-excel .xls
を設定してある
上のはphpの関連性がないけど
今テストとしてxlsに直リンしてて
PHPで書いた内部パスひっぱってダウンロードさせるスクリプトを使いたいので
まずは生ファイルでという段階です
ということでここでの質問をお許しください・・
0921nobodyさん
2009/08/27(木) 17:24:31ID:???0922919
2009/08/27(木) 17:48:24ID:GXwqUg2e>>921
thx!
0923nobodyさん
2009/08/27(木) 17:56:21ID:???<?php
header('Content-type: application/download');
header('Content-Disposition: filename="filename.xls"');
?>
0925nobodyさん
2009/08/27(木) 18:47:49ID:BfJOagLT0926nobodyさん
2009/08/27(木) 18:51:38ID:???0927nobodyさん
2009/08/27(木) 19:09:37ID:???0928nobodyさん
2009/08/27(木) 19:16:32ID:???0929nobodyさん
2009/08/27(木) 19:44:07ID:???0930nobodyさん
2009/08/27(木) 20:03:21ID:???0931nobodyさん
2009/08/27(木) 23:17:09ID:qnE7rLil,;i|||||||||||||||||||||||||||||||ii;、 _/
/||||||||||||||||||||||||||||||||||||||ii;、 \
/ ̄ ̄\||||||||||||||||||||||||||||||||||||ii;゙ヽ, /
'" ̄ヽ ヽ!!|||||||||||||||| ||||||||||!!"ヘ < ロマンティックageるよ
ヽ ゙!!!|||||||||||| |||||||!! iヽ── /
|||l ゙゙ヽ、ll,,‐''''"" | ヽ|||||||||ロマンティックageるよ
|||l ____ ゙l __ \|||||||||
||!' /ヽ、 o゙>┴<"o /\ |'" ̄| ホントの勇気 見せてくれたら
\ / |ミミヽ──‐'"ノ≡- ゙'──''彡| |、 | |
 ̄| |ミミミ/" ̄ 、,,/|l ̄"'''ヽ彡|| |、/ / ロマンティックageるよ
ヽ、l| |ミミミ| |、────フヽ |彡l| |/ /_
\/|l |ミミミ| \_/ ̄ ̄フ_/ |彡|l/  ̄/ ロマンティックageるよ
\ ノ l|ミミミ| \二二、_/ |彡| フ
 ̄\ l|ミミミ|  ̄ ̄ ̄ |メ/ \トキメク胸に キラキラ光った
| \ ヽ\ミヽ  ̄ ̄"' |/ /
/ \ヽ、ヾ''''ヽ、_____// /_夢をageるよ
/ ヽ ゙ヽ─、──────'/|  ̄/
. / ゙\ \ / / \__
───'''" ̄ ̄ ゙゙̄ヽ、__,,/,-'''" ̄ ゙''─
0932nobodyさん
2009/08/28(金) 10:25:35ID:9RiD+7YO0933nobodyさん
2009/08/28(金) 10:32:11ID:9RiD+7YO0934nobodyさん
2009/08/28(金) 10:35:23ID:???0935nobodyさん
2009/08/28(金) 10:40:04ID:???コメント消したのはすぐ目的の個所をいじりやすかったからなんです
0936nobodyさん
2009/08/28(金) 10:46:16ID:???0937nobodyさん
2009/08/28(金) 10:54:10ID:???0938nobodyさん
2009/08/28(金) 11:01:53ID:9RiD+7YO0939nobodyさん
2009/08/28(金) 11:05:20ID:0tCfU1Pn0940nobodyさん
2009/08/28(金) 11:07:14ID:???175行あったら1画面に収まらないから、結局目的の箇所を探すわけだろ?
それなら検索するのと手間は変わらないと思うけど?
あとそんなに頻繁に設定変える必要があるのか?
そしてその設定項目はphp.iniじゃないと設定できない項目なのか?
頻繁に変えるなら、.htaccessとかini_setじゃ駄目なの?
0941nobodyさん
2009/08/28(金) 11:14:14ID:???///)
/,.=゙''"/
/ i f ,.r='"-‐'つ____ こまけぇこたぁいいんだよ!!
/ / _,.-‐'~/⌒ ⌒\
/ ,i ,二ニ⊃( ●). (●)\
/ ノ il゙フ::::::⌒(__人__)⌒::::: \
,イ「ト、 ,!,!| |r┬-| |
/ iトヾヽ_/ィ"\ `ー'´ /
0942nobodyさん
2009/08/28(金) 11:21:58ID:???php-5.3.0/Zend/zend_ini_scanner.l
<INITIAL,ST_VALUE,ST_RAW>{TABS_AND_SPACES}*[;][^\r\n]*{NEWLINE} { /* Comment */
<INITIAL>{TABS_AND_SPACES}*[#][^\r\n]*{NEWLINE} { /* #Comment */
ということで問題ない
0943nobodyさん
2009/08/28(金) 11:30:00ID:???言いたい気持ちはわかるが
コメント消すくらいでそんなに目くじらたてることもなかろう。
ini_setが便利なのは確か。
0945nobodyさん
2009/08/28(金) 11:40:03ID:???まぁ別に本人がいいっていうならいいんじゃね
0946nobodyさん
2009/08/28(金) 11:45:07ID:???0948nobodyさん
2009/08/28(金) 11:54:34ID:???設定弄って再起動したほうが早いだろ
0949nobodyさん
2009/08/28(金) 14:28:11ID:IryiXPVo$treelog = file(TREEFILE);
$log = file(LOGFILE);
$threadcount = count($treelog);//スレッド数をカウント
for($i=0; $i<$threadcount; $i++){
$writing = explode(",", $treelog[$i]);
$writingcount = count($writing);
for($j=0; $j<$writingcount; $j++){
list($no,$now,$name,$email,$sub,$model,$com,$host,$pwd,$ext,$w,$h,$time,$chk) = explode(",", $writing[$j]);
if(mb_ereg_match($keyword,$com)){
$hit = TRUE;
}
}
if($hit == TRUE){
$hitthreadline .= "$i\n";
$hit = FALSE;
}
}
echo "$hitthreadline";
0950nobodyさん
2009/08/28(金) 14:34:00ID:???携帯で見るページで↓のようなコードでPOST渡しの情報をezwebでやりとりしようとすると、var_dump($_POST)が空になるのですが…どこがわるいのやらわからない。
GETメソッドにするとちゃんとFORMの中身が渡ってるのですがGETにはURL長制限があるので…いい方法ないでしょうか
<html>
<head>
<title>post.php</title>
</head>
<body>
<?php
echo "POSTs:<br>";
var_dump($_POST);
echo "Requests:<br>";
var_dump($_REQUEST);
?>
<form method="POST" action="http://hoge.hoge/~hoge/post.php" >
<textarea name="message" raws=8 cols=12 >post </textarea>
<input type="hidden" value="test" />
<input type="submit" />
</form>
</body>
</html>
0951950
2009/08/28(金) 14:35:09ID:FUKcT0P80952nobodyさん
2009/08/28(金) 14:39:06ID:???http://oshiete1.goo.ne.jp/qa929533.html
0953nobodyさん
2009/08/28(金) 14:40:02ID:IryiXPVo1,3,4\n
だとLOGFILEの記事番号1番がスレッド記事、3&4番がレス記事になります。
記事内のコメントにキーワード文字が含まれてる場合、
そのスレッドツリー丸ごと1行分を$hitthreadlineに
該当したスレッド分格納したいのですが
どうも上記プログラムを実行すると$hitthreadlineに
何も挿入されておりません。
ログの方にはキーワードを含まれた分があるのですが・・・・
何かおかしいところあるでしょうか?
0954nobodyさん
2009/08/28(金) 14:41:47ID:IryiXPVo文章は>>953です。
$keyword = "ああああ";
$treelog = file(TREEFILE);
$log = file(LOGFILE);
$threadcount = count($treelog);//スレッド数をカウント
for($i=0; $i<$threadcount; $i++){
$writing = explode(",", $treelog[$i]);
$writingcount = count($writing);
for($j=0; $j<$writingcount; $j++){
$rrrr = $writing[$j];
list($no,$now,$name,$email,$sub,$model,$com,$host,$pwd,$ext,$w,$h,$time,$chk) = explode(",", $log[$rrrr]);
if(mb_ereg_match($keyword,$com)){
$hit = TRUE;
}
}
if($hit == TRUE){
$hitthreadline .= "$i\n";
$hit = FALSE;
}
}
echo "$hitthreadline";
0955nobodyさん
2009/08/28(金) 14:45:50ID:???0957nobodyさん
2009/08/28(金) 14:50:40ID:IryiXPVoやってみます、ありがとうございます。
>>956
昨日と同じ方ぽいのですが
外部ロダにあげるなやらちょっと無茶すぎやしませんか。
昨日言われたとおりにここにわざわざ書き込んだのに。
結局ログ自分で用意しないといけないから
defineも糞もないと思うんですが。
0958nobodyさん
2009/08/28(金) 14:54:10ID:???・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
ヌルーしとけー
0959nobodyさん
2009/08/28(金) 14:56:26ID:???$treelog = file(TREEFILE);
$log = file(LOGFILE);
$treelog = file(TREEFILE);
$log = file(LOGFILE);
$treelog = file(TREEFILE);
$log = file(LOGFILE);
$treelog = file(TREEFILE);
$log = file(LOGFILE);
$treelog = file(TREEFILE);
$log = file(LOGFILE);
$treelog = file(TREEFILE);
$log = file(LOGFILE);
$treelog = file(TREEFILE);
$log = file(LOGFILE);
0961nobodyさん
2009/08/28(金) 15:11:41ID:???$log = file("./logfile.log");
みたいに書きなおせ氏ね
0962nobodyさん
2009/08/28(金) 15:17:29ID:???0963nobodyさん
2009/08/28(金) 15:19:00ID:???>結局ログ自分で用意しないといけないからdefineも糞もないと思うんですが。
日本語でおk
お前が用意しろよ
コピペして動かないだろバカなの?
0964nobodyさん
2009/08/28(金) 15:21:50ID:???0965nobodyさん
2009/08/28(金) 15:22:09ID:???具体的な答えを求めてもかえって来ないよ
わからんから
0966nobodyさん
2009/08/28(金) 15:29:40ID:???0967nobodyさん
2009/08/28(金) 15:33:37ID:???の2323に一式あげてみました、
失礼しました。
0968nobodyさん
2009/08/28(金) 15:47:15ID:???本題と関係ないんだけど、
$log[$rrrr]ってことはログ番号=ログファイル内での行番号ってこと?
ログファイルに(バグとか手修正で)意図しない行が追加/削除される
だけで破綻するんじゃないか?
0969nobodyさん
2009/08/28(金) 15:49:04ID:???0971954
2009/08/28(金) 15:54:25ID:IryiXPVoとりあえず基礎技術だけ覚えるために
ログからの書き出しで行こうと思いました。
ファイル読む過程中ロックかけても駄目でしょうか?
0972954
2009/08/28(金) 15:56:35ID:IryiXPVoああああを含む書き込み番号を後で出力するために
変数に格納したいのです。
0973954
2009/08/28(金) 16:01:07ID:IryiXPVoどうなおしたらいいんだろう。
0974nobodyさん
2009/08/28(金) 16:08:37ID:???0975nobodyさん
2009/08/28(金) 16:09:40ID:???<?php
$keyword = "ああああ";
$log = file("img.log");
$hit = array();
foreach ($log as $value) {
$tmp = explode(",", $value);
if (preg_match("/^".$keyword."$/", $tmp[6])) {
$hit[] = $tmp[0];
}
}
var_dump($hit);
?>
こういうこと?
0976954
2009/08/28(金) 16:18:52ID:IryiXPVo1行ずつ出力したら思った行動と違う結果が出てきたんです。
ちょっとその部分見つけた後いじりすぎてどこが間違ってたか
具体的に説明できないのですが。
>>975
記事部分だとそうなのですが
欲しいのはツリー部分の該当列番号なんです。
その9番記事が格納されている
ツリーログの0含めて3番目が出力されるのが正解だと思います。
説明足らずですいません。
0977nobodyさん
2009/08/28(金) 16:21:49ID:???<?
header("content-type:text/plain;charset=euc-jp"); $keyword = "ああああ";
$treelog = file("./tree.log");
foreach(file("./img.log") as $line){
$tmp = explode(",", $line);
$log[$tmp[0]] = $tmp;
}
$threadcount = count($treelog);//スレッド数をカウント
for($i=0; $i<$threadcount; $i++){
$writing = explode(",", $treelog[$i]);
$writingcount = count($writing);
for($j=0; $j<$writingcount; $j++){
$rrrr = trim($writing[$j]);
if(mb_ereg_match($keyword,$log[$rrrr][6])){
$hit = TRUE;
}
}
if($hit == TRUE){
$hitthreadline .= $i;
$hit = FALSE;
}
}
echo "$hitthreadline";
?>
こんな感じか?
できるだけそのまま書いてみた。
0978977
2009/08/28(金) 16:22:32ID:???header("content-type:text/plain;charset=euc-jp");
は無視してちょ...。
0979954
2009/08/28(金) 16:25:49ID:IryiXPVoそうです、その動作です。
間違ってると思ってた8行目の動作はあっておりました、すいませんでした。
ちょっと回答ログ見直してどこがおかしかったか見直してみます。
0980954
2009/08/28(金) 16:28:02ID:IryiXPVo本当にありがとうございました。
これで前進できそうです。
0981954
2009/08/28(金) 16:48:59ID:IryiXPVo$rrrr = trim($writing[$j]);
ここで空白が入ってうまくいってなかったようなのですが
$writing = explode(",", $treelog[$i]);//1スレッド分の記事番号を$writingに格納
ここで配列に格納したはずなのになぜ空白が入る余地があるのでしょうか?
0982954
2009/08/28(金) 16:50:11ID:IryiXPVo$rrrr = trim($writing[$j]);修正していただいた後
補足を
0983nobodyさん
2009/08/28(金) 16:56:25ID:???空白?については判らないけど、
trimなしでうまくいかなかったのは、fileで読み込むと改行コードも入るからだよ。
たとえば、1行目の「18」は実際には「18<改行コード>」になっていた。
$log[$rrrr]は、$log[18]ではなく$log[18<改行コード>]を取得しようとしたが、そんな要素はないので。
それと$logのキーの問題の2箇所がまずかった。
0985nobodyさん
2009/08/28(金) 17:05:23ID:???/ ∠___, |______ | /_/7 / 7 厂| | く\ ||
l ___ | | | _/ 〈_ L/ [_| ヽ」┌─┘└─┐
| |___| | ____| | | 口 口 | /Z_冂_ 〈\.└─┐┌┐│
l ___ | | | | 口 口 l〈_,r┐┌┘ \/__| L_」 |_
| |___| | | | ̄ ̄ ̄ ̄ |┌ー┐|┌ ┘└┐ |__ ___|
l ___ | | | || ||└ ┐┌┘ / 〉 / \
| |___| | | ヽ____/| || || | | / / //\ \__
l______| ヽ_____ノ |.」 [__| |_.」 く_/ く_/ \_ノ
_ _ _ _
| | __| |__ | | __| |__
| | |__ __| | | |__ __|
| | __| |__ | | | | __
| | |__ __| | | | | └─‐┘
| | _ ___| |_ | | _ / /
l ヽ__/ | /┌┐ _ \ l ヽ__/ | / / |ヽ___
\__/ ヽ、二__ノ ヽ/ \__/ ∠_/ `ー――'
0986nobodyさん
2009/08/28(金) 17:06:54ID:???0987nobodyさん
2009/08/28(金) 17:12:21ID:???【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
0988nobodyさん
2009/08/28(金) 17:13:33ID:???コピペしたままはろうとすると専ブラじゃ制限にかかるようにみえるが
きっちり32ラインになるようにテンプレ作られてるんだよ
>過去スレ、関連スレ、FAQなどは>>2-10辺り
これを抜かすのは関心しないな
どうせ削るなら誰も使ってない質問用テンプレ消せばよかったのに
0989954
2009/08/28(金) 17:15:34ID:IryiXPVoお礼にスレ立てしようとしたんですがp2だと
ちょっとスレ立て項目見当たらないので
少しお待ちください、検索続けてみます。
0991954
2009/08/28(金) 17:16:54ID:IryiXPVo0993nobodyさん
2009/08/28(金) 17:22:22ID:???0994nobodyさん
2009/08/28(金) 17:23:45ID:???過去・関連スレはともかく
関連リンクやFAQは重要じゃないか
0995nobodyさん
2009/08/28(金) 17:24:34ID:???0997nobodyさん
2009/08/28(金) 17:26:34ID:???>質問者はまず>>1を良く読むこと(必須!)
>次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
だけだと>>1にしか目がいかない
0998nobodyさん
2009/08/28(金) 17:41:49ID:???0999nobodyさん
2009/08/28(金) 17:44:11ID:???| →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
今ならもう UTF-8 のみでいいのでは
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。