2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :nobodyさん:2007/03/18(日) 20:37:21 ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 41
http://pc11.2ch.net/test/read.cgi/php/1173163186/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html

2 :nobodyさん:2007/03/18(日) 20:37:43 ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
【PHP】下らねぇ質問はここに書き込みやがれ 31
http://pc8.2ch.net/test/read.cgi/php/1161733546/
【PHP】下らねぇ質問はここに書き込みやがれ 32
http://pc8.2ch.net/test/read.cgi/php/1162818436/
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/
【PHP】下らねぇ質問はここに書き込みやがれ 34
http://pc8.2ch.net/test/read.cgi/php/1165519374/
【PHP】下らねぇ質問はここに書き込みやがれ 35
http://pc10.2ch.net/test/read.cgi/php/1166676139/
【PHP】下らねぇ質問はここに書き込みやがれ 36
http://pc10.2ch.net/test/read.cgi/php/1168395610/
【PHP】下らねぇ質問はここに書き込みやがれ 37
http://pc10.2ch.net/test/read.cgi/php/1169644229/
【PHP】下らねぇ質問はここに書き込みやがれ 38
http://pc10.2ch.net/test/read.cgi/php/1170520777/
【PHP】下らねぇ質問はここに書き込みやがれ 39
http://pc10.2ch.net/test/read.cgi/php/1171280039/
【PHP】下らねぇ質問はここに書き込みやがれ 40
http://pc11.2ch.net/test/read.cgi/php/1172151461/

3 :nobodyさん:2007/03/18(日) 20:37:59 ID:???
関連リンク
■本家マニュアル   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://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/

4 :nobodyさん:2007/03/18(日) 20:38:25 ID:???
【簡易FAQ】
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プログラムとして実行された結果になる。

5 :nobodyさん:2007/03/18(日) 20:38:38 ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきは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に保存?
 → 好きにしてください

6 :nobodyさん:2007/03/18(日) 20:39:26 ID:???
12のPHP最適化テクニック
ttp://phpspot.org/blog/archives/2006/11/12php.html

01. staticメソッドが使えるなら使おう。速度は4倍になる
02. __get, __set, __autoload は使わない
03. require_once は重い
04. include, requireで読み込むファイルはフルパスにしよう
05. スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取れる
06. strncasecmp関数やstrpbrk関数を使えるケースはこれらを使い、正規表現は使わない
07. preg_replaceはstr_replaceより速い、しかし、strtrはpreg_replaceより4倍速い
08. 引数を、単体か配列かで自動判別するようなコードは出来るだけ避ける
09. @ を使ったエラー制御はとても遅い。→ @fputs($fp, "?");
10. $row["id"] は $row[id] より7倍速い
11. PHPのエラーメッセージは重い( noticeとかwarningとか)
12. for ($x=0; $x < count($array); $x) のように、forの中でcountを使うと毎回countが呼ばれるので使わない。


(参考)
PHPの最適化は本当か?
ttp://jigen.aruko.net/archives/433/

7 :nobodyさん:2007/03/18(日) 20:47:40 ID:???
              / / .:.:/ .:;.::::::/ .:.:.::::::::::::::::!::::::!.:::::::::::::::::!::.:.:.:.:.:.:.:.:
           / / .:.:/ .::::/.:::/ .:.:.::::::::::::::l::::|:::::l|.:.:.::::::::::::::!:::::.:.:..:.:.:.
           V .:.::/ .:.::/.:::/ .:.:::::::;:::/.::::l::::|:::::l|:.、.:.:.::::::::::!:::::::::.:.:.:.:
             / .:./ .:.:::::1:::l .:.:::::::/:/ .:.:/:::/::::入.:.\.:.:.:::::!:::::::::.:.:.:.:
             ,′/ .:::!.:.:::|::::|.:.::::::/イ.:.:::/`ナ:::/_\:::.\_」:::::::::::::::::
              i.:.::! .:::::!.:.:::|.:::|.::;;:イ7.::::://://::/ ̄ ̄`¨`ヽV.:.:::::::/.::::
              |.:::| .:.:::|.:.::::!:イ.::://::/ "´/::/         〉.:.:::::/.:::::::
              |.:::| .:.:::|.:.::::lVl::/''"´  , //  ミ====¨7.:.:.:::/.::::::::::
             ト、:ト、.:::ト、.::ヽ、ー=='"      ///////.:::/.::::::::/
            /^1 ヽ:ト、::::.:.ヽ/////  i          // /:::/    下らねぇ質問はここに書き込みやがれチビ人間、ですぅ〜
            ,′ l   `入::::::.:.、    r---イ        フ´
             i  |   〉  、.ト、.    |: : : : !       ,.イ、.! /
            |   !   〉 ‐米:\   l   ノ     /V‐米-
          .,r‐-|   L_  〉  /!ヽ: : :ヽ、. `ー'     ,. イ  ノ.: /l ヽ
     , r‐イ  ハ /^┤ 〉    : : : : リ:::>ー-- <   / { :
    ./ 1  |  |  /  |  〉    : : :リソ, -┴‐' L_/   { :
    .! L_人_ノ      !. 〉   i /. : :リ  ,r‐--‐介ー---‐{ :. i
   .└r'         ノ  〉  -米‐: :.リ /:/´ ̄フ:ハ:「 ̄`¨`{ :-米

8 :nobodyさん:2007/03/18(日) 21:16:17 ID:RB9GZY4V
スレ立てありがとうございます
早速質問させてください

今アンケートフォームを作っており、入力値を確認画面で確認させメール送信させる仕組みです。
最初にサニタイジングして受け取っている入力値を、メール送信の時にどうやって元に戻せばいいのでしょうか?
あと、テキストエリアで入力された改行などがどうすれば確認画面やメール内で改行して見せられるのでしょうか?

9 :nobodyさん:2007/03/18(日) 21:17:32 ID:???
>>8
サニタイジングって具体的に何してるの。

10 :nobodyさん:2007/03/18(日) 21:27:10 ID:LjKDzSM6
スレ違い覚悟です。質問させてください。
今までLinuxのrootユーザーでウェブアプリケーションを開発していたのですが、開発用に
ユーザーを追加するべきでしょうか?
みなさんはどうしていますか?

11 :nobodyさん:2007/03/18(日) 21:27:39 ID:???
>>6
引用元のサイトでは
$row[’id’] is 7 times faster than $row[id]
なのに
$row["id"] は $row[id] より7倍速い
としている時点でそこの訳はすごく怪しいから
やめれ

12 :nobodyさん:2007/03/18(日) 21:29:31 ID:???
>>10
スレ違い

13 :nobodyさん:2007/03/18(日) 21:40:45 ID:RB9GZY4V
>>9
実際にPOSTで受け取る時に以下のようにしています。
$hoge = htmlspecialchars(stripslashes ($_POST['hoge']));

<とか>がHTMLエンティティになってしまっているんです。

14 :nobodyさん:2007/03/18(日) 21:41:58 ID:???
>>10
開発って何人でやってるのさ

15 :nobodyさん:2007/03/18(日) 21:43:07 ID:???
>>13
htmlspecialcharsは確認画面で表示するときだけ行うべきもの。
データそのものを変換しちゃいかん。

16 :nobodyさん:2007/03/18(日) 21:44:27 ID:???
>>11
正しく翻訳するとどうなるの?

17 :10:2007/03/18(日) 21:45:47 ID:LjKDzSM6
>>14
今のところ(、もといこれからもずっと)一人です。

18 :nobodyさん:2007/03/18(日) 21:46:49 ID:???
>>17
なら別にrootでいいよ。

19 :nobodyさん:2007/03/18(日) 21:47:35 ID:???
>>11
俺の高校レベルの英語知識では間違ってはいないんだが、後学のために教えてくれ。

20 :nobodyさん:2007/03/18(日) 21:47:59 ID:???
>>16
シングルクオートとダブルクオートの見分けもつかないのか、きみは

21 :nobodyさん:2007/03/18(日) 21:49:31 ID:???
え、そんだけ!?

22 :nobodyさん:2007/03/18(日) 21:52:38 ID:???
>>10
ひとりで使う分にはどっかの設定書き換えなんて自分しかしないんだからrootでいいよ。
なんでわざわざ作る意味があるのか教えてもらいたい。

なんのためにユーザーを作るのか理解したほうがいいよ。

23 :10:2007/03/18(日) 21:53:32 ID:LjKDzSM6
>>18
スレ違いなのに、教えてくれるなんて...ありがたすぎる。
これからは安心してrootで開発します。ありがとうございましたm(__)m

24 :nobodyさん:2007/03/18(日) 21:54:05 ID:???
>>20
ああ、まぁそれはな。
ダブルクォートは確かにシングルクォートよりかなり遅い。

25 :8=13:2007/03/18(日) 21:54:23 ID:RB9GZY4V
>>15
ありがとうございます。
では、入力値は $hoge = stripslashes ($_POST['hoge']); で受け取って、
確認画面のECHO直前で $hoge_ = htmlspecialchars($hoge); とすれば問題ないでしょうか?
セキュリティ的にも入力値をそのまま受け取るということは問題ないのでしょうか?(勉強不足ですみません)

26 :nobodyさん:2007/03/18(日) 21:55:31 ID:???
今度から原文の方をテンプレにしとくか。

ttp://www.moskalyuk.com/blog/php-optimization-tips/1272
12 PHP optimization tips

Nov 5, 2006 in Programming, Optimization, PHP

Ilia Alshanetsky’s PHP performance talk given last week at the Zend conference is
pretty useful as far as getting small tips for tweaking PHP code.

1. If a method can be static, declare it static. Speed improvement is by a factor of 4.
2. Avoid magic like __get, __set, __autoload
3. require_once() is expensive
4. Use full paths in includes and requires, less time spent on resolving the OS paths.
5. If you need to find out the time when the script started executing, $_SERVER[’REQUEST_TIME’] is preferred to time()
6. See if you can use strncasecmp, strpbrk and stripos instead of regex
7. preg_replace is faster than str_replace, but strtr is faster than preg_replace by a factor of 4
8. If the function, such as string replacement function, accepts both arrays and single characters as arguments,
   and if your argument list is not too long, consider writing a few redundant replacement statements,
   passing one character at a time, instead of one line of code that accepts arrays as search and replace arguments.
9. Error suppression with @ is very slow.
10. $row[’id’] is 7 times faster than $row[id]
11. Error messages are expensive
12. Do not use functions inside of for loop, such as for ($x=0; $x < count($array); $x) The count() function gets called each time.

For templating, are you using Smarty? This is probably the fastest way to ensure the frequently viewed pages of the site are cached.


27 :10:2007/03/18(日) 21:56:04 ID:LjKDzSM6
>>22
すいません。時間差でお礼がおくれました。ありがとうございます。
今度図書館にいってLinuxの本借りて調べてみます。言語の勉強ばっかりに集中して
開発環境を気にしていませんでした。

28 :nobodyさん:2007/03/18(日) 21:58:42 ID:???
>>27
おまえおとこか?
恋人いるのか?

29 :nobodyさん:2007/03/18(日) 21:59:52 ID:???
外部に公開されているサーバなら、rootは当然オススメしない。
クローズドなら気にしないでオケ

30 :nobodyさん:2007/03/18(日) 22:00:01 ID:???
>>25
入力値の無害化処理はその入力値を何に用いるかによって方法が変わる。
HTML上に表示するならhtmlspecialcharsだが、DBに記録するときや
コマンドラインで用いる場合などにはそれぞれ違った方法になる。
「htmlspecialchars=サニタイジング」という誤った覚え方自体を改めた方がいい。

> 確認画面のECHO直前で $hoge_ = htmlspecialchars($hoge); とすれば問題ないでしょうか?
問題ない。

> セキュリティ的にも入力値をそのまま受け取るということは問題ないのでしょうか?(勉強不足ですみません)
メール送信をどのように行うかによって決まる。

31 :nobodyさん:2007/03/18(日) 22:01:47 ID:???
>>24
シングルとダブルではほとんど変わらんよ。
ベンチマークで確認してみ。
PHPはシングルクォートだからって特に最適化されてないから。

32 :nobodyさん:2007/03/18(日) 22:03:50 ID:???
ttp://selfkleptomaniac.org/archives/45
ここのサイトに書いてあることでいいんじゃない?

33 :nobodyさん:2007/03/18(日) 22:04:31 ID:???
色々あると思うが、まずは前スレ埋めような

34 :10:2007/03/18(日) 22:06:10 ID:LjKDzSM6
>>29
クローズドなので気にしないことにします.....
うーんと、開発は全部rootでやって、公開用サーバはroot以外でログインして
httpdなりmysqldなりを起動すればいいのかな?その辺も今度本で調べます。
ありがとうございました。

35 :nobodyさん:2007/03/18(日) 22:06:43 ID:???
>>32
おお、これいいな。これテンプレに入れとこーぜ。

36 :nobodyさん:2007/03/18(日) 22:08:04 ID:e2ODLPUZ
ログインについて質問です。今までは
if (isset($_SESSION["user_login"])){
}else{
header("Location:index.php");
}
みたいにして、ログイン情報のセッション値(例えば、md5で生成した暗号キーなど)
を持たないユーザはログインさせないようにしていました。

しかし、これは登録されているか否かを調べてはいませんので、
上記ではなく、DBなどにアクセスして登録されているかどうかを調べ、
それで登録されていないセッション値なら、ログインさせないようにした方が
いいのかな?とも思います。

どちらもあまりセキュリティ的に変わらないのなら前者を選択しますが、
ご意見・ご指摘いただければと思います。

37 :nobodyさん:2007/03/18(日) 22:08:56 ID:oX9m5Cxa
EUC-JPで作成してます。
今回UTF-8で作成を試みようと考えてます。
日本人オンリーなので多言語化のメリットについては興味ないのですが、
以外にUTF-8を導入するメリットを教えてください。

自分が知っているのはxhtmlの一行目にドクタイプを省略することでバージョンの違い
によるギャップを埋める。
xmlで便利。

ぐらいですが、もし間違った箇所がございましたらご教授ねがいます。

38 :nobodyさん:2007/03/18(日) 22:14:43 ID:???
>>36
セッションIDならともかくセッションの値はサーバー側でしか
生成しないし記録もしてないんだから、それが最初のログイン時に
DBから生成したデータなら何度もチェックするのは全く無意味。

39 :nobodyさん:2007/03/18(日) 22:17:01 ID:???
テンプレ追加:

■最適化にまつわる神話

1. コメントをなくすと速くなる
2. ダブルクォート(”)はシングルクォート(’)より速い
3. 参照渡しの方がコードが速くなる
4. オブジェクトを使う方が速くなる
5. タナリ($a = 1 ? $b = $a : $b = 0;)はif(){}else{より速い

これらは全部嘘。

40 :nobodyさん:2007/03/18(日) 22:18:53 ID:???
お約束なので。

>>32
宣伝乙

41 :8=13:2007/03/18(日) 22:27:55 ID:RB9GZY4V
>>30
ありがとうございました。
たしかに教えていただいているとおり、サニタイジングの1つの手段でしかないのですね。
続けて勉強していこうと思います。

今回は、特に問題がありそうな<script>などを別処理ではじくようにしておいて、
後は教えていただいたとおり、画面に表示させる時だけ直前にhtmlspecialcharsをしようと思います。

42 :36:2007/03/18(日) 22:33:18 ID:???
>>38
と言う事は特に気にしないで今までの方法で良いと言う事ですね。
ありがとうございました。

43 :nobodyさん:2007/03/18(日) 23:49:57 ID:???
>>39
>3. 参照渡しの方がコードが速くなる
コードが速いってどんな状態なんだよ!
という突っ込みはともかく、参照渡しも値渡しも違いがないんだね

44 :nobodyさん:2007/03/19(月) 00:14:11 ID:???
>>43
PHPの場合、むしろ参照渡しの方が遅い。

45 :nobodyさん:2007/03/19(月) 00:32:47 ID:???
とにかく前スレ埋めようぜ
http://pc11.2ch.net/test/read.cgi/php/1173163186/

46 :nobodyさん:2007/03/19(月) 09:39:47 ID:CGcaHKgb
セッションスタートを書くと、
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at E:\Web\IMG\WEB2\index.html:1) in E:\Web\IMG\WEB2\index.html on line 2

とエラーが出てしまうのですが、何が原因なのでしょうか?

ちなみに、session_start()の上は何も記述していません

47 :nobodyさん:2007/03/19(月) 09:52:13 ID:???
>>46
もう一回確認してみ

48 :nobodyさん:2007/03/19(月) 09:53:17 ID:CGcaHKgb
<?
session_start();

・・・・

?>

こんな感じです

49 :nobodyさん:2007/03/19(月) 09:54:39 ID:???
PHPのバージョンはかけよ。
php.iniのセッションの項目をみなおせ。

50 :nobodyさん:2007/03/19(月) 09:57:28 ID:CGcaHKgb
PHP 5.1.4です。
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

です。

51 :nobodyさん:2007/03/19(月) 10:00:48 ID:???
単純に最初の<?の前に改行か空白でもあるんでしょ

52 :nobodyさん:2007/03/19(月) 10:01:15 ID:???
バッファの仕組みがいまいちよくわからないのですが、

function bufferTest(){
$test="こんにちわ";
return $test;
}
ob_start("bufferTest");

というソースがあったら、「ob_flushをするまで出力しない」ということでは
無いのでしょうか?上記のソースでは普通に「こんにちわ」が出力されます。

53 :nobodyさん:2007/03/19(月) 10:05:55 ID:???
>>52
マニュアル読め

54 :nobodyさん:2007/03/19(月) 10:18:52 ID:???
>>53
は?

55 :nobodyさん:2007/03/19(月) 10:35:18 ID:CGcaHKgb
>>51
いえ、ないです

1:<?
2:session_start();

56 :nobodyさん:2007/03/19(月) 10:46:49 ID:???
>>52
ob_flushが全く呼ばれなかった場合、スクリプトの終了時に自動的にフラッシュされる。

57 :nobodyさん:2007/03/19(月) 12:45:20 ID:+go1AKUH
リネージュの掲示板サイトをやっています。
最近海外からウィルスURLがはられるので、
2chのime.nuのように、ワンクッションで確認画面を入れたいのですが、
その画面でXSSを出さないようにするにはどうしたらいいかわかりません。
掲示板側でrowurlencodeをしたURLが送られてくるのですが、
$url = $_GET['url'];
if (preg_match("/(https?:\/\/)/", urldecode($url)) {
  $patterns = array('/%3B/', '/%2F/', '/%3F/', '/%3A/', '/%40/', '/%3D/', '/%26/', '/%24/', '/%2B/', '/%21/', '/%2A/', '/%27/', '/%28/', '/%29/', '/%2C/');
  $replacement = array(';', '/', '?', ':', '@', '=', '&', '$', '+', '!', '*', "'", '(', ')', ',');
  $url = preg_replace($patterns, $replacement, htmlspecialchars(urlencode($url)));
}
return $url;

とりあえずこんな感じにしたのですが、おかしい箇所ありますでしょうか?
(urlの正規表現はしょぼいので後でもっといいのを見つけてきます)
マルチバイト文字のXSSなんてのもあるらしいので、
内部エンコードがUTF-8なのですが、
$patternsの前に、$url = mb_convert_encoding($url, 'UTF-8', 'UTF-8');
とかにしてみたですが、余計なものも削除されてしまってうまくいきません。
あとURLに直接日本語をうった場合、urlencodeされたURLが出るのですが、
あいうえおとうったのに、decodeしてみると??????とかになってしまうのは
なぜでしょうか?

58 :nobodyさん:2007/03/19(月) 12:59:31 ID:???
>>51 >>55
またBOMくさいな。テンプレにいれるべきだ。

59 :nobodyさん:2007/03/19(月) 13:27:19 ID:???
>>58
入れてくれ。

60 :nobodyさん:2007/03/19(月) 13:32:19 ID:???
phpでPEARを使うため、インストールしたのですがDB.phpが見当たりません。
DependencyDB.phpというものならありましたがこれは別物っですよね。
↓のサイトを参考にインストールしました
ttp://www.y2sunlight.com/ground/?PHP5.0%2F6.PEAR%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
展開方法が間違っているのでしょうか?

61 :nobodyさん:2007/03/19(月) 14:05:46 ID:???
僕の場合、全てUTF-8で、PHPファイルは正常に動くんだけど、ログファイルに関してはBOM削除しないと動作しないんだ。。。
イマイチBOMの仕組みが良く分からない。

62 :nobodyさん:2007/03/19(月) 15:58:09 ID:???
array_unshift()でキーと一緒に指定する方法ってないんだっけ?

63 :nobodyさん:2007/03/19(月) 15:59:09 ID:???
211.161.0.0/24
この場合、0/24の範囲が分かりません 
0〜24ということでしょうか?

64 :nobodyさん:2007/03/19(月) 16:02:59 ID:???
>>63
そりゃPHP関係なさすぎ。
TCP/IPとかソケットとかのネットワーク関連のとこで聞かないと。

65 :軟式PHP:2007/03/19(月) 16:06:16 ID:???
>>63
CIDRでググるといい。

66 :nobodyさん:2007/03/19(月) 16:09:22 ID:???
>>63
左から数えて24bit
11010011 10100001 00000000 00000000
                   ↑24bit目
サブネットマスクでググレ

67 :nobodyさん:2007/03/19(月) 16:22:55 ID:???
>>60
なければ、取ってくればいい
pear instal DB

これで無理だったら、何か問題あるとは思うが
原因を調べたくなかったら、直接
http://pear.php.net/package/DB
にから取ってきて、pear のディレクトリに
展開すればいい


68 :nobodyさん:2007/03/19(月) 17:28:10 ID:???
>>67
コマンドラインから無事入手できました
ありがとうございます

69 :虚弱PHP:2007/03/19(月) 17:33:49 ID:???
>>68
今からならPear::DBよりPDOの方がいいと思うけど。

70 :nobodyさん:2007/03/19(月) 18:19:11 ID:XfpTEzt6
外部ファイルの文字コードを変換する方法ってありますか?

文字列ならmbstringで一発なんですが,ファイルとなると見つからなくて・・・.
PHPのみじゃもしかして出来ない??

環境 : Windows XP SP2 + Apache 2 + MySQL 5.0 + PHP 4.4.4

よろしくお願いいたします.

#Linuxならnkfをsystem関数あたりで呼び出せば一発なのになぁ.

71 :nobodyさん:2007/03/19(月) 18:22:48 ID:???
>>70
fopen fgets mbstring

72 :70:2007/03/19(月) 18:32:28 ID:XfpTEzt6
>>71
fgetで読み込んで,mbstringで変換,fputで書き込むって感じですか・・・

73 :nobodyさん:2007/03/19(月) 18:42:26 ID:???
>>72
そういう関数を作っておけば今後は一発になるよ。

74 :70:2007/03/19(月) 18:50:02 ID:XfpTEzt6
>>73
確かにそれはそうなんですが,そういう関数かなにか用意されてるかなーとか期待してました(笑).

ありがとうございました.

75 :nobodyさん:2007/03/19(月) 18:54:19 ID:???
>>74
execとかsystemあたり使えば一発なんじゃね?

76 :70:2007/03/19(月) 19:00:20 ID:XfpTEzt6
>>75
Linuxならnkfを呼び出して一発なんでしょうけど,今回はWindows環境なので・・・.
nkfのWin移植版を使うのはちょっとアレな気がしますし.

77 :nobodyさん:2007/03/19(月) 19:07:17 ID:???
windowsでもコマンドで変える方法は探せばあると思うけど。
別にnkfのwin移植版試してみればいいかと。

どうしてもWinじゃなきゃいけないならだけど・・。

78 :nobodyさん:2007/03/19(月) 19:36:20 ID:???
>>76
つーか、nkfそのものをPHPで作っちゃえばいいじゃない。

79 :nobodyさん:2007/03/19(月) 20:00:34 ID:???
>>74
外部ファイルを更新するようなのは普通は標準に含まないよ。
そんなの標準的に行われるような作法じゃないもの。

80 :70:2007/03/19(月) 20:28:55 ID:XfpTEzt6
>>78
・・・俺が?(笑)
っていうかそういうクラス,どこかにありそーですよね.

>>79
そうなのかなぁ.
CSVアップロードさせて,load data infileなんかでDBに書き込む・・・みたいな処理だと,必要になると思うんですけど.

81 :nobodyさん:2007/03/19(月) 20:42:05 ID:???
端から同じエンコードでやりゃ必要ないと思うけど。

82 :nobodyさん:2007/03/19(月) 21:22:01 ID:CGcaHKgb
>>58
すみません、BOMとは何でしょうか?
良ければ詳しく教えていただけないでしょうか?

83 :nobodyさん:2007/03/19(月) 21:38:53 ID:???
つ [BOM UTF-8]

84 :nobodyさん:2007/03/19(月) 21:44:16 ID:CGcaHKgb
>>83
wikiで見てみましたが、session_start()とどう関連するのかが分からない状態です。
<?の上に余分な文字が入ってしまうということなのでしょうか?

85 :nobodyさん:2007/03/19(月) 22:00:01 ID:???
>>84
そのとおり。俺もよく知らんが対応してるエディタで開いて消すしかないんじゃない?
こんなもんPHPが早く対応しろよって思うけどね。

86 :nobodyさん:2007/03/19(月) 22:00:55 ID:CGcaHKgb
Dreamweaver、TeraPadで開いたがUTF-8Nは対応してナス・・・。

87 :nobodyさん:2007/03/19(月) 22:49:58 ID:hHq7NETh
セッションを使ってログインする機能を作る練習をしているのですが、
あらかじめ登録されたIDとパスが入力された場合、
次のページに飛ばしセッションをでそれぞれの登録情報を呼び出します

しかし、セッション変数はサーバー内に保存されるので、
仮に複数の人が同時にログインした場合、どのユーザーがどのセッション変数かどうかというのは区別できないのでしょうか?

そういった場合はクッキーを使うべきだとは思いますが、クッキーを使わないで解決する手段はありますか?

88 :87:2007/03/19(月) 23:05:36 ID:hHq7NETh
ちなみにこんな感じです
-------------
ログイン画面(login.php)

//フォームでidとpassを入力してもらい、登録されていない場合、パス違いなどの場合はエラーをだす
//エラーがない場合、↓のように、idとpassをそれぞれセッション変数に入れ、登録内容表示画面へジャンプさせる
if (!count($error_message)) {
session_start();
$_SESSION["id"] = $id;
$_SESSION["pass"] = $pass;
header("Location: naiyou.php");
exit;
}
--------------------------------------
登録内容表示画面(naiyou.php)
//セッション変数に格納されたIDがなければログイン画面へ飛ばす
if (!isset($_SESSION["id"])) {
header("Location: login.php");
exit;
}

if (isset($_SESSION["id"])) {
$id = $_SESSION["id"];
・・・・IDに対応した登録情報をデータベースから呼び出す・・・
---------------
これでは、複数の人が同時にログインしたとき、セッション変数が同一のものになってしまい、
おなじ内容が表示されてしまうのでしょうか?

89 :nobodyさん:2007/03/19(月) 23:18:58 ID:???
>>82

        lヽ ノ l        l l l ヽ   ヽ
  )'ーーノ(  | |  | 、      / l| l ハヽ  |ー‐''"l
 / B  | | |/| ハ  / / ,/ /|ノ /l / l l l| l  B ヽ
 l   ・  i´ | ヽ、| |r|| | //--‐'"   `'メ、_lノ| /  ・  /
 |  O  l  トー-トヽ| |ノ ''"´`   rー-/// |  O |
 |  ・   |/     | l ||、 ''"""  j ""''/ | |ヽl  ・ |
 |  M   |       | l | ヽ,   ―   / | | l  M  |
 |   !!  |     / | | |   ` ー-‐ ' ´|| ,ノ| | |  !! |
ノー‐---、,|    / │l、l         |レ' ,ノノ ノハ、_ノヽ
 /        / ノ⌒ヾ、  ヽ    ノハ,      |
,/      ,イーf'´ /´  \ | ,/´ |ヽl      |
     /-ト、| ┼―- 、_ヽメr' , -=l''"ハ    |  l
   ,/   | ヽ  \  _,ノーf' ´  ノノ  ヽ   | |
、_    _ ‐''l  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
   ̄ ̄   |           /       ̄

90 :nobodyさん:2007/03/19(月) 23:22:13 ID:???
寝る前の立読みなので間違っているかも知れませんがセッションは基本的に
セッション確立時にランダムでSIDを付加するので好きなだけsession_name()
を吐き出して調べてみてください。


91 :87:2007/03/19(月) 23:26:52 ID:hHq7NETh
>>90
ということは、このままでも、それぞれのユーザーごとにセッション変数が一緒になることはないということでしょうか?
session_name()を調べて試してみます

ありがとうございます

92 :nobodyさん:2007/03/19(月) 23:34:41 ID:hHq7NETh
すいません
ランダムでSIDを付加するということは、やはり被ることはない・・
ということですよね?

93 :nobodyさん:2007/03/19(月) 23:38:33 ID:???
まずセッションIDの意味を調べたほうがいい

94 :nobodyさん:2007/03/20(火) 00:01:21 ID:w0ATLs0w
もったいぶらずにおしえてくだちい

95 :nobodyさん:2007/03/20(火) 00:07:29 ID:w0ATLs0w
被るのかい?被らないのかい?どっちなんだい?

96 :nobodyさん:2007/03/20(火) 00:18:28 ID:???
$bufferに大量の文字列が入ってるとして、
これをクリアする場合、
$buffer = "";にするのと、
unset($buffer);して新たに$buffer = "";を作成するのと、
何か違いはありますか?
特にメモリの開放?とかで

97 :nobodyさん:2007/03/20(火) 04:10:27 ID:???
>>96
クリアする時は
$buffer = array();
すればひとまずいいと思ってる俺はnoob?

98 :nobodyさん:2007/03/20(火) 04:18:11 ID:???
>>96
後者はデータの格納領域と変数の管理領域の両方をクリアして再取得するから、
無駄に遅くなってメモリの分断化(さほど気にする必要ないけど)を招くだけだと思う。
前者で十分。でもどっちでも大して気にするほどじゃない。

99 :nobodyさん:2007/03/20(火) 08:35:57 ID:???
wikipediaに
PHPは初心者でも簡単だけど、大規模なモノになるとぎゃくに難しいよ。あと再利用性も低いんだぜ

これって事実なんでしょうか

あと再利用性というのはどういう事なんですか?

100 :虚弱PHP:2007/03/20(火) 08:59:05 ID:???
>>84
BOMってファイルの先頭に付くから、<?phpの前。
ヘッダ出力前に文字出力をしたと思われちゃうわけ。

101 :虚弱PHP:2007/03/20(火) 09:14:08 ID:???
>>99
大規模とか再利用性とかは、殆ど作り方次第。
言語的な制限で言えばオブジェクトの生存期間とか、
マルチスレッドとかの方が問題じゃないかな。
あ、これは大規模に関係するか。

102 :nobodyさん:2007/03/20(火) 09:15:21 ID:???
ステップ実行できる開発環境ってEclipseかZend Studio?ぐらいしかないで
すか?


103 :虚弱PHP:2007/03/20(火) 09:23:37 ID:???
>>87
セッションIDは普通Cookieに入れるもんだけど。
(というかPHPがCookieに入れてくれる)
セッション情報をCookieに入れたくないって意味だよね??
セッションIDは普通は被らない。

本題とは関係ないけど、
セッション情報にIDとかpassとか入れるのはやめた方がいいと思う。

104 :nobodyさん:2007/03/20(火) 09:27:31 ID:???
>>103

>セッション情報にIDとかpassとか入れるのはやめた方がいいと思う。

理由は?

105 :nobodyさん:2007/03/20(火) 09:54:55 ID:???
>>104
盗まれたら困ります><
sessionはあくまで個人の識別に使うのが吉です><

106 :nobodyさん:2007/03/20(火) 09:56:14 ID:???
それってスクリプトに問題があるような・・・

107 :nobodyさん:2007/03/20(火) 10:28:43 ID:???
別にセッションIDがもれたところで
idやpassそのものがもれるわけではないでしょ

108 :nobodyさん:2007/03/20(火) 10:39:04 ID:???
httpで接続してる以上IDもpassもふしあななんですけどねw

109 :nobodyさん:2007/03/20(火) 10:40:23 ID:???
そんな事を言い出したらw

110 :nobodyさん:2007/03/20(火) 10:46:05 ID:???
盗聴したidとpassにいかに細工をかけるかなんだけどんw

111 :虚弱PHP:2007/03/20(火) 10:46:17 ID:???
>>104
/tmpの下のファイルをcatすると見えるから。

112 :nobodyさん:2007/03/20(火) 10:49:51 ID:???
>>111
そこに拘るなら全てのデータを暗号化する必要がある。

113 :nobodyさん:2007/03/20(火) 10:54:02 ID:???
>>111
任意のコマンドを実行されている時点でアウトだろ。

114 :nobodyさん:2007/03/20(火) 10:59:43 ID:???
>>113
もし、システムを使える人がいて、/tmp以下を見る権限が
あったとしたら……?

115 :軟式PHP:2007/03/20(火) 11:01:21 ID:???
以前、opendir & fopenで/tmpを弄れるレン鯖があったから、あながちありえない話でもない。
ちゃんと鯖管にメールで報告しておいたが。

116 :nobodyさん:2007/03/20(火) 11:06:17 ID:???
それって単純に環境設定に問題があるような

117 :nobodyさん:2007/03/20(火) 11:07:02 ID:???
いや、普通に一般ユーザでも/tmp見られるんだが……。

というより/tmpは一時的な作業用ディレクトリなんだから、むしろ見られなかったり弄れないほうが
おかしくないか?

118 :nobodyさん:2007/03/20(火) 11:44:19 ID:???
>>101

ありがとうございます

119 :nobodyさん:2007/03/20(火) 11:50:04 ID:???
telnetやsshやぶられた上での議論なのか
共用サーバで誰だかわからん他人とサーバ共有してるのが前提の議論なのか
どちらにしてもあまり意味がないな

120 :nobodyさん:2007/03/20(火) 12:07:09 ID:???
ユーザー権限で動作させるとセッションファイルもユーザー権限になるんじゃなかったっけ?

121 :nobodyさん:2007/03/20(火) 12:32:29 ID:???
>>115
管理者からはなんて返事が帰ってきたの? 通常は/tmpはだれでも書き込み可能なのだけど...


122 :nobodyさん:2007/03/20(火) 12:36:05 ID:???
セッションのファイル置くディレクトリって、みんな変えないの?
/tmpのまま?

123 :nobodyさん:2007/03/20(火) 12:38:26 ID:???
おまえらWindowsばかりいじっていないで、少しはUnix系のシステムも
いじってみろよ。

124 :nobodyさん:2007/03/20(火) 12:53:18 ID:???
/tmpって言ってる時点でWindowsの話してるやつは1人もいないと思うが。

125 :nobodyさん:2007/03/20(火) 12:53:39 ID:???
セッションファイルを/tmpに置くのはご法度だろ。
.htaccessなり何なりで変更してからSessionを使うべき。

126 :nobodyさん:2007/03/20(火) 13:14:23 ID:O2vxf7Jf
PEARを使わずmysql関数でDBの接続・結果取得実験をしてるのですが、
マニュアルを見ながら適当に、

@$link = mysql_connect('localhost', 'user', 'password') or die('接続失敗');
@$result = mysql_query('SELECT * FROM table') or die('クエリ送信失敗');
if ($link) {
  while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    foreach ($line as $col_val) {
      echo $col_val."\n";
    }
  }
}
mysql_close($link);

にしたのですが、クエリ送信失敗エラーが出たので、
なんとなく$linkのあとに、

@$selectdb = mysql_select_db('dbname') or die('DB選択失敗');

とか入れてみたら結果が返ってきたのですが、
if ($link && $selectdb)とかにしたわけでもなく、
変数に入れただけで挙動が変わるというのが気持ち悪くて納得いきません。
なんでこれを変数に入れるだけで結果が返ってくるようになったのでしょう?

127 :軟式PHP:2007/03/20(火) 13:18:11 ID:???
>>121
返答なかったお('A')
ほかのユーザーのセッション情報丸みえ状態が続いてたなぁ。
結論からいえば、各個人でsession_save_path()や.htaccessで対応しろよってことだろうけど。

128 :nobodyさん:2007/03/20(火) 13:19:33 ID:???
>>126
ワロタ

データベースをmysql_select_db()で選択しないつもりなのか?
それから'@'使いすぎ。

129 :nobodyさん:2007/03/20(火) 13:21:25 ID:???
>>127
当たり前じゃん。どう対応して欲しかったんだ?

130 :軟式PHP:2007/03/20(火) 13:29:27 ID:???
>>129
DSOじゃなくsuExec+phpで動作させ、session_save_pathを個別に〜とか出来ないのかなと思って。
自鯖メインだから詳しくはないんだが、レン鯖ってそういうもんなのかな。

131 :nobodyさん:2007/03/20(火) 13:39:54 ID:???
問いに対する回答にはならないが、
セッションにIDはまだ分かるが、PWは入れる必要性がないように構築しろよ

ログイン時に一致したらPWなんてその後の処理で使わないべ?

132 :nobodyさん:2007/03/20(火) 13:43:07 ID:???
>>128
データベースリソースの中で変化が起こってる。
mysql_select_dbはそもそもブール値で成否を返すだけ。

133 :nobodyさん:2007/03/20(火) 14:23:09 ID:???
>>132
> mysql_select_dbはそもそもブール値で成否を返すだけ。


> mysql_select_db -- MySQL データベースを選択する:
> 指定したリンク ID が指すサーバ上のデータベースを、アクティブな
> データベースに設定します。

134 :nobodyさん:2007/03/20(火) 14:24:46 ID:???
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

135 :nobodyさん:2007/03/20(火) 14:28:26 ID:???
考え違いをしているのでしょう

136 :虚弱PHP:2007/03/20(火) 15:45:14 ID:???
>>111
ってか、rootだろうが他人のパスワード見れるのはいくないね。

137 :nobodyさん:2007/03/20(火) 15:46:29 ID:???
>>130
レン鯖なんて大抵そんなもんだ。
自分でsession_save_pathを変更もできない人は情報だだ漏れさせとけ。

138 :nobodyさん:2007/03/20(火) 15:47:20 ID:???
「補足」って書かないと自演だと思われるよ

139 :nobodyさん:2007/03/20(火) 15:49:04 ID:???
>>126
変数に入れるだけって…関数が実行されてるっつーの。
ってか、実行結果を意味もなく変数に格納して何がしたいんだお前は。
気持ち悪いのはマニュアルも満足に読めない君の脳みそ。

140 :nobodyさん:2007/03/20(火) 16:05:14 ID:???
初心者で@使っている人は大体意味不明な事を言っている。
@なんて使わなくてもいいのだから、やめたほうがいいよ。

多分どっかからコピペしてきて意味も分かって無いんだろうけど。
本読んで基礎からやったほうがいい。

141 :126:2007/03/20(火) 16:12:44 ID:O2vxf7Jf
レスありがとうございます。
>>128
>データベースをmysql_select_db()で選択しないつもりなのか?
仰るとおりですね。よく考えればPEAR::DBでも選択しないとだめだし、
選択しないと無理ですよね・・・

>>139
>変数に入れるだけって…関数が実行されてるっつーの。
それは知りませんでした。
>ってか、実行結果を意味もなく変数に格納して何がしたいんだお前は。
マニュアル書いた人に言ってください。

mysql_error()をはかせないために@を入れたのですが、
>>126の例ではとりはらってたので無意味でしたね。
デバッグ用に書いただけなのできにしないで下さい。

142 :nobodyさん:2007/03/20(火) 16:19:55 ID:???
>>141
@なんて使わなくてもmysql_error()なんて出力されねーよwww

143 :虚弱PHP:2007/03/20(火) 16:20:16 ID:???
>>138
ありがとう。
どこにレス付けたらいいもんかわかんなかったもんでw

144 :nobodyさん:2007/03/20(火) 16:27:34 ID:???
>>141
>>変数に入れるだけって…関数が実行されてるっつーの。
>それは知りませんでした。

データベースの選択に性交すればTRUE、失敗すればFALSEが返るだけ。
この場合、変数 $selectdb には論理値(TRUE or FALSE)が代入されることになる。

スマートなコードの書き方としては、データベースのオープンと選択を
一つの関数として定義するっていうのはどうだ?

145 :126:2007/03/20(火) 16:27:56 ID:O2vxf7Jf
>>142
マニュアルに書いてたのを最初うつしたので、その名残です。
まぁ無意味な突っ込みはいらないので・・・

146 :126:2007/03/20(火) 16:29:32 ID:O2vxf7Jf
>>144
>スマートなコードの書き方としては、データベースのオープンと選択を
>一つの関数として定義するっていうのはどうだ?

なるほど。PEARでも一緒にやってますからこれがベストでしょうね。
早速そのように書いてみたいと思います。

147 :nobodyさん:2007/03/20(火) 16:29:58 ID:???
先生質問。

フォームから入力してもらってGETでCGIにデータ渡すと、URLが

 hoge.php?param=12345

とかになります。で、たとえば入力値に空白がくっついてると

 hoge.php?param=12345+

になってしまいます。
フォームに何を入力してもらっても

 hoge.php?param=12345

というURL欄表記になるようにすることはできますか?
HTTPのLocation:ヘッダでcgiのURLに飛ばすと、
CGIが2度起動してしまってよくありません

148 :126:2007/03/20(火) 16:32:06 ID:O2vxf7Jf
>>147
空白を取り払いたいっていうなら単純にtrimすればいいんじゃないですか?

149 :nobodyさん:2007/03/20(火) 16:35:31 ID:???
ブラウザから見たURLの話だろう

ブラウザが認識してるGET先のURLは最後に空白がついてるURLだ
CGIの中でデータをどうこねくり回しても、ブラウザの認識してるURLは変わらない

画面を強制遷移させないとな

150 :nobodyさん:2007/03/20(火) 16:52:53 ID:???
>>147
JavaScriptで入力値の検査やったら?

151 :nobodyさん:2007/03/20(火) 16:53:19 ID:cG2Mu5nH
>>147
Location:で強制遷移させる以外の芸はできません。

たとえば、http://www.yahoo.co.jp にアクセスしたはずなのに、
URL欄は 「いつのまにか」 http://www.yahoo.co.jp/ になってる。
これは何か便利な方法でこうなってるわけじゃなくて、
スラッシュなしURLを受け取ったWebサーバが(たいていは厳密に)301を返してやった後、
Location:でスラッシュつきのURLを提示するという泥臭い二度手間通信をしてます。

ということで
メインの処理をさせる前に
「予定外のパラメータが来たら希望のパラメータに変換したURLを即生成してLocation:で速攻飛ばす」
という処理を組み込む必要があります。
いらん負荷な感じがしてめんどくさいっすな。

152 :nobodyさん:2007/03/20(火) 17:04:15 ID:???
まあセキュリティ対策の為にクエリを見せたくないってだけなら必要ないんじゃね

153 :147:2007/03/20(火) 17:09:48 ID:???
>>150
ああ、しまった、思いつかなかった。
ある程度前処理効きそう。

>>151
やっぱそれしかないですか。なんとかします…

>>152
いや、クエリ(のどこかに含まれる一意のID)はURLの中に確認できていて欲しいんです。
POSTでは今回ダメなんですよ。

うう、JavaScript書くの苦手だ…

154 :nobodyさん:2007/03/20(火) 17:12:17 ID:???
>>153
つPEAR

155 :nobodyさん:2007/03/20(火) 17:18:13 ID:???
>>151
つ[RFC 1738]

156 :nobodyさん:2007/03/20(火) 20:01:40 ID:???
a-zA-Z0-9以外のstrにマッチさせたいのですが、
!preg_match('/[a-zA-Z0-9]/', $str)
だと、1文字目がa-zA-Z0-9以外ならちゃんとマッチするのですが、
1文字目がa-zA-Z0-9で、2字目以降にひらがなとか記号が入ってても
マッチしてくれません。
文字列の中に1文字でもa-zA-Z0-9以外の文字が入ってた場合に
マッチさせるためにはどのように書けばいいのでしょうか?

157 :nobodyさん:2007/03/20(火) 20:06:33 ID:???
>>156
preg_match('/^[^a-zA-Z0-9]+$/', $str)

158 :nobodyさん:2007/03/20(火) 20:25:46 ID:???
>>157
それだと英数字が入ってた場合マッチしないでしょ。

>>156
preg_match('/[^[:alnum:]]/',$str)

!preg_match('/^[[:alnum:]]+$/',$str)

159 :156:2007/03/20(火) 20:31:24 ID:???
>>157-158
お二人ともレスありがとうございます。
>>158さんの
preg_match('/[^[:alnum:]]/',$str)
で思うとおりにいきました。
助かりました。

160 :nobodyさん:2007/03/20(火) 22:36:40 ID:???
>>123
仕事ではUNIX、自宅のPCには Vine Linux、自宅サーバも Vine Linux、レンタル
サーバは FreeBSD ...

ちっきしょぉぉぉぉーー

161 :nobodyさん:2007/03/20(火) 22:53:42 ID:???
お問い合わせフォームを作ってるんですけど、
機種依存文字に対応したいと思いますが、うまくいきません。

入力フォームはUTF-8です。メールのエンコードはiso-2022-jpです。
機種依存文字は使うなと、意見が出そうですが、実際にできているフォームが
あるのでがんばって実装したいと思います。

アドバイスいただけませんでしょうか。

162 :nobodyさん:2007/03/20(火) 23:00:16 ID:???
まず>>1を読んでください。

163 :nobodyさん:2007/03/20(火) 23:04:29 ID:???
俺ずっとEUC-JPで作ってるんだけど、UTF-8ってそんなにメリットある?

164 :nobodyさん:2007/03/20(火) 23:12:36 ID:???
俺ずっとUTF-8で作ってるんだけど、EUC-JPってそんなにメリットある?

165 :nobodyさん:2007/03/20(火) 23:15:23 ID:???
pregでマルチバイト文字が使えるとか、SQLiteがUTF-8だとか。

俺はSQLiteはもちろん、多言語コンテンツとか扱ったりしてるんで重宝してるかな。

166 :nobodyさん:2007/03/21(水) 00:21:55 ID:???
機種依存文字でUTF-8でiso-2022-jpか。やりたくねえ仕事だなw
どうしてもって言われたら俺だったらShift_JISでやる。それでもダメなら諦める。

167 :nobodyさん:2007/03/21(水) 00:53:39 ID:???
さすがに、メールエンコードはISO-2022-JPだろ


168 :nobodyさん:2007/03/21(水) 01:53:14 ID:???
メールエンコードもユニコードに統一しないのかね

169 :nobodyさん:2007/03/21(水) 02:39:36 ID:???
charset=utf-8の文章を吐く、EUC-JPで書かれたPHPスクリプトで、
同スクリプトからPOSTされた日本語を表示しようとしています。

mb_http_output('utf-8');
ob_start('mb_output_handler');

echo $_POST["test"]; // (1)
echo bin2hex($_POST["test"]); // (2)
// (3)

(細かいところは省略して)上記のような動作をさせているのですが
為にし「あ」をPOSTしてみると、(1)の部分が何も表示されません。
(2) の部分は 「あ」のUTF-8の文字コード「e38182」が表示されます。
(3) 以降で出力バッファリングを実行した場合、(1) は「あ」と表示されます。

元々UTF-8の文字をさらにUTF-8に変換しているので、とも思ったのですが、
その場合なら (2) の部分では正しく文字コードが表示されないと想像するのですが、
原因が分かれば教えてください。

170 :nobodyさん:2007/03/21(水) 02:57:09 ID:???
mbstring.encoding_translationがOnになってるんだろう

171 :nobodyさん:2007/03/21(水) 03:25:15 ID:YGgKlNYh
初心者です。宜しくお願いします。
php-5.2.1とapache_2.2.3-win32-x86-no_ssl.msiを
インストールし設定しましたが、コードに書いた日本語が表示されません。
ソースはちゃんと見れるので、アクセスしているアドレスはあっていると思います。
何を調べて設定すればいいか、さっぱりわかりません。教えてください。


172 :169:2007/03/21(水) 03:33:45 ID:???
>>170
現状はこのようになっています。

[ .htaccess ]
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation 0

[ PHP スクリプト ]
ini_set('default_charset', 'UTF-8');
ini_set('mbstring.detect_order', 'UTF-8,SJIS-win,eucJP-win,JIS,ASCII');
ini_set('mbstring.script_encoding', 'eucJP-win');
ini_set('mbstring.http_input', 'pass');
ini_set('mbstring.http_output', 'pass');

あれから再度マニュアル等読みながらじっくり考えてみたのですが、
ob_ob_end_flush() される前に、バッファ上には既に「あ」と「e38182」が utf-8 で文字出力されていて
ob_ob_end_flush() でさらに utf-8 に変換するので、「あ」だけおかしくなってしまうのかな?
間違いがあればご指摘ください。

173 :nobodyさん:2007/03/21(水) 03:34:48 ID:???
>>171
環境とソースを晒して味噌

174 :169:2007/03/21(水) 03:38:35 ID:???
>>172 の訂正
> ob_ob_end_flush()
ob_end_flush()

>>171
とりあえず
ttp://jp.php.net/mbstring

175 :nobodyさん:2007/03/21(水) 03:44:08 ID:???
>>171
ソースは何で書いてんの?
ソースファイルのエンコードはなに?

176 :nobodyさん:2007/03/21(水) 04:25:01 ID:???
昨日も同じ質問見た気がするなw>>171

177 :nobodyさん:2007/03/21(水) 05:46:21 ID:???
どっかで見たような気がするんだけど、
switch(式){
case ...
case ...
...
}
で、式ってcaseの判定のたびに評価されるんでしたっけ?
だとしたら関数の戻り値を代入するような式は書かないほうがいいかな

178 :177:2007/03/21(水) 05:52:07 ID:???
スマソ
マニュアル見たら全然反対だったorz

179 :nobodyさん:2007/03/21(水) 07:04:01 ID:HWpzOg/y
すみません、質問です。
今、人名辞典のようなものを本を参考に作っているのですが、
本(「MySQL入門以前」)のCDに入っていた人物データ(.txtで名前とプロフィールなどの内容)を
取り込んでphpで条件検索⇒表示というプロセスを踏ませると、
表示される人名(検索結果)が文字化しています。

文字コードに問題があるのかと思い、自分のサーバ環境はEUCを標準に
してるのに対して、例の.txtがsjisだったんで
mb_convert_encoding(data,"sjis","euc-jp");
などとしてみても、化けたままでした。

どうしたら解決するでしょう?
ちなみに、mb_detect_charset()で化ける部分を確認すると「ascii」とでました。
それで mb_convert_encoding(data,"ascii","euc-jp"); としても、ダメです。。

文字コードについて非常にヨワイんで変なことかいてるかもしれませんが
回答よろしくお願いします。

180 :nobodyさん:2007/03/21(水) 07:29:43 ID:???
>>168
なにその昔のGmail

181 :nobodyさん:2007/03/21(水) 07:47:48 ID:Im+K+kee
PHPでのクッキーの取り扱いについて質問です。

例えば、setcookieでクッキーを発行したからと言って、そのユーザが
ジャンプ先のサイトで会員登録をしたり、お問い合わせをしたり
することがわかるわけではないですよね?

つまり、他のサイトにジャンプしたか否かはわかっても、
そのサイトでどういう動作をしたのかわかりませんよね?
ちょっと知人に聞かれたので、質問した次第です。

182 :nobodyさん:2007/03/21(水) 07:51:52 ID:???
うるせ

183 :nobodyさん:2007/03/21(水) 08:23:41 ID:???
getdateとdateってどちらの方がコストが高いのでしょうか?

184 :nobodyさん:2007/03/21(水) 09:11:23 ID:MryAv9T3
ファイルは存在するのに更新時間を得ようとするとエラーになります
なぜでしょう?

Warning: filemtime() [function.filemtime]: stat failed for pathname, in pathname.


185 :nobodyさん:2007/03/21(水) 09:19:26 ID:???
>>184
自解、ファイル名に「,」が入ってたorz

186 :nobodyさん:2007/03/21(水) 09:30:00 ID:???
>>179
指定が逆。
mb_convert_encoding(string str, string to_encoding, mixed from_encoding)
というか表示毎にやるよりテキストをEUC-JPにしたほうがいいと思うけど…。

>>181
トラッキングクッキーの事かな?

>>183
ほとんど変わらない。
ただdateの場合、フォーマット文字列に文字、特にフォーマット文字が多いほど時間がかかる。
ミリ秒未満の次元だけど。

187 :169:2007/03/21(水) 09:37:17 ID:bM95fc6P
すいません、早く解決したいのでthebbs逝ってきます。

188 :181:2007/03/21(水) 10:02:12 ID:???
>>186
トラッキングクッキーをググって調べてみたのですが、
以下のような事が出来るわけではありませんよね?

自分のサイト→クッキーを送信→別サイトを表示→Aサイトで会員登録をする
→自分のサイトに戻る→Aサイトで会員登録したのが分かる

Aサイトと自分のサイトは全く関連性がありません。
例えばAサイトは2ちゃんでもいいです。
それで、掲示板にレスしたりどの板を見たりわかるもんなんでしょうか?

189 :nobodyさん:2007/03/21(水) 10:44:38 ID:???
>>188
基本的にクッキー自体は設定したサーバーとのみやりとりされるだけで、
クッキー設定をしたからといってどうこう出来ません。

トラッキングクッキー、サードパーティクッキーと言われるものは、
方々のサイトに広告などを貼り出し、広告などからクッキーを発行し、それを通じて情報を収集します。

つまりクッキー自体がどうこうというわけではなく、
クッキーを利用しているだけなので、
別サイトだとか、前述のように方々に把握手段がある訳ではない、
関連性がないのであれば解りません。

190 :181:2007/03/21(水) 10:51:25 ID:???
>>189
丁寧なご説明ありがとうございます。

そりゃそうですよね。クッキーを発行する事で
他サイトのユーザの書き込み内容や登録情報が分かったら、
不正しまくれますからね。

これで知人にPHPとクッキーの所為を説明できます。ありがとうございました。

191 :nobodyさん:2007/03/21(水) 11:10:25 ID:???
こんな馬鹿に教えられる知人も可哀想だなw

192 :nobodyさん:2007/03/21(水) 12:16:46 ID:S7UkU8Pu
前スレで、文字化けで質問させて頂いたものです。
データをphpで表示したいのですが、文字が数字とアルファベット
以外の漢字・カタカナが[?????]になります。やってみたこと
mysql.conf内に
skip-character-set-client-handshakeとデフォルトでutf-8を設定
php.iniの文字コードmbstringをutf-8 と同時に[;] はずす
phpmyadminはエクセルで作った表をCSV→変換ソフトでutf-8にしました
環境はXAMPP 1.6.0a ;Apache 2.2.4
MySQL 5.0.33 PHP 5.2.1  phpMyAdmin 2.9.2 です
宇宙空間に飛び出してしまった私を助けてください。

193 :nobodyさん:2007/03/21(水) 13:16:03 ID:???
>>192
文字化けしてても俺は頑張れば読めるから、?????のままにしとけばいいんじゃね

194 :nobodyさん:2007/03/21(水) 13:18:12 ID:???
>>192
phpmyadminでログインする時に言語を選ぶようなところをUTF-8にしてある?

195 :nobodyさん:2007/03/21(水) 13:20:43 ID:ltx9nvzy
>>193
有難うございますm(__)m
読めるようになりたいです(>_<)

196 :nobodyさん:2007/03/21(水) 13:22:09 ID:3i8vjnb6
test

197 :nobodyさん:2007/03/21(水) 13:24:42 ID:ltx9nvzy
>>194
有難うございますm(__)m
UTFー8にしました
各フィールドもUTF-8にしました。

198 :nobodyさん:2007/03/21(水) 13:25:37 ID:???
俺もMySQL5.0で文字化けする
どうやっても治らない

199 :nobodyさん:2007/03/21(水) 13:28:55 ID:???
>>197
で、phpmyadmin上で適当に日本語でデータを登録して、
その登録したデータを表示しても化けてる?

200 :nobodyさん:2007/03/21(水) 13:31:22 ID:PXILTMPJ
1,ホゲホゲ
1,ムシムシ
2,example
2,HMDM
のテキストファイルがあり、
各先頭の数値の配列に格納したいのですが、
foreachで回し、splitで,区切りで分けて入れていったのですが
[1] => Array
(
[0] => ホゲホゲ
)

[1] => Array
(
[0] => ムシムシ
)

[2] => Array
(
[0] => example
[1] => example
)

と、1の配列だけバラバラになってしまいます。
同じ1ですが、何か違うのでしょうか?
半角全角は同じです

201 :nobodyさん:2007/03/21(水) 13:33:10 ID:PXILTMPJ
ちなみに

list($value,$txt) = split(",",$value);
$array[$value][] = $txt;

このように処理しています

202 :NORIAKI:2007/03/21(水) 13:35:34 ID:mYSHDxhf
ちょっとサイト制作で困っているんですが力かしてください

Flash MP3 Playerという↓
ttp://www.jeroenwijering.com/?item=Flash_MP3_Player
パーツを僕のサイトでしようしているんですが
曲の名前を漢字や平仮名にすると文字化けしてしまいます。
どうしたらいいでしょうか?

後、playlist.xmlのどの部分にUTF-8を入力するんですか?
詳しくおしえてください

203 :nobodyさん:2007/03/21(水) 14:00:34 ID:ltx9nvzy
>>198 有難うございます
やはりそうですか
>>199 有難うございます
やってみます

204 :nobodyさん:2007/03/21(水) 14:01:33 ID:???
>>200
PHP 5.1.4にて

ソース:
$values = array('1,ホゲホゲ', '1,ムシムシ', '2,example', '2,HMDM');
$array = array();
foreach ($values as $value) {
 list($value,$txt) = split(",",$value); // コピペ
 $array[$value][] = $txt; // コピペ
}
print_r($array);

実行結果:
Array
(
 [1] => Array
  (
   [0] => ホゲホゲ
   [1] => ムシムシ
  )

 [2] => Array
  (
   [0] => example
   [1] => HMDM
  )

)

205 :nobodyさん:2007/03/21(水) 14:15:38 ID:???
ムシムシって何

206 :nobodyさん:2007/03/21(水) 15:46:41 ID:???
PHPでpingを打つプログラムを作ろうとサンプルと持ってきて動かしたんですが、
最初のconnectでこけました。

PHP Version 4.3.9
socket support enabled

サーバはXSRVERのレンタルです。
いくら、enabledになっていてもやはりレンタルサーバって事で制限されているんですかね?


コーディング
$package = "\x08\x00\x19\x2f\x00\x00\x00\x00\x70\x69\x6e\x67";

/* create the socket, the last '1' denotes ICMP */
// $socket = socket_create(AF_INET, SOCK_RAW, 1);

if (false == ($socket = socket_create(AF_INET, SOCK_RAW, 1))) {
die("ErrCode: " . socket_last_error() ."、ErrMsg: " . socket_strerror(socket_last_error()));
}


エラー
ErrCode: 1、ErrMsg: Operation not permitted

207 :nobodyさん:2007/03/21(水) 15:49:02 ID:???
レン鯖は大概socket系は制限かけてると思う

208 :nobodyさん:2007/03/21(水) 16:11:34 ID:???
file_get_contents の
resource context
って何よ

209 :nobodyさん:2007/03/21(水) 16:20:25 ID:???
注意: コンテキストのサポートは、 PHP 5.0.0 で追加されました。contexts の説明に関しては、 ストリーム を参照してください。

210 :nobodyさん:2007/03/21(水) 16:21:58 ID:???
参考
file() 
fgets() 
fread() 
readfile() 
file_put_contents() 
stream_get_contents() 
stream_context_create() 

211 :nobodyさん:2007/03/21(水) 17:23:19 ID:PXILTMPJ
現在のURLをhttp://から取得するにはどうすれば良いのでしょうか?


212 :nobodyさん:2007/03/21(水) 17:54:54 ID:???
phpinfo() を穴が開くほど眺めてると分かるよ

213 :nobodyさん:2007/03/21(水) 18:20:38 ID:CD9tFSRt
>>192
skip-character-set-client-handshake の記述をした後
mysql を再起動している?



214 :nobodyさん:2007/03/21(水) 18:25:48 ID:???
>>192
環境が特殊すぎて、アドバイスしようがない

phpmyadmin 経由ではなくて、直接 mysql クライアントを実行して
格納されている文字を確認する

mysql -u [user name] [db name] --default-character-set=[shell encoding]
[user name]、[db name] 自分の環境のものに置き換える
パスワードがあるときは -P か -p[password] を追加する
[shell encoding] はクライアントを実行しているシェルのエンコーディングを
指定する
最近のFedoraCoreとかCentosとかなら utf8、古めのやつなら ujis
windows なら sjis

クライアントから直接 select して、文字が化けるか確かめる
この時点でおかしい場合は、データの格納に問題あり
これで化けていないときは、表示用のスクリプトに問題あり

215 :nobodyさん:2007/03/21(水) 19:08:12 ID:???
なんか文字化けの質問多くなってない?

216 :nobodyさん:2007/03/21(水) 19:12:43 ID:???
全部、同一人物なんじゃね

217 :nobodyさん:2007/03/21(水) 19:14:53 ID:???
system関数が使えない&cronが使えないサーバで、処理に時間のかかる(30秒弱ほど)PHPスクリプトを
走らせたいのですが、iframeタグを使わずに実現させる方法はありますでしょうか?

218 :nobodyさん:2007/03/21(水) 19:17:20 ID:???
mysqlは最近のバージョンは文字コード関係の
妙な設定が増えて、安定していない

219 :nobodyさん:2007/03/21(水) 19:30:20 ID:???
>>217
30秒程度なら、なんとか動きそうな気もするが
そんなスクリプトをブラウザ経由で動かすのは
あきらめたほうがいい
WEBサーバのチューニングが必要になってしまう

220 :NORIAKI:2007/03/21(水) 20:05:58 ID:mYSHDxhf
文字コードのUTF-8がどのように使うのですか?

221 :nobodyさん:2007/03/21(水) 20:12:36 ID:???
日本語でおk

222 :NORIAKI:2007/03/21(水) 20:27:07 ID:mYSHDxhf
ちょっとサイト制作で困っているんですが力かしてください

Flash MP3 Playerという↓
ttp://www.jeroenwijering.com/?item=Flash_MP3_Player
パーツを僕のサイトでしようしているんですが
曲の名前を漢字や平仮名にすると文字化けしてしまいます。
どうしたらいいでしょうか?

僕のサイトです。
ttp://www48.tok2.com/home/noriaki416/

223 :nobodyさん:2007/03/21(水) 20:30:41 ID:???
これは・・・・・

224 :NORIAKI:2007/03/21(水) 20:37:47 ID:mYSHDxhf
これは?

225 :nobodyさん:2007/03/21(水) 20:55:13 ID:???
あれだな

226 :nobodyさん:2007/03/21(水) 21:05:03 ID:???
↓これだよ

227 :nobodyさん:2007/03/21(水) 21:09:21 ID:???
>>202
playlist.xmlをUTF-8形式で保存すればいいだけ。
つまり全くのスレ違いだからさようなら。

228 :nobodyさん:2007/03/21(水) 21:25:44 ID:???
>>200
そのテキストファイルはUnicodeではないかな?だとすればほぼBOMのせい。
あと正規表現を使わないのであればexplode()を使った方がいい。

229 :nobodyさん:2007/03/21(水) 21:28:25 ID:???
BOMって最近でてきたの?
今までは普通にできてたんだが・・・

230 :NORIAKI:2007/03/21(水) 21:51:53 ID:mYSHDxhf
>>227
分かりやすい解答、アリガトウゴザイマス

231 :nobodyさん:2007/03/21(水) 23:18:54 ID:sJhjrKxn
<?php include("./abc.php"); ?>と埋め込みをしてるのですが
今回借りたサーバーはこれが使えません。
フレームにするのも嫌なのでincludeと同じような埋め込みタグってphpでは
ないでしょうか?
すいませんが教えて下さい。

232 :nobodyさん:2007/03/21(水) 23:24:40 ID:/6QaFGmv
>>199  駄目でした 数字以外は[???]になってます。
>>213 再起動しました
>>214有難うございます 初心者なんでわからないところもありますが
調べながらやって見ます

233 :nobodyさん:2007/03/21(水) 23:48:50 ID:???
>>231
なにそれ
PHPが使えないんじゃなくて?

234 :nobodyさん:2007/03/21(水) 23:50:42 ID:???
>>231
PHPが使えないんじゃね?

235 :nobodyさん:2007/03/21(水) 23:58:44 ID:???
質問させてください。
PHPをLinux環境にインストールする際に、configure実行後に「make test」を実行したら、
"You may have found a problem in PHP."とかいうメッセージが表示されました。

どうも文面を読んでいると、開発者が今後のバージョンアップに役立てられるよう
なるべくテスト結果を送信してください、というニュアンスが読み取れましたが、
そもそも「make test」の実行結果は、インストール環境上で正常に動くかどうかを判断する
目安として使えるのでしょうか?
ググってみましたが、上記の正否について答えが得られませんでしたので、
どなたが教えてください。

236 :nobodyさん:2007/03/21(水) 23:59:38 ID:???
DB組んで検索〜 とかできるようになったんだけど、
処理後、リロードボタンを押すとアラートダイアログがでて
「再送信しなきゃいけません」とでます。
どうしたらこれなくせますか? お恥ずかしいんですが、お願いします。

237 :nobodyさん:2007/03/22(木) 00:13:24 ID:???
>>236
セッション使ってるだろ?
ググればいっぱい解決方法見つかるよ

あと微妙に警告メッセージを省略しないほうが嬉しい

238 :nobodyさん:2007/03/22(木) 00:18:32 ID:???
フォームをPOST後に同じページに戻ってきてるからでは?

239 :nobodyさん:2007/03/22(木) 00:24:54 ID:???
>>231を読んで思ったんだが、includeを単に

<head>
<?php include("common_headers.html") ?>
<title> ... </title>
</head>

みたいな使いかたしかしていない人多くないか?
PHPさわりたての初心者が「PHPのincludeすげー」って言うみたいな感じがする。

240 :nobodyさん:2007/03/22(木) 00:30:14 ID:6SECQzgU
232です
>>199 >>213 >>214 有難うございました
表示できるようになりました 
有難うございます(上記レス番以外の方でも教えていただ
いたかたにも感謝です有難うございました)

241 :nobodyさん:2007/03/22(木) 01:11:20 ID:R85brVFQ
simplexml_load_fileを使いたいのですが、現在利用しているサーバが
PHP4.3なので使えません。

こういう場合、どうやって代用するのでしょうか?
(PHP5対応のサーバを契約する以外で)

242 :nobodyさん:2007/03/22(木) 01:19:59 ID:???
>>241
その関数使ったことが無かったから今マニュアルパッと見て
見たけどただ単にXMLデータを配列に突っ込むだけでしょ?
正規表現使うだけで簡単に自作できる範囲だと思うぞ

243 :241:2007/03/22(木) 01:23:12 ID:???
>>242
そうなんですかね?私のイメージではXML配信サイトにアクセスして
XMLデータを取得する為にsimplexml_load_file関するが必要に
なると思っているのですが・・。

244 :241:2007/03/22(木) 01:23:43 ID:???
修正
simplexml_load_file関するが→simplexml_load_file関数

245 :いつもお世話になってます:2007/03/22(木) 01:31:33 ID:Dy86ottT
メール送信フォームのリロード対策についてですが、
入力→確認→メール送信&完了画面
のフォームを作成しているのですが、完了画面でのリロード対策のため、
メール送信処理.phpの中でheader(Location)を使って完了画面を呼び出し、
完了画面では入力した内容を表示させ、「以下の内容で送信しました」的なページにしようと思っています。
確認画面でhiddenで値をもたせていたのですが、Loccationで設定する完了画面でhiddenの値が伝わっていません。
Locationで指定した完了画面に値を渡すのはどうすればいいのでしょうか?

246 :nobodyさん:2007/03/22(木) 01:42:12 ID:???
POSTはできないからURLにパラメータつけるしかないんじゃない?
つーかその設計はやめとけ。

247 :nobodyさん:2007/03/22(木) 01:43:02 ID:uQqlXzTc
171です。
ソースは
<?php
// ブラウザに「Hello, PHP!」と表示します。
echo( "<HTML>\n" );
echo( "<HEAD>\n" );
echo( "<TITLE>01-01</TITLE>\n" );
echo( "</HEAD>\n" );
echo( "<BODY>\n" );
echo( "ハローHello, PHP!\n" );
echo( "</BODY>\n" );
echo( "</HTML>\n" );
?>
です。
拡張子は.phpです。
環境とは?何を説明すれば宜しいでしょうか?

248 :nobodyさん:2007/03/22(木) 01:51:15 ID:???
>>247
そういうのどんな本に書いてあるの?

249 :nobodyさん:2007/03/22(木) 01:51:48 ID:???
>>243
まずお前のしたい事を実現するにはXMLファイルが必要だよな?
でも今回はその為の関数が使えない訳だ。

ただしXMLファイルを取得できればsimplexml_load_fileは自作できる。
ならXMLファイルを取得してくる別の方法を探せばいいわけだな。

fopenとかfileとかで取得できるんじゃないか?

250 :nobodyさん:2007/03/22(木) 01:54:39 ID:???
>>243
DOM XMLは?
あとPEARにもあるんでないの?

251 :nobodyさん:2007/03/22(木) 01:57:17 ID:???
>>247
01-01

はタイトルバーに表示されてるの?俺は表示されてないほうに1000ガバス

252 :nobodyさん:2007/03/22(木) 02:00:22 ID:???
>>251
されるんじゃないのか?

253 :nobodyさん:2007/03/22(木) 02:02:29 ID:???
>>252
文字化けじゃなくて「表示されない」と>>171では書いてるので
日本語の問題じゃなくてサーバの設定と読んで
なけなしの1000ガバスを賭けてみた次第。

254 :nobodyさん:2007/03/22(木) 02:48:58 ID:???
>>237
セッションは使ってないんです。
>>238さんの言うとおり、index.php内のフォームの設定が
action="index.php" になっています。
リロードするたびに送信してるんですよね。。
色々解決法探してみますが、気の向いた方、教えてください

255 :nobodyさん:2007/03/22(木) 02:55:12 ID:???
>>254
不可能

256 :nobodyさん:2007/03/22(木) 02:56:27 ID:???
>>171
apacheでPHPの設定してないでしょ?

257 :241:2007/03/22(木) 03:07:51 ID:???
>>249
説明ありがとうございます。何度か実験しているのですが、
XMLを取得する方法というのが分かりません。
例えば、
$fp=fopen("取得先のURL","r");
print_r($fp);

とかしてみたのですが、Resource id #4というエラーが出ます。
PEARはサーバによって使えないので、もしPHP4の機能のみで
xmlファイルが読み込めたらいいのですが・・。

258 :241:2007/03/22(木) 03:18:57 ID:???
自己レスです。xml_parseという関数を使ったら出来ました!
これはPHP4でも使えるみたいですし、望むとおりの出力を
得る事が出来ました。

259 :nobodyさん:2007/03/22(木) 03:29:56 ID:???
>>254
応急策はあるよ。

260 :nobodyさん:2007/03/22(木) 03:30:24 ID:???
>>257
関数リファレンスくらい見ようよ・・・

261 :nobodyさん:2007/03/22(木) 03:39:39 ID:???
>>258
お手軽にやるんだったらすごいラクチンなのがPEARにあるけどね。

262 :nobodyさん:2007/03/22(木) 05:05:34 ID:uQqlXzTc
>>256
http://allabout.co.jp/internet/database/closeup/CU20061118A/index.htm?NLV=CN000062-35
↑のサイトを見ながらやってみたつもりです。

263 :nobodyさん:2007/03/22(木) 05:07:58 ID:???
>>262
>>248



264 :254:2007/03/22(木) 10:06:25 ID:???
>>255
うーん、、無理なんですか…
やっぱり素直に受けのHTMLを作った方がいいですね。
ありがとうございました

ところで質問なんですが、XMLってわかったほうがいいですか?
どういうときに便利なんですか? 知ってると知らないじゃ大違いっていう
シチュエーションは??
暇な人教えてください

265 :nobodyさん:2007/03/22(木) 10:27:15 ID:???
亀だが
>>239
以外にも使い方あんの?

266 :nobodyさん:2007/03/22(木) 10:29:46 ID:???
php.iniの設定だと思うのですが
今、<?php ?>できちんとphpが動作します。
しかし、phpの省略されている<? ?>ではphpが動作しません。

<?php <?の両方で動作させるようにするには
どのように設定すればよいのでしょうか。

267 :nobodyさん:2007/03/22(木) 10:32:18 ID:???
>>266
http://jp2.php.net/manual/ja/ini.core.php#ini.short-open-tag

268 :nobodyさん:2007/03/22(木) 10:32:23 ID:???
>>264
POSTのactionを送信元じゃなく違うPHPにして
header("Location: " . $_SERVER['HTTP_REFERER']);

これでOK

269 :nobodyさん:2007/03/22(木) 10:34:44 ID:???
HTTP_REFERERは任意、チェックしないと変な事になるぞ

270 :nobodyさん:2007/03/22(木) 10:41:22 ID:???
まあ変な事になるのは変な事をしてる奴自身だけじゃね

271 :nobodyさん:2007/03/22(木) 10:46:11 ID:???
ソフトで隠蔽する奴があるからな

272 :254:2007/03/22(木) 10:48:14 ID:???
>>268
そうですね、やっぱりそうするのが一番みたいです
そうします、ありがとうございました

273 :nobodyさん:2007/03/22(木) 10:59:23 ID:???
>>265
includeの使い方が?それともPHPの使い方が?
前者だったらincludeはクラスとか同一処理をまとめたものを複数のスクリプトから使う「PHPファイル」を読み込むべき。
単にHTMLファイルを挿入したいのだったらreadfileを使うべき。
というかPHPファイルを読み込む場合でも失敗時Fatal吐くrequireの方がいいと思うんだけどな…。

274 :nobodyさん:2007/03/22(木) 11:01:50 ID:???
存在しないファイルを読み込もうとする事がまずないしね
チェックするだけならisで十分だし

275 :nobodyさん:2007/03/22(木) 11:10:57 ID:???
>>267
ありがとう!

276 :nobodyさん:2007/03/22(木) 11:27:19 ID:???
>>275
どういたしまして

277 :nobodyさん:2007/03/22(木) 11:35:26 ID:???
>>276
本当に本当にありがとう!!

278 :nobodyさん:2007/03/22(木) 11:36:43 ID:3Rw0psxe
BOMについて、
・なぜUTF-8でファイルを保存すると付加されるものがあるのか
・BOMを付加してなにか良いことがあるのか
・PHPアプリケーションの作成において、BOMは付加すべきなのか
が分かる資料(参考サイト)等をご存知の方、是非教えてください<(_ _)>

279 :nobodyさん:2007/03/22(木) 11:40:27 ID:???
>>278
wikipedia

280 :nobodyさん:2007/03/22(木) 11:42:56 ID:3Rw0psxe
>>279
ありがとうございます。
3個目の質問が解決できるサイトはご存知ですか?

281 :nobodyさん:2007/03/22(木) 11:52:22 ID:???
>>280
google

282 :nobodyさん:2007/03/22(木) 11:54:40 ID:/ltj0PDI
あれ寄生虫?

283 :軟式PHP:2007/03/22(木) 11:58:17 ID:???
上司に説明でもすんのかね?
BOMは付加すべきではない。このスレを見てたら分かるだろ…。

284 :nobodyさん:2007/03/22(木) 11:59:11 ID:???
学校の宿題ではないですか?

285 :nobodyさん:2007/03/22(木) 12:05:44 ID:???
学校って専門?
大学でPHPやったりしてるのいまは

286 :nobodyさん:2007/03/22(木) 12:10:03 ID:d0YYvDtL
Webデザイン科でPHP習ってない俺の専門学校はオワタ

287 :nobodyさん:2007/03/22(木) 12:25:48 ID:???
Webデザインならhtml,css,javascript,flashこんなもんだろ。

288 :nobodyさん:2007/03/22(木) 13:04:46 ID:???
>>287
サーバーサイドの知識なしで就職できるとでも?

289 :nobodyさん:2007/03/22(木) 13:05:36 ID:???
高専だけどC、シェル、Perl、PHP、Java、Flashは習うよ。
HTMLとCSSは知ってて当然って感じで授業やってる。

290 :nobodyさん:2007/03/22(木) 13:11:28 ID:???
>>288
WEBデザインだぞ?
どちらかというとセンスが一番肝心だと思うが。
ぶっちゃけhtml,css,javascript,flash等しらなくてもいい。

>>289
情報系の高専?
CとPerlならやるとこ多いけど、そんないっぱい習うんだね。
しかもFlashとかPHPまでやるのはちょっと謎いけど。

291 :nobodyさん:2007/03/22(木) 13:17:40 ID:???
高専ってアセンブリっぽいイメージがあるけどな

292 :nobodyさん:2007/03/22(木) 13:21:52 ID:???
>>291
もちろん機械語も習いますよ。PICとか
実際に使えるのはCのアルゴリズムとPerlくらいでしょうか・・・

293 :nobodyさん:2007/03/22(木) 14:43:26 ID:iVMn0ZeT
OS CentOS 3.6
PHP 5.2.0(cli)
apache 2.0.52
mysql 5.0.33

php.ini↓(おそらく必要な部分以外割愛)

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = Shift_JIS
mbstring.encoding_translation = on
mbstring.detect_order = auto
mbstring.substitute_character = none
mbstring.func_overload = 0
mbstring.strict_encoding = on


上記環境で開発中で、ローマ数字を扱いたいのですがエンコードできてないらしくローマ数のところが全て?になってしまいます。
一応 mbstring.http_output = Shift_JIS を mbstring.http_output = UTF-8 に変えれば問題なく表示されるのですが
携帯での開発も考えており mbstring.http_output = Shift_JIS でどうにかローマ数を表示する方法はないでしょうか?

294 :nobodyさん:2007/03/22(木) 14:45:39 ID:???
>>293
http://jp2.php.net/manual/ja/ref.mbstring.php

295 :nobodyさん:2007/03/22(木) 14:45:55 ID:IfsQAtHX
C/C++が分かれば、ほとんどの言語は理解できる。
PHPなんて数時間で使えるようになる。
(どんな便利な関数があるかは覚える必要あるけど)

296 :nobodyさん:2007/03/22(木) 14:50:21 ID:???
バカっぽい人キタ━━━━(゜∀゜)━━━━!!

297 :nobodyさん:2007/03/22(木) 16:23:44 ID:???
>>295
ローカル向け開発しかしてないようなら意外と色んなこと覚えなきゃ駄目だけどな

298 :虚弱PHP:2007/03/22(木) 16:56:18 ID:???
まあ、言語として使えるのと、
アプリケーションとして耐えるものを作るのは別だから。

俺はどんな言語でも数時間ではむりw

299 :nobodyさん:2007/03/22(木) 18:01:39 ID:???
>>298
俺は「ユーザーが素人の場合の直感操作」に重きを置いてる

300 :nobodyさん:2007/03/22(木) 18:14:00 ID:???
それはプログラマの仕事ではない

301 :nobodyさん:2007/03/22(木) 18:17:29 ID:???
Cやbasicは学校の授業で習ったけど、難しくて無理。
けど、PHPは比較的優しいし、HTMLと連携できるのでわかりやすい。

誰かが本で書いてたけど、プログラム的に優れているのはCやJAVAかも
しれんが、プログラムを苦手とする人がとっつきやすいのはPHPだよ。
だからここまで普及したしな。

302 :nobodyさん:2007/03/22(木) 18:31:02 ID:???
HTMLの中にスクリプトを埋め込むイメージが受けただけかと
そうでなければ別にPerlでも問題なかったわけだし

303 :nobodyさん:2007/03/22(木) 18:43:07 ID:???
プログラムが苦手ならこんなものにとっつかない事が一番いいんじゃ…

304 :nobodyさん:2007/03/22(木) 19:03:32 ID:???
>HTMLの中にスクリプトを埋め込むイメージが受けただけかと

これが一番大きいだろうな。

305 :nobodyさん:2007/03/22(木) 19:58:47 ID:oYQU+xzn
$fsize = filesize($filename);

if ($fsize <= 0) return;

$fd = fopen ($filename, 'r');
$contents = fread ($fd, $fsize);
fclose ($fd);

echo($contents);

を実行してを書き出してブラウザで確認すると、
$contentsの先頭に'?'の一文字がついているのですが、
なにか考えられることはないでしょうか?

$filenameに相当するファイルはUTF-8、改行コード\nで書いていますが、
試しにファイル内を空にして実行してみても'?'一文字だけ出力されています。

306 :nobodyさん:2007/03/22(木) 20:00:55 ID:???
>>305
「UTF-8 BOM」でググる

307 :nobodyさん:2007/03/22(木) 20:04:28 ID:???
BOMの人気に嫉妬

308 :nobodyさん:2007/03/22(木) 20:06:05 ID:???
わざとやってんだろ、こいつw

309 :305:2007/03/22(木) 20:10:59 ID:???
わざとじゃないっす。天然です。
ありがとうございました。そしてすいませんでした。

310 :nobodyさん:2007/03/22(木) 20:12:57 ID:???
つか勝手にBOMをつけるエディター使ってるやつ多すぎ。
オプションとかでつけないように設定できないの?

311 :305:2007/03/22(木) 20:18:54 ID:???
>>310
ちがうんです。
文字コードを選ぶドロップリストをホイールでグリグリやって選択したら
UTF-8Nを通り越してUTF-8になってたみたいで。

最近定例行事みたいに最初にやる行動だから
気付かなかったんですよね。
慣れは怖いです。


312 :nobodyさん:2007/03/22(木) 20:26:50 ID:???
そういえばメモ帳って勝手にBOM付けるよね…。

313 :nobodyさん:2007/03/22(木) 21:04:28 ID:???
そりゃ、windowsが推奨しているからだ

314 :nobodyさん:2007/03/22(木) 21:16:24 ID:???
Dreamweaverで作ってるけど、
会社で作ったやつにBOMついてたらしく、こっちでうごかねぇ・・・
DreanweaverでもUTF-8とUTF-8Nがあるのか!?
それとも、俺がメモ帳か何かでいじっちゃったのかなぁ・・・

315 :nobodyさん:2007/03/22(木) 21:27:29 ID:???
>>314
「Dreamweaver UTF-8 BOM」でググる

316 :nobodyさん:2007/03/22(木) 21:31:21 ID:???
DreamweaverなんかでPHP書いてる奴はやめたほうがいいとおもうよ

317 :nobodyさん:2007/03/22(木) 21:38:28 ID:???
なぜ?

318 :nobodyさん:2007/03/22(木) 21:38:46 ID:???
Dreamweaverって何?

319 :nobodyさん:2007/03/22(木) 21:39:42 ID:???
夏だなぁ

320 :nobodyさん:2007/03/22(木) 21:46:09 ID:???
>>318
そんくらいググレよ

321 :nobodyさん:2007/03/22(木) 21:54:15 ID:???
>>320
ググれって何?

322 :nobodyさん:2007/03/22(木) 21:59:44 ID:???
みんなDreamweaver使ってないの?

323 :nobodyさん:2007/03/22(木) 22:06:01 ID:???
>>322
使ってないよー
前に試してはみたけど。
aptanaも試してみたけど、とりあえず動作重杉で結局miとかにもどっちゃう。
関数なんかはキーボードのショートッカッツ使ってる

324 :nobodyさん:2007/03/22(木) 22:21:05 ID:???
私的にDWはHTMLエディタっていう位置づけ。

325 :nobodyさん:2007/03/22(木) 22:51:26 ID:???
糞IDEの話はもういいから、UTF-8 BOMをテンプラ入りさせるための名文考えて。

326 :nobodyさん:2007/03/22(木) 23:01:39 ID:???
■なにも記述してないファイルなのに3バイト?PHPファイルが動作しない?
つ【UTF-8 BOM】

327 :nobodyさん:2007/03/22(木) 23:05:37 ID:???
■〜で〜すると何故か〜になってしまいます。文字コードはUTF-8です。
つ【UTF-8 BOM】

328 :nobodyさん:2007/03/22(木) 23:06:33 ID:???
DB質問スレが見当たらなかったので質問なのですが、

hogehogeというテーブルにnameフィールドがあり、
「テスト」というデータが数件入っているのですが、

name
テスト
テスト
テスト

SELECT * FROM hogehoge
で取得し、見てみると、
「テスト」がひとつしか格納されていません
全て取得するにはどうすれば良いのでしょうか?

329 :nobodyさん:2007/03/22(木) 23:07:12 ID:???
>>328
板違い

330 :nobodyさん:2007/03/22(木) 23:08:05 ID:???
>>328
http://jp2.php.net/mysql_query

331 :nobodyさん:2007/03/22(木) 23:10:15 ID:???
>>329
データベース板で探したのですが、質問スレが見当たりませんでした。
もし宜しければ誘導お願いできないでしょうか?

>>330
mysql_queryは使っています

332 :nobodyさん:2007/03/22(木) 23:15:03 ID:???
>>328
この辺で良いんじゃない?
http://pc11.2ch.net/test/read.cgi/db/1160458216/

IDも出さない禿げは死ねば良いと思うよ。

333 :nobodyさん:2007/03/22(木) 23:15:35 ID:d0YYvDtL
>>332
有難うございます。
てっきりsageチェックはずしたつもりでした

334 :nobodyさん:2007/03/22(木) 23:16:01 ID:???
日本語でおk

335 :nobodyさん:2007/03/22(木) 23:16:14 ID:???
>>331
DB板で質問スレをどう探したの?

336 :nobodyさん:2007/03/22(木) 23:17:04 ID:d0YYvDtL
>>335
ギコナビで「質問」でデータベース板内を検索

337 :nobodyさん:2007/03/22(木) 23:19:11 ID:???
>>336
そしたら3件も見つかったけど?

338 :nobodyさん:2007/03/22(木) 23:19:41 ID:d0YYvDtL
>>337
DB板自治でもオラクルでもADOでもなかったので

339 :nobodyさん:2007/03/22(木) 23:22:17 ID:???
>>338
んじゃsqlとかmysqlで検索すべきだね

340 :nobodyさん:2007/03/22(木) 23:23:05 ID:d0YYvDtL
>>339
うん、検索の仕方が足りなかったみたい(´・ω・`)

341 :nobodyさん:2007/03/22(木) 23:25:01 ID:/ltj0PDI
シングル or ダブルクオートで囲った中に書いても実際には出力されない
(PHP側で削除する)文字ってないですか?
バイナリ文字列を配列に入れるときに、'や"がエスケープできないのがあるので
ヌル文字\0は半角スペースが出力されるようです

342 :nobodyさん:2007/03/22(木) 23:27:50 ID:???
>>340
phpの質問スレを探しにWebProg板に来て「質問」で検索するのはアホみたいなもんだしね。
ところで>>330のリンク先は全部読んだ?

>>341
phpは全部そのまま出力してる

343 :nobodyさん:2007/03/22(木) 23:29:42 ID:???
>>328
ifではなくwhileに変更する

344 :nobodyさん:2007/03/22(木) 23:31:13 ID:d0YYvDtL
>>343
あーーーーー
mysql_fetch_assocで1行取得でした
てっきりmysql_fetch_assocで全行取得してforeachで回すのと勘違いしていました

有難うございます

345 :nobodyさん:2007/03/22(木) 23:39:29 ID:???
PHP⇔MySQL(phpMyAdmin)って直し方ないの?

346 :nobodyさん:2007/03/22(木) 23:39:59 ID:???
文字化けのこと

347 :nobodyさん:2007/03/22(木) 23:53:51 ID:???
もう散々既出

348 :nobodyさん:2007/03/22(木) 23:57:18 ID:???
>>345をわかるように説明してくれ

349 :nobodyさん:2007/03/22(木) 23:57:33 ID:???
散々既出ならテンプレ追加しとけば?

350 :nobodyさん:2007/03/23(金) 00:00:10 ID:???
>>349
誰も読まないジャン

351 :nobodyさん:2007/03/23(金) 00:01:23 ID:???
少なくとも俺は読む

352 :nobodyさん:2007/03/23(金) 01:00:03 ID:???
いかにもテンプレ読まなそうな奴に言われても

353 :nobodyさん:2007/03/23(金) 01:10:34 ID:???
>>348
>>345=346

354 :nobodyさん:2007/03/23(金) 02:53:48 ID:???
HTMLを読み込むのにreadfileとrequire_onceどっちが正しいのでしょうか?
早さとかは全然変わらないのでどっちでもいいのでしょうか?

355 :nobodyさん:2007/03/23(金) 03:06:16 ID:???
require,includeでソース以外を読むってここ以外で考えもしなかった

356 :nobodyさん:2007/03/23(金) 04:36:13 ID:???
ヘッダーフッターみたいに使ってるだけならどっちでもいいんじゃね

357 :nobodyさん:2007/03/23(金) 07:47:39 ID:Z8LIY3dO
質問です。
<Test>
<Pass>1234</Pass>
</Test>
こんなXMLファイル(UFT-8で保存)があって、
$s=simplexml_load_file("test.xml")
if($s->Pass==$_POST['pass']){
}
else{
echo "エラー";
}
こんなコードを書いて、pに1234とポストした所、何故か『エラー』と返されるもので
エラーの所に、echo $sやecho $s->Passとやると、Apacheが何故か落ちてしまいます。
エラーログにも何も記録されていないんです。
echo $s->Test2など、存在しないオブジェクトを参照する場合は、その事が表示されるだけで落ちたりはしません。
これは、何故なのでしょうか?
ちなみに、PHP 5.2.1.1、Apache 2.0.49.0、WindowsXP x64
こんな環境です。



358 :357:2007/03/23(金) 07:56:51 ID:???
自己解決しました。
$s->Pass."\n"
と言う具合に末尾にナル文字を付加して処理すると、旨く行きました。
もしかして、文字列に終端記号が無いためどこまでもApacheが読んでしまった結果強制終了したのでしょうか。


359 :nobodyさん:2007/03/23(金) 07:58:57 ID:???
節子、それナル文字ちゃう

360 :nobodyさん:2007/03/23(金) 08:07:44 ID:???
UTF-8だからだろ
Shift-Jisで保存すりゃいいんじゃね?
simplexml_load_fileって確かUTF-8対応してなかったような

361 :nobodyさん:2007/03/23(金) 08:43:49 ID:???
>>354
全然変わらない?readfile()の方が若干速いよ。
PHPとして評価するものとしないもの、自ずと答えは出てくると思うけど。

>>358
それは$_POST['pass']に改行コードが付いてるからじゃないかな…。
$s->Passに付けて評価するよりtrim($_POST['pass'])しましょう。
ちなみに\nはnullじゃなくてnew line…。

>>360
そんな馬鹿なっていうかASCII文字だけじゃBOM付けない限り変わらないやん。

362 :nobodyさん:2007/03/23(金) 11:25:30 ID:OdrYXzGD
PHPと関係ないんだけど、http://hunter.campbus.com/このサイトのApacheつかってんだけど、

一ヶ月つかってて今日突然うごかなくなったんだけど。

363 :nobodyさん:2007/03/23(金) 11:49:54 ID:W9B9WOh1
DOMでXMLファイルを読み込んで表示させたいと思っています。
ソースは以下の通りなのですが、なぜか文字化けします。
ファイルの文字コードはUTF-8なのですが、その他の文字コードにしても
文字化けします。どこがおかしいのでしょうか?

$xml_url = "http://weather.livedoor.com/forecast/rss/index.xml";

$dom = new DOMDocument;
$dom ->load("$xml_url");

$element = $dom->getElementsByTagName('item');
foreach($element as $node) {
echo mb_convert_encoding($node->textContent, "UTF-8","auto")."<br />";
echo "<hr />";
}

364 :虚弱PHP:2007/03/23(金) 12:02:24 ID:???
>>363
UTF-8って明示してみたらどうだろう?
Content-Type: text/html; charset=UTF-8;


365 :nobodyさん:2007/03/23(金) 12:09:09 ID:???
>>363
元々UTF-8ならmb_convert_encoding()で変換する必要はないのでは。
↑のようにheader()かmetaタグで指定も。

366 :nobodyさん:2007/03/23(金) 12:15:59 ID:???
たまにRSSがUTF-8ではない時があるから変換する必要がある
文字が短いと失敗する事もあるし

367 :nobodyさん:2007/03/23(金) 12:51:13 ID:co5+bE4v
メール内のISO-2022-JPにエンコードされてる日本語をデコードするにはどうすればいいですか?

368 :nobodyさん:2007/03/23(金) 12:52:02 ID:???
デコード処理すればおk

369 :nobodyさん:2007/03/23(金) 13:08:51 ID:???
なんだ、base64_decodeすればいいだけだったのね

370 :nobodyさん:2007/03/23(金) 13:15:41 ID:???
PS3でFolding@homeが利用可能になりました!
タンパク質解析プロジェクトFolding@homeで病気で苦しむ人達を救えるかも。

PS3でFolding@homeしようぜ(Team 2ch)
http://ex22.2ch.net/test/read.cgi/ghard/1174030817/

チーム番号:162
チーム名:Team 2ch
http://fah-web.stanford.edu/cgi-bin/main.py?qtype=teampage&teamnum=162

☆PS3での参加方法
PS3からFolding@homeを起動し、チーム番号162に入力すればOK。
ユーザ名は何でも良いが、http://folding.stanford.edu/japanese/download.html
にて、名前が既に使われているかどうか確認する事を推奨。
参加の確認としては、「オプション(△)」→「関連サイト」→「チーム処理統計量」と開き、
「Team 2ch」(上記URLのページ)が表示されればちゃんと参加できている。
☆Folding@homeについて
http://folding.stanford.edu/japanese/

371 :363:2007/03/23(金) 13:19:37 ID:???
>>364-365
上記のソースに
header("Content-Type: text/html; charset=UTF-8;");
を追加したのですが、文字化けは変わりません・・。

372 :nobodyさん:2007/03/23(金) 13:26:39 ID:???
うちでは文字化けしないけどな

373 :nobodyさん:2007/03/23(金) 13:51:59 ID:???
>>371
ブラウザ側の表示エンコードがUTF-8になってても文字化けするの?

374 :nobodyさん:2007/03/23(金) 13:55:13 ID:???
スクリプトの文字コードの問題な気が・・・

375 :363:2007/03/23(金) 14:19:46 ID:???
>>373
はい、します。ブラウザはFirefoxで確認してます。

>>374
テキストエディタにterapadを使っていますが、ちゃんとUTF-8になってます。。

376 :nobodyさん:2007/03/23(金) 14:24:02 ID:???
terapad




377 :nobodyさん:2007/03/23(金) 14:37:46 ID:???
>>376
こんな所でエディタの宗教戦争は持ち込むなよ。


378 :nobodyさん:2007/03/23(金) 14:58:15 ID:OdrYXzGD
PHPマニュアルって再配布しても大丈夫でしょうか?

379 :nobodyさん:2007/03/23(金) 14:58:20 ID:MdnT//Cd
-> ってなんですか?

380 :nobodyさん:2007/03/23(金) 15:01:40 ID:???
アロー演算子

381 :nobodyさん:2007/03/23(金) 15:10:58 ID:???
クラス使ったことないんですがプロの現場はクラスよく使いますか?

382 :nobodyさん:2007/03/23(金) 15:13:43 ID:???
同一サーバ上で運用している異なるドメイン同士の間で、
セッション変数を受け渡すことはできますか?

具体的には、レンタルサーバで共有SSLが利用できる環境で以下のようなことを実現したいです。

http://www.example.com/ <= 自分のドメイン内で買い物カゴに商品を入れる
↓ <= 買い物カゴのセッション変数を渡したい
https://www.example.net/~user/ <= 業者の共有SSLドメインで個人情報入力

383 :nobodyさん:2007/03/23(金) 15:17:24 ID:???
>>381
使う
でもオブジェクト設計とは何かを分かってないで使っても利点は0%

384 :nobodyさん:2007/03/23(金) 15:25:47 ID:???
それ、プログラマの仕事じゃなくて、設計さんの仕事じゃね?
クラスって、ぶっちゃけ設計屋さんが設計の効率化を図るために使うもので
プログラマが積極的に使う場面で思い浮かばん・・・

まぁ、俺の職場では設計まで行わないからかもしれんが・・


385 :虚弱PHP:2007/03/23(金) 15:29:23 ID:???
>>371
とすると、UTF-8じゃないんだろうね。
mb_convert_encoding($node->textContent, "UTF-8","auto")
辺りが悪さしてるんじゃない?
autoでの判定がうまくいってないとか。
mb_detect_encodingでも見てみたら?

386 :虚弱PHP:2007/03/23(金) 15:31:49 ID:???
>>384
プログラマが設計からやらない会社に居たことないから
どんな会社なのか激しく気になる。

それって、プログラマというよりコーダーだよね。

387 :nobodyさん:2007/03/23(金) 15:32:32 ID:???
construct()やdestruct()ってextendsで呼び出されても実行するんだね

388 :nobodyさん:2007/03/23(金) 15:43:42 ID:???
デザパタ用語が飛び交う現場って実在するの?

389 :363:2007/03/23(金) 16:07:12 ID:???
>>385
echo mb_detect_encoding($node->textContent);

とすると、UTF-8になっています。
なにが原因か全く想像付きません・・・。

390 :軟式PHP:2007/03/23(金) 16:14:19 ID:???
>>363
文字化けと言っても色々な化け方がある。
ちょっとコピペしてくださいな。大体化け方見れば分かる。
あと、ブラウザで見てると思うが右クリック>エンコードでどうなってるかも書いてください。

391 :363:2007/03/23(金) 16:41:29 ID:???
>>390
ttp://www-2ch.net:8080/up/download/1174635474621673.8YFVfu
キャプチャーしました。こんな感じです。

右クリック>エンコードは、アクセス時はEUC-JPになっていましたが、
これをUTF-8にして、キャプチャーしました。どちらの場合も文字化けします。

392 :nobodyさん:2007/03/23(金) 16:44:05 ID:???
>>384
ITドカタ乙

393 :軟式PHP:2007/03/23(金) 16:48:15 ID:???
>>391
???になるということは完全に文字が逝っちゃってる可能性が高い。

>echo mb_convert_encoding($node->textContent, "UTF-8","auto")."<br />";
これを
>echo $node->textContent."<br>";

>echo mb_convert_encoding($node->textContent, "UTF-8","UTF-8,eucjp-win, sjis-win,JIS")."<br />";
にしてみたらどうなる?

394 :nobodyさん:2007/03/23(金) 16:55:13 ID:???
クラスの設計まで分業してるとこあるのか。
そこまでされたらプログラマは仕事が楽しくないんじゃないか?

395 :nobodyさん:2007/03/23(金) 16:59:21 ID:???
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)

まだ起きてる奴いるかい?4晩目 [その日暮らし]
【朝昼晩】今日の貧しい食事を皆で評価するスレ7 [その日暮らし]

396 :363:2007/03/23(金) 16:59:59 ID:???
>>393
ありがとうございます。ただ、特に変わりませんでした。

それで色々ググったのですが、サーバの文字コードが原因かと思い、
.htaccessでUTF-8に変更しました。(サーバはEUC-JPです)
そしたら文字化けせずに表示されました。どうやらこれが原因だったかもしれません。

やっぱり、サーバも含め、プログラムは全部UTF-8にした方が
良いんですかね。。自分としてはEUC-JPの方が使いやすいのですが。

お騒がせしました。アドバイスいただいた方、ありがとうございました。

397 :nobodyさん:2007/03/23(金) 17:04:14 ID:ApQPGcDT
データベース操作のためのクラスを設計しているのですが、データベースの
オープン/クローズはそれぞれコンストラクタ/デストラクタで処理するべきなのでしょうか?

PEARのDBパッケージを見てみると、オブジェクトのメソッドにアクセスして
データベースのオープン/クローズをしているようです。

みなさんならどう設計しますか?
意見をおねがいします。

398 :nobodyさん:2007/03/23(金) 17:18:28 ID:???
>>397
コンストラクタで接続する人もいるけど
おれはあまり好きではない
エラー処理とかがやりにくいし
データベースのインタフェースに関しては
どっかで生成して、それを各クラスに渡すようにしている

切断に関しては、PHPの場合はよほどのことがない限りは
気にしなくても良いと思う

399 :虚弱PHP:2007/03/23(金) 17:35:20 ID:???
>>397
俺はコンストラクタで接続してるな。
Singletonパターンだから、getInstanceメソッドでだけど。
PDOラップしてるんだけど、PDOってcloseメソッドないな。

400 :nobodyさん:2007/03/23(金) 17:57:32 ID:???
>>395
スマソ
それ俺
2chはこの板とその板しか見てないから
ってか、なんでいつも足跡つくんだろうな
裏で仕事しながら一日中リロードしてるからかw


401 :nobodyさん:2007/03/23(金) 18:04:13 ID:???
専ブラ使ったほうが楽だぞ

402 :nobodyさん:2007/03/23(金) 18:37:54 ID:gf3rLLm0
スレ違いでしたら、申し訳ございません。
レンタルサーバ(XREA+)使っています。
phpからMySQLに接続してデータ入れたいのですが、2byte文字がなぜか入りません。
$data = 'INSERT INTO test_table (`id`, `moji`) VALUES (NULL, \'2byte\')';
これならうまくいくのですが、
$data = 'INSERT INTO test_table (`id`, `moji`) VALUES (NULL, \'あ\')';
これだとエラーはでませんが、なんのデータも入りません。
何が原因だと考えられますか?文字コードはUTF-8で統一しています。
phpMyAdminからの操作だと2byte文字も入ります。
よろしくお願いします。

403 :nobodyさん:2007/03/23(金) 18:45:35 ID:???
>>402
ソース見せて

404 :nobodyさん:2007/03/23(金) 18:45:50 ID:???
設定箇所の記述ぐらい掛けやゴルァ

405 :nobodyさん:2007/03/23(金) 19:47:47 ID:gf3rLLm0
>>403
返信ありがとうございます。
$ID = mysql_connect(localhost,test,testpass);
mysql_select_db("test",$ID);
$data = 'INSERT INTO test_table (`id`, `moji`) VALUES (NULL, \'あ\')';

$result = mysql_query($data,$ID);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
mysql_close($ID);

これを実行後、phpMyAdminで確認してるだけなんですが。。
id     moji
1     2byte
2       
このように表示されてしまいます。

>>404
返信ありがとうございます。
申し訳ないんですが、設定箇所というのはなんでしょうか?

406 :nobodyさん:2007/03/23(金) 20:00:36 ID:???
そろそろガンコおやじみたいなキャラで回答していこうかと思うんだけど、どうでしょうか?
気に入らないソースは徹底的に書き直して回答、良い道に進むように導くお仕事をこのスレでしたい。

確認した質問は全てにレス。だめですか?

407 :nobodyさん:2007/03/23(金) 20:05:05 ID:???
>>405
mysql_select_db("test",$ID);

mysql_select_db("test",$ID);
mysql_query("SET NAMES utf8;",$ID);


408 :nobodyさん:2007/03/23(金) 20:28:30 ID:???
>>406
回答内容が的確で、自信があるならお好きにどうぞ。
ただ、回答者様ぶって偉そうにしてると周りから軽視されます。

409 :nobodyさん:2007/03/23(金) 20:31:03 ID:???
>>408
>>408

410 :nobodyさん:2007/03/23(金) 20:40:29 ID:gf3rLLm0
>>407
うおおおおおおありがとうございます!できました!
すげぇややっぱ・・・。あんたらすげぇや。

411 :nobodyさん:2007/03/23(金) 21:29:42 ID:???
データベースに文字格納したんだが、
phpMyAdminで見ると、UTF-8、EUC-JP、Shift-JIS
全ての文字コードが文字化けする(つД`)
どなたか助けてください

412 :nobodyさん:2007/03/23(金) 21:31:25 ID:???
>>410
お前が調べなさすぎ/基本知識なさすぎ

413 :虚弱PHP:2007/03/23(金) 21:41:26 ID:???
最近文字化けばっかりですね。

414 :nobodyさん:2007/03/23(金) 21:52:37 ID:???
これだけ暖かいと、お化けも夏を待たずに出てくるっちゅうねん。

415 :nobodyさん:2007/03/23(金) 22:14:32 ID:???
>>413
やっぱり、なんでもかんでも対応させようと言う環境が
逆にとっつきにくくなっているんじゃないかな?

MySQLにしても4.0系だと気にしなくて良かった文字コードが
4.1系以降からしていしないと駄目になったし。
通常のHTMLやPHPファイルにしても、UTF-8にするようにしているが
外部と接続しようとすると、文字化けが発生する。他者はUTF-8でなかったりするし。

416 :nobodyさん:2007/03/23(金) 22:21:14 ID:???
phpMyAdminで表示されている文字化けしている文字が何のコードか分かるだけでもいいんだが

417 :nobodyさん:2007/03/23(金) 22:26:55 ID:???
元凶はMySQL4.1だろ。

phpMyAdminはよほど古いものじゃなければSET NAMES発行するらしいから
>>411は格納する段階で失敗してるんだろう

418 :nobodyさん:2007/03/23(金) 22:30:44 ID:???
>>417
MySQL」5.0.27
PHP5.1.4
phpMyAdmin2.10.0.2

UTF-8で格納⇒引き出す⇒echoで正常に表示される
UTF-8で格納⇒phpMyAdminで閲覧⇒文字化け
phpMyAdminに追加⇒echoで文字化け

こんな感じっす

419 :nobodyさん:2007/03/23(金) 22:40:18 ID:mOZgYnP/
関数に返り値があるかどうかを判断する関数はありますか?
isset() では「この関数の引数に method return value を使用するな」って怒られます。
宜しければご教示ください。

420 :nobodyさん:2007/03/23(金) 22:46:26 ID:???
issetは関数じゃねえぞ。
http://jp.php.net/manual/ja/function.isset.php

421 :nobodyさん:2007/03/23(金) 22:47:10 ID:???
phpMyAdminにも文字コードの設定があるだろ

422 :nobodyさん:2007/03/23(金) 22:51:43 ID:mOZgYnP/
>>420
isset が関数であるという点は私の誤解でした、すみません。
引き続き、解答を募集します。。

423 :nobodyさん:2007/03/23(金) 22:56:58 ID:???
>>419
$ret = my_func();
if (isset($ret)) {
}

424 :nobodyさん:2007/03/23(金) 22:58:49 ID:???
>>422
場合によって値を返したり返さなかったりできるから無理じゃね

425 :nobodyさん:2007/03/23(金) 23:18:43 ID:???
>>421
2.10.0.2はconfig.inc.phpでは設定できないよな

426 :nobodyさん:2007/03/23(金) 23:41:17 ID:???
issetって関数じゃないの?
マニュアルに変数操作関数ってとこにのってるよ。ちがうの?

427 :nobodyさん:2007/03/23(金) 23:54:14 ID:???
イライラ

428 :nobodyさん:2007/03/23(金) 23:54:51 ID:???
>>419
普通にnullと比較するっていうのはダメ?

>>426
正確には関数ではなくステートメント。
この件ではどうでもいいと思うけどね。

429 :nobodyさん:2007/03/23(金) 23:57:39 ID:???
>>419
の言っている意味が良く分からないんだけど・・。
そもそも数値や文字列じゃないものだから駄目って事じゃないの?

430 :nobodyさん:2007/03/24(土) 00:21:01 ID:???
>>429
419はある関数が(所謂)void型かどうか知る方法を探している。
そこでissetを試してみたが使えなかった、と。

実行時にそんなものが必要になる作りがおかしいだけって話だと思うけどね。

431 :nobodyさん:2007/03/24(土) 00:50:18 ID:HwXqd/Do
指定ディレクトリに格納されている物が、
ディレクトリなのかファイルなのかを調べたいと思っています。

$dh = opendir("test");
while($file_name = readdir($dh)){
if($file_name != '.' && $file_name != '..') {
if (is_dir($file_name)){
echo "/".$file_name."<br />";
} else {
echo " ".$file_name."<br />";
}
}
}
closedir($dh);

それで上記のようなコードを書いたのですが、ディレクトリとして
認識されたりされなかったりするものがあります。
なぜそういう事になるのでしょうか?もしくは書き方が悪いのでしょうか?

432 :nobodyさん:2007/03/24(土) 00:55:30 ID:yU007f6l
どうしてもphpMyAdminの文字化けが治らない( つД`)
心当たりのある人助言お願いします・・・
PHP、MySQLはUTF-8で統一しています。

phpMyAdminは
$cfg['DefaultLang'] = 'utf-8';
$cfg['DefaultCharset'] = 'utf-8';

となっています。
他に改良する場所があるのでしょうか・・・?

433 :nobodyさん:2007/03/24(土) 01:04:03 ID:???
>>431
あ〜、俺も昔悩んだ記憶があるようなないような・・・
とりあえずパスは絶対パスがよかった気がする。

で、ディレクトリはシンボリックリンクになったりしてないか?

>>432
とりあえずBOMをチェックだ
んでMySQLの文字コードだけど設定できる部分は
1箇所じゃなくて4箇所あるぞ。
そもそもMySQLの文字コードはどうっやって確認したんだ?
OSがWindowsだとMySQLのバージョンによってはデフォルト
で存在してるmy.cnfが認識されないものがある。

434 :nobodyさん:2007/03/24(土) 01:07:44 ID:yU007f6l
>>433
すんません
良ければMySQLについて詳しく教えていただけませんか?

435 :nobodyさん:2007/03/24(土) 01:13:34 ID:yU007f6l
ちなみにMySQL5.0です

436 :nobodyさん:2007/03/24(土) 01:19:37 ID:???
PHP5の例外についてよく分からないので質問です。
使い方は何となく分かったんですが、使いどころがいまいちよく理解できません…。
ユーザーに、AとBとCが間違っているよ!とか表示させたりするのに使う為じゃなくて
開発者が、どこで、どういうルートでエラーが起こったかを把握する為のものなんでしょうか?

437 :nobodyさん:2007/03/24(土) 01:33:34 ID:???
>>432
phpmyadmin\libraries\common.lib.phpの515行目付近

if ($cfgServer['controluser'] == '') {
  $dbh = $userlink;
}

if ($cfgServer['controluser'] == '') {
  $dbh = $userlink;
}
mysql_query("SET NAMES utf8;",$dbh);

これでダメなら知らね。

438 :nobodyさん:2007/03/24(土) 01:37:07 ID:yU007f6l
>>437
phpMyAdminのバージョン教えてください><;
2.9では見つからなかったので・・・

439 :431:2007/03/24(土) 01:39:38 ID:???
>>433
絶対パスにして
if (is_dir($file_name)){

if (is_dir($file_name) or is_link($file_name)){

としてみたのですが、特に変わりませんでした。。

440 :nobodyさん:2007/03/24(土) 01:39:48 ID:Xdgvve8z
今日の残り時間を算出する方法を教えて下さい。
13:30 なら、残り 10.5 時間のような感じです。。。

441 :nobodyさん:2007/03/24(土) 01:43:51 ID:???
>>438
俺のは2.2.5だ。MySQL3系しか対応してないらしい。
2.9なら新しいから内部でSET NAMESはしてくれてるんじゃない?
テキスト検索すればあるかどうかわかると思うけど。
もしそれをしてくれてれるんなら別の原因だな。

442 :nobodyさん:2007/03/24(土) 01:44:27 ID:???
24 - 今の時間 = 残り時間

ttp://www.php.net/manual/ja/function.date.php

本気で聞いてるなら、決定的に努力が足りない。

443 :nobodyさん:2007/03/24(土) 01:44:52 ID:yU007f6l
>>441
恐らく別の原因みたいです・・・
MySQLを3⇒5にしてからこの文字化けが発生しました。
原因はMySQLみたいですが、文字コードをutf8で統一させたのですがorz

444 :nobodyさん:2007/03/24(土) 01:44:55 ID:???
>>440

マニュアル:ttp://phpspot.net/php/man/php/ref.datetime.html
その他:ttp://www.res-system.com/item/405

チョットここ見てもうちょっと自分で頑張ってみようぜ!

445 :nobodyさん:2007/03/24(土) 01:46:29 ID:???
>>438
これじゃないの?Winならmy.iniだっけ。
http://q.hatena.ne.jp/1168631817

446 :nobodyさん:2007/03/24(土) 01:47:15 ID:???
>>443
OK。
OSはWindows?ならちょっとコマンドプロンプトからMySQL起動してみてくれ
んで、「status;」って打ったら文字コードやらなにやら情報が表示される。
ちょっとそれをチェックしてみろ

447 :nobodyさん:2007/03/24(土) 01:51:22 ID:???
>>429
マニュアルのissetのページを穴が開くほど読め

448 :nobodyさん:2007/03/24(土) 01:53:13 ID:???
>>447
Warning だろ読んでるよ。
それを分かってるくさいのに質問してるのが不思議に思ったわけ。

そんなところで困ったことないし。
どんなソースなのか興味は湧く。

449 :nobodyさん:2007/03/24(土) 01:53:24 ID:???
>>439
ありゃ駄目だったか

でもCLIで実行したら俺のWindowsXPでは上手く動いたぞ?
以下俺のデスクトップの情報

ディレクトリ:Bob Dylan
ファイル:lovecrimesdsl.wmv
ファイル:Power Tab Editor 1.7.lnk
ディレクトリ:Rainbow
ファイル:test.php
ファイル:Web2.0.txt
ファイル:パスワード関連.txt
ファイル:再インストール.xls
ディレクトリ:黒タイツ・乳

450 :449:2007/03/24(土) 01:54:28 ID:???
すまんこ、ちょっとecho文はいじってるからな

451 :nobodyさん:2007/03/24(土) 01:54:49 ID:yU007f6l
>>445
おお!
「skip-character-set-client-handshake」
を記述すると、うまいこと表示されました!
有難うございます。

>>446
有難うございます
ですが、コマンドプロンプトでMySQLを実行する方法がわからないのです;;

452 :nobodyさん:2007/03/24(土) 01:57:56 ID:???
>>451
あ・・・いや・・・解決したならいいんだ・・・
でも・・・でも・・・

それぐらい勉強しろチン子!

453 :nobodyさん:2007/03/24(土) 02:02:16 ID:Xdgvve8z
>>442>>444

$rest = 24 - date('h') - date('m') / 60 - date('s') / 3600;
こんな感じでしょうか。

ありがとうございます。

454 :nobodyさん:2007/03/24(土) 02:08:25 ID:???
>>449
あ〜、ちょと調べてみたんだが
readdirはファイル名のみを返してきて(パスなし)、
is_dirは実行しているPHPファイルからの相対パスを見てるみたいだな
ちょっとコレで試してみて

-----------------------------------------------------------------

// $path変数に検索したいディレクトリの絶対パスを記述してくれ
$path = "/usr/local/apache/htdocs/php/";

$dh = opendir($path);
while($file_name = readdir($dh)){
  $file_name = $paht . $file_name;
  if($file_name != '.' && $file_name != '..') {
    if (is_dir($file_name)){
      echo "DIR! - ".$file_name."\r\n";
    }
    else {
      echo "FILE! - ".$file_name."\r\n";
    }
  }
}

closedir($dh);



455 :nobodyさん:2007/03/24(土) 02:11:19 ID:???
>>449
度々スマン
上のソースの5行目

× $file_name = $paht . $file_name;
○ $file_name = $path . $file_name;

だ。

456 :nobodyさん:2007/03/24(土) 02:13:14 ID:RyeuCbO7
夜中にすいません。いきずまってましてわからないので教えて下さい。
Coppermine Photo Galleryというphpアルバムのプログラムがあるのですが
サイトはこちらですhttp://coppermine-gallery.net/
includeで指定をすると反応してくれません。
これを使えるようにするにはどうすればいいかわかる人いませんでしょうか?

457 :nobodyさん:2007/03/24(土) 02:20:56 ID:???
>>456
それだけで分かるわけ無いだろ

458 :456:2007/03/24(土) 02:30:07 ID:RyeuCbO7
どうかお願いします
ファイルダウンロード先を直リンしておきます
http://sourceforge.net/project/showfiles.php?group_id=89658&package_id=98538&release_id=459442

何か代わりに代替えになるタグとかないでしょうか;;
困りました。。。

459 :nobodyさん:2007/03/24(土) 02:38:18 ID:???
>>458
おいいい加減にしろ
hぐらい抜けアホ
しかも全体でファイル数が500ぐらいあるじゃないか
いちいちincludeディレクトリの中身全部調べるのか?
なんでそこまで面倒見なきゃならんのだ

困ったってコレを仕事でやってるのか?
ならスグに仕事辞めろ。お前みたいな奴が居ると
周りの人間が迷惑だ

460 :431:2007/03/24(土) 02:41:35 ID:???
>>454-455
出来ました!つまり、opendirで開いたディレクトリのファイルを
絶対パスにしなければいけなかったと言う事ですね。

参考にします。ありがとうございました。


461 :nobodyさん:2007/03/24(土) 02:47:21 ID:???
パソコンが動きません。どうしたらいいですか?
製品のページを直リンクしておきます。

これだけで原因を言い当てたら神だろう。
せめてエラーメッセージぐらい書けよ。

>>459
ダウンロードしたのかよ。やさしいな。。。

462 :461:2007/03/24(土) 02:51:47 ID:???
スマン。少し言い過ぎたかも試練
このページ見てたら落ち着いた

ttp://waratanews.blog67.fc2.com/blog-entry-609.html

>>458
この時期だから新卒ではないんだろ?
もう少しプログラミングって言うものになれる必要がある。
今のお前にはまだコレは早すぎるのかもしれないな。

もし本当に仕事なら上司に相談したほうがいいんじゃないのか?
もしくはしっかりエラーを書いてくれ。

463 :nobodyさん:2007/03/24(土) 02:59:21 ID:???
>>460
そうかそうか。それは良かった
なんかPHPはファイル系の関数の動きが時々怪しい
ことがあるから怖い。

464 :456:2007/03/24(土) 03:00:50 ID:RyeuCbO7
レスありがとうございます。
そちらのファイルのcpg1410/index.phpだけみてもらいたかったのですが><
説明不足で大変すいません。

後仕事とかではなくてサイト作成を(自分のサイトでアルバムにして公開する予定です)しています。

エラーがでれば調べてかけるのですがエラーがでないんです;;
なのでどうすればいいのかわからなくて聞きました。
記事はこちらにありました。
ttp://fjsk.s39.xrea.com/item_56.html
Coppermine Photo Galleryは相対リンクを基本としているため、includeでの組み込みが出来ません(たぶん)。

こちらの板の方に回避方法を教えてもらいたくて質問させてもらいました。
迷惑をかけて申し訳ありません。

465 :461:2007/03/24(土) 03:06:43 ID:???
>>464
index.phpにアクセスするとどうなってるんだ?
俺の予想ではログインページに飛ばされると貸してるんじゃないのか?

466 :nobodyさん:2007/03/24(土) 03:06:51 ID:???
>>464
なるほどね。まだ情報が足りないけど俺の勘では
C:\WINDOWS\php.iniを下記のように書き換えてApache再起動。
これでダメなら知らね。
パスはもちろん自分の環境に読み換えてくれ。

include_path = ".;D:\Apache\htdocs\cpg1410"


467 :nobodyさん:2007/03/24(土) 03:10:13 ID:???
なんか今日皆優しいね・・・

>>464
index.phpにアクセスするときindex.php?インクルードファイル.php
ってしないと駄目じゃないの?

468 :466:2007/03/24(土) 03:17:52 ID:???
ごめん。>>466は忘れてくれ。
cpg1410の下にincludeがあるんだから問題ないや。
include_path = "."
これだけで事足りてる。そうなると>>467かな

469 :nobodyさん:2007/03/24(土) 03:27:09 ID:???
>>458
直リンなめてんだろ。
自分勝手な奴は氏ね

470 :456:2007/03/24(土) 03:28:50 ID:RyeuCbO7
みなさんありがとうございます;;
>>465
index.phpにアクセスすると普通にCoppermine Photo Galleryが表示します。
ですが<?php include("aiueo.php"); ?>とすると何も表示されずソースをブラウザからみると
<?php include("aiueo.php"); ?>とそのまま表示されています
エラーはでておりません。

>>466-468
教えてもらったように実行をしてからまた結果報告をさせて下さい
本当に親切にありがとうございます!

471 :nobodyさん:2007/03/24(土) 03:34:11 ID:???
ソースにそのままって。。。PHPが動く状態になってないじゃんか。

472 :456:2007/03/24(土) 03:36:50 ID:RyeuCbO7
xreaサーバーですのでphpは4.4.4で私の鯖では動作しています。
そしてどういつ鯖に置いているphpではしっかり表示はできています。
設置サイトここにはっても迷惑になりませんか?

473 :nobodyさん:2007/03/24(土) 03:45:40 ID:???
safe_modeがらみじゃねーの。
xrea使ってないから知らんけど。

474 :nobodyさん:2007/03/24(土) 03:47:51 ID:???
>>472
xreaで設置に関して何か不具合がある場合はたいてい、
・自動挿入される広告を手動挿入にする、
・セーフモードがかかってるのでPHPをCGIとして動作させる。
このどちらかで解決する。

475 :456:2007/03/24(土) 03:56:12 ID:RyeuCbO7
セーフモードなんですが、セーフモードがかかってますが、他のphpは動作してくれております。
includeで。

一応htaccessでAddHandler application/x-httpd-phpcgi .phpを記述しましたが。
cgiとして動作するのでincludeは呼び出せませんでした。

おとなしくフレームで読みようにします。
アドバイスをくれてありがとうございました!
馬鹿につきあってくれて感謝しています。

これからはROMってここのスレの質問者と同じように勉強をさせてもらいます。
本当にありがとうございました!(ねらーなので毎日チェックをしますw)


476 :456:2007/03/24(土) 03:56:48 ID:???
追記で広告は免除で動かしております。(有料鯖です)

477 :nobodyさん:2007/03/24(土) 04:16:57 ID:???
携帯サイト上でトランプゲームやあみだくじなどの簡単な
ゲームをできるようにしたいのですが、PHPで作成可能ですか?


478 :nobodyさん:2007/03/24(土) 04:19:01 ID:???
>>477
flashで作った方がいいんじゃない?

479 :nobodyさん:2007/03/24(土) 04:23:51 ID:???
>>478
即レスありがとうです。
携帯でflashを使うと重くなる、もしくは閲覧できないユーザーが
多いと聞いたのですが大丈夫でしょうか?

480 :nobodyさん:2007/03/24(土) 05:09:46 ID:???
そんな心配する前に作れるのかと

481 :nobodyさん:2007/03/24(土) 11:48:11 ID:???
サーバーサイドスクリプトだからつまんねーゲームになるぞ

482 :nobodyさん:2007/03/24(土) 11:55:30 ID:KoN02Q6B
phpのオブジェクト指向スクリプティングを解説した良書ってないですか?
オブジェクト指向じゃなくてもいいなら大体書けるようになった気がするんですけど、
やっぱりできたほうがいいですよね、、

参考になる本を教えて欲しいです。 よろしくお願いします!! 切実です…

483 :nobodyさん:2007/03/24(土) 12:01:06 ID:???
>>482

pearのソース

484 :nobodyさん:2007/03/24(土) 13:35:29 ID:???
>>482
http://www.amazon.co.jp/PHP%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E5%85%A5%E9%96%80-%E4%B8%8B%E5%B2%A1-%E7%A7%80%E5%B9%B8/dp/4798015164

485 :nobodyさん:2007/03/24(土) 14:20:19 ID:???
newしたら負けかなと思ってる

486 :nobodyさん:2007/03/24(土) 14:27:06 ID:???
じゃstaticで

487 :nobodyさん:2007/03/24(土) 14:38:14 ID:???
pearのソースはやめたほうがいいよ。
はっきりいってコーディング規約がウンコ

488 :nobodyさん:2007/03/24(土) 14:42:05 ID:???
作業分担のカプセル化にそう熱くならんでも

489 :nobodyさん:2007/03/24(土) 14:58:41 ID:???
あああああああああああああああああああああああああああああああああああああああああああああああああああ

490 :nobodyさん:2007/03/24(土) 20:54:17 ID:BPfRo52S
ありがとうございます

491 : ◆dQCqKwAumo :2007/03/24(土) 22:13:27 ID:???
PHPをコマンドライン上で走らせて、「WinBinder」を使うと
WindowsのGUIアプリケーションを開発できると聞きました。

Linux上で、PHPのGUIアプリケーションを走らせることは不可能でしょうか?

# PHPでGUIアプリケーションを開発するのかよ、という
# つっこみはやめてちょ……

492 :nobodyさん:2007/03/24(土) 22:16:24 ID:???
>>491
http://gtk.php.net/

493 :nobodyさん:2007/03/24(土) 22:16:36 ID:???
PHP-GTK

494 :nobodyさん:2007/03/24(土) 22:28:58 ID:???
>>491
つまりはPHPでGUIツールを作りたいってコトだよな?

これはどうだ?
ttp://phpspot.net/php/man/gtk/

495 : ◆dQCqKwAumo :2007/03/24(土) 22:32:44 ID:???
みんなありがとう。
早速、PHP-GTKのマニュアルを読んでみます。

496 :nobodyさん:2007/03/24(土) 22:34:47 ID:???
PHPで標準入力からデータを読み込む場合、
既に取得したデータのサイズを知る方法は手動で計算以外にありますか?

497 :nobodyさん:2007/03/24(土) 22:35:41 ID:???
>>495
まぁ今後は聞く前に一度ぐぐろうな?^-^

498 :nobodyさん:2007/03/24(土) 22:36:46 ID:???
>>496
標準入力って何

499 :nobodyさん:2007/03/24(土) 22:36:58 ID:???
>>496
標準入力を最後まで取得してファイルに出力してfilesizeとか?

500 :nobodyさん:2007/03/24(土) 22:54:08 ID:???
>>498
説明が難しい
PCで言えばキーボード

>>499
既定のサイズを超えたら中止の処理をしたかったもので
もしかしたら中の人が計算してたりするのかなと思ったり

501 :nobodyさん:2007/03/24(土) 23:00:54 ID:???
>>500
そりゃキーボードだろうけど、PHPで標準入力ってなんだよwww

502 :nobodyさん:2007/03/24(土) 23:03:18 ID:???
>>501
CLIとかソケットサーバをPHPで立ててれば標準入力になるんでないか?

>>500
CLIだと無理な気がするんだけど、ソケット通信で使うなら出来そうな気がする

503 :nobodyさん:2007/03/24(土) 23:13:02 ID:???
おでん食べたい!

PHPでおでんは作れますか?

504 :nobodyさん:2007/03/24(土) 23:27:58 ID:???
>>503
努力しだい

505 :nobodyさん:2007/03/24(土) 23:30:10 ID:???
STDIN以外の何だと思ったんだ?お前の笑いのツボがさっぱりだ

506 :nobodyさん:2007/03/24(土) 23:43:00 ID:???
もう我慢できん!
おでん屋台探してくる!

確か埼玉の川口市にあったはずだ!

507 :nobodyさん:2007/03/24(土) 23:47:55 ID:???
※酔っ払いに話しかけてはいけません

508 :nobodyさん:2007/03/24(土) 23:54:28 ID:???
もしかして、今
http://pear.php.net/
ってサーバ飛んでますか?
pearコマンドでも、ブラウザからもpear.php.netが見られないです。

509 :nobodyさん:2007/03/24(土) 23:59:28 ID:???
うん。今日はPEARサイトおかしい。
休日利用のメンテナンスで仕事に出たのに、pearのダウンロードも、できんかって困った。

510 :nobodyさん:2007/03/25(日) 00:01:25 ID:rXEEfrLa
初心者です。文字コードについて質問です。
どうやらEUCで保存・出力するのが無難だというようなことをどこかで聞いて、
phpの保存形式も出力も(metaタグ中のcharsetも)EUCにしてるんですが、
それだと携帯サイトを作る時に化けたりするものなんですか?

phpファイルをSJISにして作ってたころ、文字化けを起したことがあって、
それがイヤでEUCに固定したんですが、上の携帯での問題(?)を考えると、
プログラムはEUCで保存して出力はSJISってするのがいいんでしょうか?

その場合には
http://tsuttayo.sytes.net/php/char_trn/ のサイトを参考にしようと思ってるんですが
大丈夫ですかね?
皆さんはどういう形式でそれぞれ文字コードの設定していますか?
今僕がやってる「両方ともEUC」にしてない人がいたら、その理由を教えてくれたら幸いです。
よろしくお願いします。

511 :nobodyさん:2007/03/25(日) 00:03:21 ID:???
>>510
UTF-8が無難

512 :nobodyさん:2007/03/25(日) 00:09:20 ID:???
>>509
ありがとうございます。
やっぱりそうなんですね。

513 :nobodyさん:2007/03/25(日) 00:18:02 ID:rXEEfrLa
>>511
プログラムの保存も、書き出しも両方ともUTF-8ということですか?

514 :nobodyさん:2007/03/25(日) 00:19:22 ID:???
>>513
そうそう
BOMさえ気をつければ全然使える

515 :nobodyさん:2007/03/25(日) 00:21:28 ID:qdJaHfbH
pear死んでる?

516 :nobodyさん:2007/03/25(日) 00:21:56 ID:???
>>515
>>508-

517 :513:2007/03/25(日) 00:43:53 ID:rXEEfrLa
>>514
なるほどー  調べてみたんですが、
http://deztec.jp/lecture/cl/mobile.html のページを見ると、携帯コンテンツを
作るならS-JIS推奨(Utf-8やEUCに対応した携帯が少ないから)でHTML(xhtml)ファイルを
書くようにってあるんですが、たとえば>>514さんの言うようにPC向けにUTF-8がオススメなら、
今世間にあるPC-携帯両環境のあるサービス(アマゾンとか)は
PC->UTF-8 携帯->S-JIS で書き出し(プログラム保存形式はUTF-8で共通)と
いうように環境変数で切り替えてるんですかね?
目茶苦茶メンドクサイですね、、そうでもないのかな
どうせ携帯向けサービスも作るなら同じことってことかなぁ。。
プログラムそのものの保存形式にも再現環境によってお勧めとかあるんでしょうか?

あれ? 端末環境ごとの書き出しが複数あるとしたらphp.iniのmbstring.http_output は
どうしたらいいんですかね? わからなくなってきた、、

S-JISで固めて http://www.syon.co.jp/syontech/tech003.html にあるエラーの対応するのが
一番なのかな??
みんなどうしてるんですか? 暇な人、気が向いたらご意見ください

518 :nobodyさん:2007/03/25(日) 00:46:52 ID:???
携帯端末チェックはPEARのNet_UserAgent_Mobileを使うぐらい

519 :nobodyさん:2007/03/25(日) 01:10:35 ID:???
UTF-8
EUC-JP
Shift-JIS
URLエンコードすると全部違うのか
初めて知ったwwwwwwww

520 :nobodyさん:2007/03/25(日) 01:13:00 ID:???
※酔っ払いに話しかけてはいけません

521 :513:2007/03/25(日) 01:24:53 ID:rXEEfrLa
すみません さっぱりわからないので変なこと書いてるかもしれません。。

522 :nobodyさん:2007/03/25(日) 02:40:29 ID:???
チキショウ・・・人がいっぱいでおでん屋さん入れなかったorz

PHP6はいつ正式版でるんだ?早く使いたくてうずうずしてるぜ!

523 :>>513:2007/03/25(日) 02:47:40 ID:07q9VATM
データベースも内部エンコードも、PC用出力も全てUTF-8に統一して
携帯用ページのみ、出力する直前でSJISに変換が基本じゃないでしょうか?

めんどくさいなら
携帯用ページが入ってるディレクトリの出力を
.htaccessとかでmb_output_handlerを使ってSJISに変換するようにしたら楽じゃないかな?

試したことないけど、きっとうまくいくはず・・・
output_handlerあたりを調べると良いかも

内部エンコードSJISにしたり、PHPファイルをSJISにするのはやめた方が良い。
あれは悪魔のコードだから

524 :nobodyさん:2007/03/25(日) 02:55:24 ID:???
>>517
デバイスによって出し分けるのはそんなに
面倒ではない
出力するときに、文字コードを変換して出力
すればいいだけだから

525 :nobodyさん:2007/03/25(日) 02:59:20 ID:07q9VATM
みんな、PHP+DBで認証機能を作る時って
DBにパスワード平文で保存してます?

セキュリティ的にMD5で保存しちゃおうかと思ってるんだけど、
そうすると、パスワード解らなくなった人がいたとき、使っていたパスワードはわかりませんよね?
なくした場合は、再発行になるじゃないですか?

まあ、それ自体は特に問題ない気もするけど・・・

管理者が、パスワードがなにか解らなくなるコトって、なんか、他に問題とかありますか?
一般的には、どっちなんでしょうか?

微妙にすれ違いっぽいけど、意見ありましたらお願いします。

526 :nobodyさん:2007/03/25(日) 03:23:49 ID:pIr3ekUb
web patioで聞きたいんですが、書き込みの欄を自分で追加したいんですけど
どうすればいいでしょうか。クッキーも使えるといいです。

あと隠しアイコンとかできますか?

527 :nobodyさん:2007/03/25(日) 03:24:18 ID:???
>>525
他の情報(誕生日だの何だの)を使って上書きできるようにすればなくしても大丈夫
msnとかがこの方式だった気がする

528 :nobodyさん:2007/03/25(日) 07:47:23 ID:???
>>525
>管理者が、パスワードがなにか解らなくなるコトって
これはこの手のシステムを作るとき当たり前。
そしてハッシュ化して保存するのも当たり前。

529 :nobodyさん:2007/03/25(日) 08:01:02 ID:???
>>528
問題ないよね。ユーザーが「パスワードわからなくなった。押しエロやコラ」
っていってきたら新たにパスワード発行して「これをつかってよね」って
言えばいいだけだしね。

530 :nobodyさん:2007/03/25(日) 08:19:54 ID:???
ところで聞きたいんですけど
そのパスワードって、どの段階でハッシュ化します?
クライアントサイドでPASSをハッシュ化して、送信するか
サーバーサイドでPASSを受信してハッシュ化するか。
前者は、ハッシュそのものがパスワードになってるから、ナンセンスな気がするし
後者は、PASSそのものを送信するのが問題だと考えるならば…。

531 :nobodyさん:2007/03/25(日) 08:26:16 ID:???
アホなスクリプトでもない限りそのままパスワード保存でもいいと思うよ

532 :nobodyさん:2007/03/25(日) 08:28:04 ID:???
そこまで心配するならSSLで通信するかな。

それが叶わないのならJavaScriptを必須にして、
適当なsaltを送って入力されたパスワードとsaltを使ってハッシュを生成して送るようにするかな。
この方式はやったことないけどね。

533 :513:2007/03/25(日) 08:42:05 ID:rXEEfrLa
>>523-524
ありがとうございました。
手元の本を見るとS-JISで書き出ししてたりするので迷ってました。
>>523さんのやり方でトライしてみます


534 :nobodyさん:2007/03/25(日) 09:34:30 ID:???
別に出力に関してはすべてSJISでいいじゃん。
PCにUTF-8を送る必要ないっしょ。

535 :nobodyさん:2007/03/25(日) 09:48:51 ID:???
>>491
http://www.google.com/search?q=Bambalam+PHP+EXE

PHP用のコンパイラ PHPのソースから .exeにコンパイルしてwindows上で
動作できるようになる。

536 :nobodyさん:2007/03/25(日) 10:07:09 ID:pIr3ekUb
>>526

537 :nobodyさん:2007/03/25(日) 10:15:30 ID:???
>>530
都合の悪いケースが想定できるならシステムで防ぐのが良い。
ナンセンスな対策ってのは全く効果が無い場合と
もっと重大なセキュリティホールを放置してる場合。

>>532
もう1歩先まで実装をシミュレートしてみな。

538 :nobodyさん:2007/03/25(日) 10:18:44 ID:???

偉そうな人。職場で自分が言われてることをここでオウム返しして発散

539 :nobodyさん:2007/03/25(日) 10:30:46 ID:???
携帯じゃJavaScript動かないしクライアント側はあんまり現実的じゃないね

540 :nobodyさん:2007/03/25(日) 10:31:59 ID:???
今日が3月の第何週目かを求める方法ってありますか?

541 :nobodyさん:2007/03/25(日) 10:44:53 ID:???
日付と曜日が分かれば簡単に出ると思うが

542 :513:2007/03/25(日) 11:21:45 ID:???
>>534
SJISだと、フォーム送信した時に特定の文字が化けるとかのエラーがあると思うんですけど
(もちろん解決策はあるみたいですが)いっそのことSJIS避けたほうが良くないですか?
携帯はSJISでないと対応する文字コードがないみたいで仕方ないからそうしますが…

543 :nobodyさん:2007/03/25(日) 11:28:22 ID:???
個人で、アルバイト感覚でPHPの仕事を安くしてくれる
職人さんをさがしたいのですが、HPとかありますかね?



544 :nobodyさん:2007/03/25(日) 11:31:35 ID:???
>>541
$sunday = date(d,time())-date(w,time());
if($sunday <=1) {
echo 1;
} elseif(fmod($sunday,7) == 1) {
echo ceil($sunday/7);
} else {
echo ceil($sunday/7)+1;
}

545 :nobodyさん:2007/03/25(日) 11:31:37 ID:???
>>542
ちがう。内部コードやDBはUTF-8でいいけど
出力は携帯用にSJISにするんだからPCへの出力もSJISでいいじゃんってこと。
振り分ける手間が面倒じゃないなら振り分けてもいいけど。

546 :nobodyさん:2007/03/25(日) 11:33:40 ID:???
PCにSJISで出力する意味が見出せない

547 :nobodyさん:2007/03/25(日) 11:37:16 ID:???
>>545
そんなの基本処理する文字コードがなにかに依存すること。
特異例の携帯だけSJISで送って、あとは基本コードの方で処理するのが普通。
特異例にあわせてどうする。

548 :513:2007/03/25(日) 11:44:39 ID:???
>>545
そっか、エラーの元になるSJISって内部コードの方か…
スゴイ馬鹿でした なるほどー
色々確認してどの形式がいいのか試してみますね ありがとう

549 :513:2007/03/25(日) 11:46:34 ID:???
>>546-547
いろんな書き込みが…
悩むなぁ みなさんありがとう

550 :nobodyさん:2007/03/25(日) 11:48:56 ID:???
>>547
あんたの中ではPCが標準で携帯が特異例なのか。
User-Agentこねくりまわすコードが書きたければ勝手にどうぞ。

551 :nobodyさん:2007/03/25(日) 13:16:19 ID:07q9VATM
内部エンコードと出力のコード変えると
テンプレートのコンテンツタイプがSJISで、エンコードはUTF8
とか、訳のわからないことにならない?
デザイナがその辺の事情良くわかってる人なら良いけど
文字化けしたまま保存しちゃって、テキスト打ち直しなんてことも・・・

文字コードめんどくさいよ
携帯もUTF8で統一されないかな

552 :nobodyさん:2007/03/25(日) 14:19:22 ID:???
>>550
>User-Agentこねくりまわすコードが書きたければ勝手にどうぞ。
程度が知れるな。

553 :nobodyさん:2007/03/25(日) 14:32:46 ID:???
初めまして。

phpおよびMySQLで、文字コードをutf8に統一し、
phpmyadminからmysqlにアクセス時にエラーが発生し、
phpmyadminが使えないという問題を起こしています。

既出かも知れませんが、ぐぐってみていろいろ設定を
試したのですが、解決できないでいるので、
どなたか解決法をご教授ください。

phpmyadminにて、何か値の入っているテーブルを選んで、
「表示」タブをクリックします。
すると、Apacheが
File 'C:\mysql\\share\charsets\?.conf' not found (Errcode: 22)
Character set '#33' is not a compiled character set and is not
specified in the 'C:\mysql\\share\charsets\Index' file
というエラーログを出して終了します。

下に環境や設定を列挙しますが、エラーは回避できないものなのか、
回避できるのであればどんな設定をすればよいか知りたいです。


554 :553:2007/03/25(日) 14:34:07 ID:???
<環境>
Windows XP SP2
MySQL version:5.0.37(setup.exe使用のインストール)
PHP Version:5.2.1
Apache version:2.0.52
phpMyAdmin version:2.9.1.1

<設定:関連しそうなところのみ>
(httpd.conf)
AddDefaultCharset UTF-8

(phpmyadmin/config.inc.php)
$cfg['DefaultCharset'] = 'utf-8';
$cfg['Lang'] = 'ja-utf-8';
$cfg['DefaultConnectionCollation'] = 'utf8_unicode_ci';

555 :553:2007/03/25(日) 14:34:57 ID:???
(php.ini)
mysql.default_charset = UTF-8

[mbstring]
mbstring.language = neutral
mbstring.internal_encoding = UTF8
mbstring.http_input = auto
mbstring.http_output = UTF8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;

556 :553:2007/03/25(日) 14:35:40 ID:???
(my.ini)
[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8
skip-character-set-client-handshake

[mysqld]
default-character-set=utf8

mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+--------------------------+
| Variable_name | Value |
+--------------------------+--------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\mysql\share\charsets\ |
+--------------------------+--------------------------+

557 :nobodyさん:2007/03/25(日) 14:50:44 ID:???
コーディング系の質問じゃなく設置段階での問題丸投げとか、プログラミングすんなよハゲ

558 :nobodyさん:2007/03/25(日) 14:55:28 ID:/8MzPaJs
新規質問おながいします。
apache標準の404ページでリダイレクトさせる時は
どのように書けばいいですか。

559 :558:2007/03/25(日) 14:58:15 ID:???
誤字スマソ
×404ページで
○404ページへ


560 :nobodyさん:2007/03/25(日) 15:31:34 ID:???
久しぶりにMySQLとphpMyAdminを入れてみた
phpMyAdminが何気に挙動不審だな

561 :nobodyさん:2007/03/25(日) 16:03:05 ID:kikNO+su
教えてください
PHP Version 5.2.1
mysql5.037

PHPからmysqlへ送信された文字が登録されません。
半角英数字だと登録されるのですが、日本語が入るとダメです。
コマンドプロンプトからはsqlへ日本語登録できます。
どちらもshiftジスに設定しているはずなのですが・・・
どこらへんが悪いのか教えてください。

562 :nobodyさん:2007/03/25(日) 16:39:07 ID:???
PHPカウンターなんですが、よくデータが壊れます。排他制御が
上手く行ってないと思うのですが、どこが間違ってるんでしょうか?

$dat = file($log) or die("FILE_LOG のオープンに失敗しました。");
list($key, $yes, $tod, $all)=explode("|", $dat[0]);
if($key == $now_date){
$tod++;
}else{
$yes = ($key == $yes_date) ? $tod : 0;
$tod = 1;
}
$all++;
$new = implode("|", array($now_date,$yes,$tod,$all));
$fp = fopen($log,"w") or die("FILE_LOG のオープンに失敗しました。");
flock($fp, LOCK_EX);
fputs($fp, $new);
flock($fp, LOCK_UN);
fclose($fp);

563 :nobodyさん:2007/03/25(日) 16:54:50 ID:???
flock($fp, LOCK_EX);
この返り値を確かめてみたことあるの?

564 :nobodyさん:2007/03/25(日) 16:57:33 ID:???
>>561
たぶんエスケープか、文字コードの設定自体の問題

>>562
$keyとか$todとか、変数名の意味がさっぱりわからないので、解読を断念した。
とりあえず、排他制御はファイルを読む部分と書く部分を全体を括らないと。

565 :nobodyさん:2007/03/25(日) 16:57:44 ID:lRVUjXL5
file_put_contentsを使うことは、fopenしてfwriteすることは一緒でしょうか?
php5使ってます。

566 :nobodyさん:2007/03/25(日) 16:59:05 ID:lRVUjXL5
自己解決しました。fcloseは使いたくないのでfopen法で書くことにしました。

連続して fopen(), fwrite(), fclose() をコールすることと等価です。

567 :nobodyさん:2007/03/25(日) 17:04:21 ID:???
>>562
NFSとかFATでやってるとかいうお間抜けなことは考えたこと無い?

568 :nobodyさん:2007/03/25(日) 17:42:20 ID:lRVUjXL5
>>562
あのな、排他制御じゃ壊れるよ。
それはおれが一個か二個ぐらい前スレで実証検証したからよくわかる。
完璧をもとめるならrmdirつかえ

569 :nobodyさん:2007/03/25(日) 17:50:30 ID:???
IDださないやつはネタ

570 :nobodyさん:2007/03/25(日) 18:13:27 ID:OUViY8id
イメージ関数を駆使して、画像の自動補正(CMでやってるプリンタについてるようなモノ)を
行ってくれるスクリプトを公開しているサイトってありませんかね?

571 :nobodyさん:2007/03/25(日) 18:15:18 ID:???
海外にあったよ

572 :nobodyさん:2007/03/25(日) 18:47:45 ID:???
相変わらず答えてもらってありがとう無しに消える奴がおおいな

573 :nobodyさん:2007/03/25(日) 19:09:48 ID:JTtYDnwD
MySQL、PHP共にUTF-8なのに、MySQL⇒PHPで文字化けします。
日本語が全て???になってしまうのですが、何か対処法はないのでしょうか?

574 :nobodyさん:2007/03/25(日) 19:18:35 ID:tzkd3AeI
BBQスレから来ました
http://pc11.2ch.net/test/read.cgi/php/1137614836/233-244
上のスレで可能って答えをもらったんですが、方法がいまいちよくわからないので質問させていただきます。

現在htmlのみで構成されたサイト(掲示板じゃないです)を運営してるのですが、
これにBBQを使った回覧アクセス規制を導入したい場合、どのようにするべきなのでしょうか?

実際にブログ、掲示板以外でBBQでアクセス規制されてる方がいらっしゃいましたらご教示願います。

575 :nobodyさん:2007/03/25(日) 19:19:19 ID:???
このスレ内で検索しましたか?

576 :nobodyさん:2007/03/25(日) 19:19:38 ID:???
>>574
スレ違い
http://food8.2ch.net/test/read.cgi/cook/1161248583/

577 :nobodyさん:2007/03/25(日) 19:19:50 ID:???
べつにお礼はいらんから解決したのか諦めたのかぐらい書いてほしいな

578 :nobodyさん:2007/03/25(日) 19:20:29 ID:???
房がうじゃうじゃ

579 :nobodyさん:2007/03/25(日) 19:21:54 ID:???
>>573
この手の質問多すぎ
調べればいくらでも出てくるだろうが…

580 :nobodyさん:2007/03/25(日) 19:23:02 ID:JTtYDnwD
>>579
mbstring.http_output UTF-8
mbstring.internal_encoding UTF-8

です。
ググったり、したのですが解決できていません

581 :nobodyさん:2007/03/25(日) 19:27:23 ID:???
ググレない。このスレにでてきた似たような質問から自分で解決策を考えようとしない。
氏ね

582 :nobodyさん:2007/03/25(日) 19:31:44 ID:???
釣られているあほ氏ね
スルーしとけや

583 :573:2007/03/25(日) 19:33:58 ID:JTtYDnwD
ちなみに、MySQLから拾った文字以外は正常に表示されます。

584 :nobodyさん:2007/03/25(日) 19:34:32 ID:???
>>581
出たwww自分がわからないから「ググれ」とかいうやつwwwwww

585 :nobodyさん:2007/03/25(日) 19:36:12 ID:???
煽ったって答えてくれませんよ

586 :nobodyさん:2007/03/25(日) 19:40:44 ID:???


   PHPで彼女とアナルマンコしたいけどできる?

   ローカルでとりあえずやりたいんだけど?



587 :nobodyさん:2007/03/25(日) 19:44:26 ID:tzkd3AeI
おしえてくだせえよぉーおねがいだぁー

588 :nobodyさん:2007/03/25(日) 19:50:52 ID:???
氏ねよ

589 :nobodyさん:2007/03/25(日) 19:52:35 ID:???
>>587
サイト全体をPHPで出力するようにする。
例えばブログツールを使ったり。

590 :573:2007/03/25(日) 19:53:40 ID:JTtYDnwD
環境忘れていました
PHP 5.1.2
MySQL 4.1.16
Localhost via UNIX socket

因みにレンタル鯖です。

591 :nobodyさん:2007/03/25(日) 19:59:08 ID:???
>>589
ブログツールか、ありがとう

592 :nobodyさん:2007/03/25(日) 20:29:41 ID:???
スレ違いかもしれんが、PHPからMySQLの設定変更とかできる?
[mysqld]に
skip-character-set-client-handshake
を付け加えたいんだが・・・

593 :nobodyさん:2007/03/25(日) 20:30:14 ID:???
または.htaccessでもおk

594 :nobodyさん:2007/03/25(日) 21:05:19 ID:cLfz7IBf
>>544
おかしくね。今日が第5週ってなるけど4週目だろ

595 :nobodyさん:2007/03/25(日) 21:26:18 ID:???
>>592
レン鯖じゃ無理だろな〜

自分専用で使えるならPHPからmy.cnfをファイルとして普通に読み込んでmy.confに
skip〜を追加して保存する。

で、さらにPHPからMySQL再起動用のシェルを叩いてあげる。
※外部コマンドは下のどれかを使えば叩ける。
1.system()
2.exec()
3.popen()
4.shell_exec()
5.paththru()

596 :nobodyさん:2007/03/25(日) 21:39:33 ID:???
>>594
氏ね。おせえんだよ

597 :nobodyさん:2007/03/25(日) 22:12:48 ID:???
>>571
php image automatic correctionとかでググってみましたが探せませんでした
URLは覚えていらっしゃいませんか

598 :nobodyさん:2007/03/25(日) 23:47:08 ID:???
googleの日本語サイトで探してないだろうな。
英語サイトで探せよw

599 :nobodyさん:2007/03/26(月) 00:48:54 ID:X7UJxPSO
初心者スレでおたずねしたのですが、返答がないので、こちらでお聞きします。

IIS6.0 + PHP5.2.1(isapi版)で、別のWindowsマシン上の共有フォルダから
データを読み込みたいのですがエラーが帰ってきます。
ローカルPCにUSBメモリなどを刺して、試した場合は正常に動くのですが。

共有フォルダをz:ドライブに割り当てて、アクセス権もEveryoneがフルコントロールと
してあるのですが、何がわるいのでしょうか?

<?php

if ( file_exists("z:/test.txt") ) {
print("ok\n");
} else {
print("error\n");
}

?>

600 :nobodyさん:2007/03/26(月) 01:23:11 ID:???
>>599
また「エラーが出る」かよ・・・

どのエラーなんだ?
「error」が出力されるのか?
それともPHPのFatalとかがでるのか?

601 :nobodyさん:2007/03/26(月) 01:26:35 ID:???
>>599
せめてhttp://php.net/file_existsの上の方だけでもいいので、読んできてください。

602 :nobodyさん:2007/03/26(月) 01:26:48 ID:???
500とか?

603 :nobodyさん:2007/03/26(月) 03:55:17 ID:HH6q3gp6
外部のWEBページを取得する時に、任意のUA名を渡すにはfsockopenを使用するのが一番手っ取り早い方法なのでしょうか?
当方、HTTPに関する知識が「telnetでget/http/1.0」ぐらいしか無い物で、fsockopenを使用する手法だと大分勉強が必要になりそうなので悩んでいます。

604 :603:2007/03/26(月) 04:13:14 ID:HH6q3gp6
キーワードを変えてググったら自己解決しました。
スレ汚し申し訳有りませんでした。

605 :nobodyさん:2007/03/26(月) 04:28:33 ID:waVUTaj2
すみません、質問です。
mysqli関数を使おうとしたらエラーがでて、調べてみると使えるようにするために
php.iniの変更とlibmysql.dll が必要というようなことが書いてありました。
このlibmysql.dll というのはどこかでダウンロードするものなんでしょうか?
僕の勘違いでしょうか。
http://php.morva.net/manual/ja/ref.mysqli.php を参考にしてるんですが
良くわかりません
どなたかよろしくお願いします。

606 :nobodyさん:2007/03/26(月) 04:36:45 ID:???
>>605
WindowsXP?
PHPのディレクトリのどっかにあるだろ?
それをsystem32ディレクトリにつっこむだけ


607 :605:2007/03/26(月) 10:53:33 ID:waVUTaj2
質問です。(すみません 詳細の情報を欠いてました)
windows XP APACHE2 PHP5.2 MYSQL5 でmysqliを使ったプログラムを
動かそうとしていますが、動きません。
>>606さんの言うとおり、system32ディレクトリにlibmysql.dllを置いてあるんですが、
プログラムを実行したら
Fatal error: Class 'mysqli' not found in C:\Program Files\Apache Group\Apache2\htdocs\php5_samples\my_sample\chap3\grhCnt\counterUp.php on line 2
というエラーがでます プログラムは以下のようなものです。(カウンターです)
<?php
$db = new mysqli("localhost","root","xxxx","php5");
$stt = $db->prepare("SELECT*FROM c3_access_counter WHERE url=?");
$stt -> bind_param("s",$_SERVER['SCRIPT_NAME']);
$stt -> execute();
if($stt->fetch()!==TRUE){
$sql = "INSERT INTO c3_access_counter(url,cnt) VALUES(?,1)";
}else{
$sql = "UPDATE c3_access_counter SET cnt=cnt+1 WHERE url=?";
}
$stt -> close();
$stt2 = $db->prepare($sql);
$stt2 -> bind_param("s",$_SERVER['SCRIPT_NAME']);
$stt2 -> execute();
$db -> close();
?>
どこが問題でしょう? php.iniの設定の問題でしょうか?

608 :nobodyさん:2007/03/26(月) 11:01:41 ID:???
Fatal error: Class 'mysqli' not found
この一行目もわからん奴には無理

609 :nobodyさん:2007/03/26(月) 11:07:59 ID:???
tp://www.koikikukan.com/archives/2006/12/11-003811.php「小粋空間」
こちらを参考にRSSリーダーを自サイトにつけようとしています。
サイトはShift_JISなので、11.文字コードについて を見て
Shift_JISに対応したコードをつけたのですが、
文字が全部??????になってしまいます。
Shift_JIS環境で文字化けを起こさせないためにはどうすればいいでしょうか。

610 :609:2007/03/26(月) 11:10:29 ID:???
専用スレがあったのでそっちで聞いてきます。

611 :nobodyさん:2007/03/26(月) 11:11:02 ID:???
というかphpinfo()でなにがextensionで動作するか確かめてるの?

612 :虚弱PHP:2007/03/26(月) 11:29:32 ID:???
>>605
その環境ならmysqliじゃなくてmysqlなんじゃないかな。
PDO使うのが一番いいと思うけど。

613 :nobodyさん:2007/03/26(月) 11:50:31 ID:???
アナルにぶちこみたいけど、PHPでできる?



614 :605:2007/03/26(月) 12:01:20 ID:waVUTaj2
いろいろ間の抜けたことを書いたみたいですみません。
php.ini の設定を調べたところ、extension=php_mysqli.dll が抜けてたので
追加しました。
するとエラーの警告が先ほどのから
Fatal error: Call to a member function bind_param() on a non-object in C:\Program Files\Apache Group\Apache2\htdocs\php5_samples\my_sample\chap3\grhCnt\counterUp.php on line 4
に変わりました
今度こそ意味がわかりません どなたかアドバイスお願いします
>>612
どういうことでしょう? 普通にmysqlのselect_dbとかでやっていったほうがいいと
言うことでしょうか? PDOとかについての解説がこのスクリプトに載ってた本に
掲載されてないんです。。 初心者向きみたいな表紙なのに。
本買いなおそうかなぁ…

615 :nobodyさん:2007/03/26(月) 12:16:44 ID:???
>>614
c3_access_counterというテーブルは作ってあるのか

616 :605:2007/03/26(月) 12:18:33 ID:???
>>615
はい ちゃんと作ってあるんです

617 :nobodyさん:2007/03/26(月) 12:22:15 ID:???
エラーメッセージ読む気ない奴はプログラムするなよもう

618 :nobodyさん:2007/03/26(月) 12:23:04 ID:xIID0APd
XMLの初心者の質問です。すみません;;

simplexml_load_stringでパースしたデータを通常の配列みたいに
foreach($result as $key => $value){
print $key . $val;
}
で、やろうと思ったのですが… いまいち不発… $key(添え字)はこちらで指定しないと値が取れないのでしょうか?

619 :nobodyさん:2007/03/26(月) 12:31:20 ID:???
>>614
まずさ、エラー文読もうよ
そこに全部書いてあるよ

620 :nobodyさん:2007/03/26(月) 12:34:16 ID:???
>>618
やってみたらできたけど

621 :nobodyさん:2007/03/26(月) 12:38:25 ID:???
デジタルの仕事してて「いまいち」って言葉使うやつはどうかと思う

622 :nobodyさん:2007/03/26(月) 12:41:41 ID:???
>>618
PEARの「Unserializer」使うと幸せになれるかも。

623 :nobodyさん:2007/03/26(月) 12:43:18 ID:???
>>618
PHP4.x使っている、とかってオチじゃないよね?

624 :nobodyさん:2007/03/26(月) 12:50:45 ID:???
>>151って本当?

625 :nobodyさん:2007/03/26(月) 12:52:41 ID:???
半分くらい嘘

626 :nobodyさん:2007/03/26(月) 12:55:17 ID:???
ドメインの後だけはブラウザが自動補完するんじゃなかったっけ?

627 :nobodyさん:2007/03/26(月) 12:59:13 ID:xIID0APd
すまん;;;;; 連想配列一個見間違えてた;;;;;  foreach二つ重ねたらできますた;;;;

>620
ありがとうございます。お陰で自分の間違いに気がつきました
>621
む〜 まぁそだねぇ;; 添え字つけたら値が取れて、ただ自分の望んだ結果にはならなかったから、いまいち…w
>622
ありがとうございます。速攻勉強します
>623
そんなオチじゃなくてすんませn

しかし、XMLを見直すと、連想配列に配列4階層入ってる… これを汎用的に作るのかぁ… やヴぇぇなかなかしんどそうw

628 :nobodyさん:2007/03/26(月) 13:02:25 ID:???
解決した途端に態度が豹変するのは最悪だな

629 :nobodyさん:2007/03/26(月) 13:09:42 ID:???
>>624
>>151は言いたいことそのものは合ってるが例示だけ不適当

http://dailynews.yahoo.co.jp/fc と打ち込んでも http://dailynews.yahoo.co.jp/fc/ になってて…」

なら正しいかと
この場合なら /fc にアクセスされた時点で301を返して /fc/ に飛ばす

あと対処法がLocation:で飛ばすだけというのも正しい

630 :nobodyさん:2007/03/26(月) 13:13:06 ID:jn+p2f5C
>>614
インスタンス化していないクラスのメソッドを呼び出すとそんな感じのエラーが出る

初心者向けの本で、ソースがそのまま動かないのって腹立つよね。

別にあおりとかじゃなくて
そのエラーの意味が分からないのにデータベースに手を出すのは早すぎはしないか?
基本的なとこクリアーしてからのほうがいような

でも、基礎ってツマンナインダヨネ
なんか動くもの作った方がたのしいし

まあ、がんばってくれ

631 :605:2007/03/26(月) 13:53:23 ID:???
>>630
ご丁寧にありがとうございました やはり実力不足と実感しました。
以前に
mysql_connect("localhost","root","****");
mysql_select_db("memo");
$sql = "insert into momosample values (0, '$tourokubi', '$title', '$honbun', '$keyword')";
という形式でのmysqlとの連携の雑記帳アプリを(本を見つつ)作ったことが
あったのでトライしたんですが、
mysqli() のパターンになったとたんさっぱりわからなくなりました。
それをフォローする本をきちんと買いなおして勉強しなおします
ありがとうございました

632 :nobodyさん:2007/03/26(月) 14:14:41 ID:???
マニュアル見ればokだと思う

633 :nobodyさん:2007/03/26(月) 15:20:16 ID:FX6c9VSL
質問です
ttp://bright-zero.com/kakaku/svrchk/svc.cgi
こんな感じのスクリプトをPHPで書きたいのですが
サーバの生死チェックはどう書けばいいのでしょうか?

634 :nobodyさん:2007/03/26(月) 15:27:48 ID:???
>>633
サーバーの頭を叩けばいいよ

635 :nobodyさん:2007/03/26(月) 15:59:21 ID:???
>>633
ping

636 :nobodyさん:2007/03/26(月) 16:06:34 ID:9wWutSWX
アセンション
http://pc11.2ch.net/test/read.cgi/mac/1164727549/l50

637 :nobodyさん:2007/03/26(月) 16:53:20 ID:???
携帯サイトの構築をソース[EUC-JP]で書いているんですが絵文字がうまく渡ってきません。
どうすればわたってくるのでしょうか?
また、HTMLソースもEUCです。

携帯 EUC 等でググって見たんですがどうも分かりませんでした。


638 :nobodyさん:2007/03/26(月) 16:54:59 ID:???
SJIS -> EUCに変換した時点で絵文字は破壊されるよ

639 :nobodyさん:2007/03/26(月) 16:56:59 ID:???
>>637
>また、HTMLソースもEUCです。

静的な日本語すら表示できないんじゃないか?

640 :nobodyさん:2007/03/26(月) 17:06:45 ID:???
mb_outputで表示は問題ありません。
ただ絵文字はどうしても破壊されてしまうようです。
皆さんは携帯サイトを構築する時どうしていますか?

PHPソースとHTMLソースをSJISにするのは問題が起こるので避けたいです。

641 :nobodyさん:2007/03/26(月) 17:06:51 ID:???
そもそもhtmlレベルの質問は板違い。

642 :nobodyさん:2007/03/26(月) 17:11:01 ID:???
携帯なんてSJIS以外の選択肢ありえないだろ

643 :nobodyさん:2007/03/26(月) 17:11:31 ID:???
>>640
内部UTF-8
出力SJIS

644 :nobodyさん:2007/03/26(月) 17:12:32 ID:???
>>642は実に馬鹿

645 :nobodyさん:2007/03/26(月) 17:13:33 ID:???
>>641
HTMLレベルですか?
文句なしにPHP周りの質問だと思いますが…
ご存じないのかもしれませんが

646 :nobodyさん:2007/03/26(月) 17:17:27 ID:???
>>621さん
SJISだとsmartyが頻繁にエラー起こすので…

647 :nobodyさん:2007/03/26(月) 17:18:48 ID:???
>>645
EUCとSJISは不可能なんだよ
UTF-8おとなしく使え
エンコードする時sjis-winにするの忘れるなよ

648 :nobodyさん:2007/03/26(月) 17:59:21 ID:2dRnTrwn
こんにちは、初心者丸出しで申し訳ないのですが質問させてください。

携帯ユーザー用に名前変換サイトを作ろうとしています。
そこで、JAVAスクリプトではなくphpを使ったもので単語を変換させようと思っています。
forest pageのような仕組みにしたいのですが…
今PCサイト用に借りている鯖でそのような技はできるのでしょうか?
色々とキーワードを変えてググってみたのですがそのようなスクリプトを配布しているところは皆無でした…
お暇な方、回答よろしくお願いします。

649 :nobodyさん:2007/03/26(月) 18:15:01 ID:???
名前変換サイトって何?

650 :nobodyさん:2007/03/26(月) 18:34:20 ID:???
PHP5で関数内で数メガのデータのバッファを作成して、
それを戻り値で返してもメモリ的には参照だからおkって理解でよろしいですか?

651 :nobodyさん:2007/03/26(月) 18:35:36 ID:???
>>650
参照状態を維持する限りはおk

652 :nobodyさん:2007/03/26(月) 18:36:21 ID:???
>>650
関数内で循環参照さえしてなければね。

653 :nobodyさん:2007/03/26(月) 18:41:24 ID:???
>>649
気になってググってみた。腐女子機能だwこんなの人気あるんだなあ・・・
ttp://id7.fm-p.jp/book/name_make.php?uid=moondragon&dir=1&bnum=9&num=1&mem_pw=
単にFORMで名前送ってキャラ名書き換えるだけの話しw

654 :nobodyさん:2007/03/26(月) 18:58:30 ID:???
>>640
絵文字だけは、コードでデータ保持しといて、送出する時に変換すればいいじゃん。




655 :640:2007/03/26(月) 19:09:04 ID:???
>>647さん
DoCoMo絵文字はお教えいただいたやり方で変換まで出来ました。
ただauがんなぜかできません…
$moji = mb_convert_encoding($moji, 'sjis-win', 'UTF-8');
これをpackでチェックしているんですがうまく変換されず??になってしまうんです。
今一度知恵をお貸しください。

656 :647:2007/03/26(月) 19:13:35 ID:???
>>655
いや出来るからw

657 :640:2007/03/26(月) 19:27:40 ID:???
>>647さん
それができないんです… こんな感じなんですが
$str = mb_convert_encoding($str, 'sjis-win', 'UTF-8');
$str = unpack("C*", $str);
$len = count($str);
$buff = "";
$n = 1;

while($n <= $len) {
$ch1 = $str[$n];
$ch2 = $str[$n+1];
echo "?".dechex($ch1).dechex($ch2).';<br>';

if(($ch1 == 0xF3) || ($ch1 == 0xF4) || ($ch1 == 0xF6) || ($ch1 == 0xF7) ) {
if($opt){
$du = strval(dechex($ch1)).strval(dechex($ch2)) ;
$buff .= "?".strtoupper($du).";" ;
}
$n++;
}
// 2バイト文字の処理
elseif(((0x81 <= $ch1) && ($ch1 <= 0x9f) ) || ((0xe0 <= $ch1) && ($ch1 <= 0xfc))){
$buff .= pack("C", $ch1) . pack("C", $ch2);
$n++;
}
else
$buff .= pack("C", $ch1);
$n++;
}

return mb_convert_encoding($buff, 'UTF-8', 'sjis-win');

658 :nobodyさん:2007/03/26(月) 19:50:08 ID:???
シェル操作のほうが楽なので、PHPのexecでサーバのファイルを管理したいのですが、
PHPの関数でできることはなるべくそちらでやったほうがいいですか?

659 :nobodyさん:2007/03/26(月) 19:57:57 ID:???
教えてください。
まだアイディアレベルなので作っていないのですが、
下記のような事をphpで行いたい場合何かいい方法はないでしょうか?
サイトA
サイトB
サイトC
サイトD
に対して チェックボックスで選択した所にのみ
その他のinputやradioで入力したデータを
変換してpostしたいと思っているのですが何かいい方法はないでしょうか?

一応自分なりに考えてみたのですが、
1、いったんDBに格納する
2、cronで60秒ごとに新しいデータが入ってるかどうかをチェックする
3、2で新しいデータが入っていれば各サイトにデータを登録しに行く

以上 拙い文章ですがご指導おねがいします。


660 :虚弱PHP:2007/03/26(月) 20:20:15 ID:???
>>646
SJISでもデリミタをオーバーライドすれば大丈夫だと思うけど?
まあ、SJISは出力だけにしといた方がいいのは確かだけどね。

661 :nobodyさん:2007/03/26(月) 20:32:30 ID:???
>>659
文章が拙すぎてわからない

662 :nobodyさん:2007/03/26(月) 20:35:45 ID:???
JavaからPHPに入ってきた者です。

Javaの場合はCSVデータや画面の入力項目・設定ファイルなど、データ構造があるものはほぼなんでもクラスにして操作するのが基本ですが、PHPの場合は連想配列で済ますケースが多い気がします。
というか、今僕が引き継いでるソースが正にそうで、フィールドが20個以上あっても配列で操作していて違和感を感じます。
JavaでHashMapを使うときは相当の理由がないと嫌がられるんですよね。

ただ、PHPだとアクセッサ書くのも面倒だし(いちいち$thisとかありえない)、静的初期化子はなかったりで不便な点が多いこと、配列は配列でimprodeとかmergeとか色々便利なメソッドがあるので連想配列の意義も十分あると思います。

要するにPHPのスタイルがよく分かっていないのですが、値を格納する目的のみでクラスを作成することはほとんどないのでしょうか?


663 :nobodyさん:2007/03/26(月) 20:46:40 ID:???
>>662
そんなもんケースバイケースってのはおまえもわかってるんだろう
引継いだ担当に文句を言え
一般的な事を言うとPHPはJavaと違って純粋なOOPじゃなくネイティブな型もあるから
ハッシュで済ませれるものに無理にクラスを作成する必要がない
郷に従うためにPHPのライブラリやフレームワークのソースでも嫁

664 :nobodyさん:2007/03/26(月) 20:57:51 ID:???
>アクセッサ書くのも面倒だし(いちいち$thisとかありえない)、静的初期化子はなかったり
実装すればいいじゃん。そんなに配列嫌いなら。たいした手間じゃないでしょ

665 :647:2007/03/26(月) 21:02:33 ID:???
>>657
あのさ、そもそもEZweb絵文字の出力の仕方が間違ってると思うんだわ?
それくらい確認してから質問しろよw

666 :nobodyさん:2007/03/26(月) 21:15:46 ID:???
>>improdeとか
どういうメソッドなんだろう

667 :nobodyさん:2007/03/26(月) 21:21:26 ID:???
>>659
普通にPOSTリクエストを投げればいいんじゃないの?
なぜcron?


668 :nobodyさん:2007/03/26(月) 21:25:36 ID:???
わかりにくい文章を理解するとすれば
クライアントから直接じゃなくて、そのスクリプトが動いてるホストから投げたいんだろう。
でも、そんなのも簡単だから、もっと深遠な理由があるのかとも思うが。

669 :nobodyさん:2007/03/26(月) 21:43:50 ID:SGIdvIJM
サイトにRSSフィードを読み込んで表示させたいと思い、
Feed2jsを導入しました。
ところが、以下のような問題に当たり困っています。
どこをどうすればよいでしょうか。

貼り付けたいサイトの文字コード:Shift_JIS
サーバーOS:Linux
スクリプト改造箇所:RSSフィードのShift_JIS化
 →mb_convert_variables("SJIS","UTF-8",$rss); の追加

1)build.phpで作成したコードのうち、SRC以下のアドレスを
別のJava Scriptから読み出すと、日本語が全て「?????」となる。
アドレスバーにそのURLを打った場合も同様

2)build.phpで作成したコードをそのままHTMLファイルに貼った場合
「表示」などの漢字が文字化けする。
PerlCGIでShift_JISを使う場合と全く同じ化け方です。
CGIなら""を''にするとか\を入れるとか、回避方法がありますが、
PHPの場合はどうすればいいでしょうか。


670 :nobodyさん:2007/03/26(月) 22:00:43 ID:???
>>669
foreachでループさせてmb_convert_encodingしてみたら?

671 :nobodyさん:2007/03/26(月) 22:18:07 ID:???
>>669
面白そうなスクリプトなのでFeed2jsをダウンロードして試してみた。
のぞいた限り、サーバー側のヘッダの送出コードがUTFを明示指定してないだけだと思うよ。
たとえば
>アドレスバーにそのURLを打った場合も同様
時にブラウザの文字コード指定をUTFに変更してみて直るようだったら
そこらへんの問題だとほぼ特定できる。


672 :nobodyさん:2007/03/26(月) 22:39:52 ID:???
mb_detect_order('UTF-8,ASCII,UTF-7');
mb_convert_variables("SJIS","UTF-8",$rss);
として、UTFを強制選択させれば多分いけるはず。

【予想理由】
mb_detect_order未指定のばあい
$code = mb_detect_encoding($rss);
die($code);
を調べるとASCIIになる。=>mb_convert_variablesは単なるそれをpassするだけ



673 :432:2007/03/26(月) 22:42:22 ID:???
レンタル鯖で同じ症状に陥ったorz
my.ini編集できないからオワタwwwwww

674 :nobodyさん:2007/03/26(月) 22:50:46 ID:???
オワテねーよwwwwwwww
ユーズキャラクタセットすれwwwwww

675 :nobodyさん:2007/03/26(月) 22:54:50 ID:???
>>674
PHPはいけるが、MySQLは殆どダメなんだorz
kwsk教えてくだしあ

676 :nobodyさん:2007/03/26(月) 23:03:35 ID:???
MySQLもろくに使えないのにPHPはいけるか(プッ

677 :nobodyさん:2007/03/26(月) 23:10:12 ID:???
>>676
勘違いしないでくれ
MySQLよりはいけるってことだ

678 :nobodyさん:2007/03/26(月) 23:11:50 ID:???
どうみてもMySQLの問題じゃなくてPHPの問題だろ

679 :nobodyさん:2007/03/26(月) 23:14:45 ID:???
>>677
ほほぅ。小僧!貴様も中々言うようになったのぉ!

680 :nobodyさん:2007/03/26(月) 23:43:33 ID:???
こんな問題一人で解決出来ない様じゃレベルはたかが知れてるよw

681 :nobodyさん:2007/03/26(月) 23:44:24 ID:???
>>680
承知の上

682 :nobodyさん:2007/03/26(月) 23:48:18 ID:???
>>675
マチガッテタwwwwユーズじゃなかったwww
PHPで接続した直後にSQLを打つwwww
SET NAMES キャラクターセット名でwwwwww
てかここもうテンプレ要れようぜwwww
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ


683 :nobodyさん:2007/03/26(月) 23:50:36 ID:???
お前ら仲良いな

684 :nobodyさん:2007/03/26(月) 23:51:10 ID:???
>>682
あ〜、それやったけど、無意味だった・・・
phpMyAdminに入れるのか?

685 :nobodyさん:2007/03/27(火) 00:10:13 ID:???
>>684
ほほぅ。偉い自信だな?ん?

686 :669:2007/03/27(火) 00:40:13 ID:???
>>670
調べてやってみます。

>>671
エンコードを何にしても、「?????」のままです。
全角数字は半角数字に、「!」は「!」になっています。

>>672
やってみましたがダメでした。
#build.phpが吐き出すタグをそのまま貼った場合は大丈夫です。

687 :nobodyさん:2007/03/27(火) 00:41:56 ID:???
>>685
まぁね、心の中では「教えて下さい」って土下座してるがな

688 :669:2007/03/27(火) 00:46:10 ID:???
>>669
>別のJava Scriptから読み出すと
これで何をやってるかと言うと、
Shift_JISのHTMLファイルに、セレクトボックスを設置してあり、
そのセレクトボックスに複数のRSSを設定、選ぶとそのHTMLファイルの
特定の場所に表示させる形をとっています(この切り替えがJavaScript)。
これで表示させようとすると日本語が「??????」になってしまうのです。
この切り替え自体はうまくいっていて、「RSSリ○ティング」等似たような
サービスを利用した場合はこのような文字化けはありません。
ただし何も表示されないことがあるので、自鯖に・・・と・・・。

689 :nobodyさん:2007/03/27(火) 01:00:45 ID:???
*ここは初心者が戯れる憩いのオアシスです。

690 :nobodyさん:2007/03/27(火) 01:05:16 ID:???
>>687
ほら、今のうちに謝っちゃえよ?な?
今なら皆ゆるしてくれるかもしれないよ?ね?

691 :nobodyさん:2007/03/27(火) 01:06:45 ID:???
ごめんなさい、調子乗ってました、許してください

692 :nobodyさん:2007/03/27(火) 01:18:38 ID:yzdV0dte
ボタンを2つ配置した場合各ボタンで違う処理をしたいのですがどのようにすればいいのでしょうか?
ASP.NETから移行しようと現在勉強中です。
ASP.NETで言うと各ボタンヲクリックしたときのイベントをそれぞれ記述すればOKですがPHPですと
POSTで処理しようとするとどのボタンを押しても同じ処理が行われるみたいで困ってます。
そういった仕様なのでしょうか?
あるいは各ボタンのイベント処理はできるのでしょうか?

693 :nobodyさん:2007/03/27(火) 01:20:02 ID:z8CJxUFK
preg_matchの第三番目に書くやつは省略することができますか?
preg_match($pattern,$text)ってかいても大丈夫でしょうか?

694 :nobodyさん:2007/03/27(火) 01:20:59 ID:???
やってみれば?

695 :nobodyさん:2007/03/27(火) 01:27:49 ID:???
四角い仁鶴、いやカッコがあれば省略しておk

696 :nobodyさん:2007/03/27(火) 01:36:31 ID:???
>>692
ヒント:押すボタンによって格納される値が変わる

697 :nobodyさん:2007/03/27(火) 01:43:09 ID:???
>>694
とっくにやったよ氏ね

>>695
ありがとうございます

698 :nobodyさん:2007/03/27(火) 02:02:20 ID:???
>>692
<input type="submit" name="btn1" value="submit1">とすりゃ$_POST['btn1']に"submit1"が入る。


699 :692:2007/03/27(火) 02:08:05 ID:???
>>696のヒントを元に調べても判らず、もう一度ソースを見ていたら試していない事をぼんやりと思いつき
なんとなくイメージしたものをやってみたら出来た
そしてお礼を言おうとこのページを開いたら>>698と同じだった
いまいち自信がなかったのですがこれで安心して先に進めます。

各位ありがとう御座いました。

700 :nobodyさん:2007/03/27(火) 02:38:10 ID:tdPy0bax
自分で書いてみたCGIを鯖にUpしないでプレビューしてみたいんですが
何かいいソフト無いでしょうか
くだらない質問ですみませんorz

701 :nobodyさん:2007/03/27(火) 02:41:51 ID:???
つXAMPP

702 :nobodyさん:2007/03/27(火) 02:44:23 ID:???
>>701
ありがとうございました。

703 :nobodyさん:2007/03/27(火) 02:52:23 ID:???
曜日と日付がわかっているデータから2007年以前で一番近い年数を割り出すのに良い方法ってないでしょうか?
いろいろ試してるんですがなかなか上手くいかなくて・・

704 :nobodyさん:2007/03/27(火) 03:04:05 ID:???
>>703
37回のループ

705 :nobodyさん:2007/03/27(火) 03:19:28 ID:???
>>704
やはりその方法しかないですかね・・
データが多かったので出来ればループは避けたかったのですが、
2007から1970まで戻って曜日が一致したらループから抜け出せばそんなに重くならなさそうなのでその方法でやってみます。
ありがとうございました。

706 :nobodyさん:2007/03/27(火) 03:26:34 ID:???
>>698
それだとボタンの表示テキストが不自由だけどな。

     [登録]

だったらvalue="登録"にしないといけない。
そしておまえらの大好きな文字コードの問題にぶちあたるかもね。

707 :nobodyさん:2007/03/27(火) 03:36:43 ID:???
PHPじゃないけど今CentOSってデフォルト文字コードがEUCじゃなくて
UTF-8になってるのね。
ということはやっぱりRedHatもか?

708 :nobodyさん:2007/03/27(火) 04:14:38 ID:???
VineやDebianがモタモタしてるだけ

709 :nobodyさん:2007/03/27(火) 07:38:00 ID:???
>>707
CentはRHLだぞ

710 :nobodyさん:2007/03/27(火) 10:32:11 ID:???
何か最近、Shift-JISのサイトに接続したら、
ブラウザが勝手にエンコードをUTF-8にしてしまう・・・。
なぜだ・・・

711 :nobodyさん:2007/03/27(火) 10:40:09 ID:???
と思ったら設定ミスでした。。。自己解決しました。

712 :nobodyさん:2007/03/27(火) 10:40:23 ID:???
そんな設定ねーよwwwwwww

713 :nobodyさん:2007/03/27(火) 10:44:17 ID:???
>>698
俺はvalueの値に縛られるのが嫌なんで、
無い頭で考えて結局こうしてる。

<input type="submit" name="submit[btn1]" value="登録">
<input type="submit" name="submit[btn2]" value="削除">

で、list($submit,) = each($_POST['submit']) で何が押されたかを取得。

714 :nobodyさん:2007/03/27(火) 10:51:05 ID:???
なるほど、そういう書き方もあるんだね

715 :nobodyさん:2007/03/27(火) 10:57:02 ID:???
list($submit,) これのカンマって何?

716 :虚弱PHP:2007/03/27(火) 11:00:36 ID:???
>>692
一応指摘しておくと、PHPというよりHTMLの仕様の問題ね。

HTMLだけでやるなら、
ちとトリッキーだけど>>713の方法がいいんじゃないかなぁ。
最近はJavaScriptでなんとかする場合が多いみたいね。

717 :nobodyさん:2007/03/27(火) 11:58:28 ID:???
>>715
打ち間違えぐらい多めにみろよ。

718 :nobodyさん:2007/03/27(火) 12:03:11 ID:???
PHPMyAdminのどこにSET NAMEかけばいいんだ?

719 :715:2007/03/27(火) 12:03:23 ID:???
いや違う、eachとか俺よく分からんかったので、
Perlの$_みたいに省略とか、何か$submitの値が変わったりとかあるのかとオモタ

720 :nobodyさん:2007/03/27(火) 12:09:01 ID:???
XML使うやつって、何でみんなsimplexml_load_stringとかで一度パースしてオブジェクトに入ってるのを
更に配列に入れようとするん?
そのままxmlオブジェクトのまま扱えばいいのに…。連想配列使えるし、不便は無いような…。


721 :nobodyさん:2007/03/27(火) 12:11:56 ID:???
やり方なんて千差万別

722 :718:2007/03/27(火) 12:30:51 ID:???
接続直後に「SET NAMES utf8」で解決しました。
ですが仕組みがわかりませんorz

723 :nobodyさん:2007/03/27(火) 12:33:34 ID:???
スレ違い

724 :nobodyさん:2007/03/27(火) 12:49:16 ID:K1B1Chgw
Webデザイン向けじゃなくて
Webプログラマ向きの月刊誌とかないかな?

725 :nobodyさん:2007/03/27(火) 13:18:02 ID:???
>>722
ちょwww解決したならwww自分で調べろよwwwww
いつまでたってもわかんないぜ?wwww

726 :nobodyさん:2007/03/27(火) 13:49:49 ID:z8CJxUFK
外部から2ちゃんに書き込めるスクリプトって書けますか?

727 :nobodyさん:2007/03/27(火) 13:54:45 ID:ibaBIQ7f
PHPでRSSを取得しようとしている者です。
レッツPHPさんの新着ブロガー[http://loglog.jp/~php/net/rss/rssup.php.txt]を参考に作っているのですが、
拡張子が .xml , .rdf のRSSは取得できるのですが、それ以外のRSSが上手く取得できません。
例:http://mp.i-revo.jp/rss.php?user=kanako
この場合、どのようにすれば取得できるようになるでしょうか?

728 :nobodyさん:2007/03/27(火) 14:03:55 ID:???
ユーザー任意の定義でソートする方法がわからないので教えてください。

$fruit = array('りんご'・'バナナ'・'みかん'・'メロン'・'スイカ');

といった数字ではない配列があったとき、
任意の順番に常にソートするにはどういったコードを書けばいいんでしょうか?

たとえば必ず

みかん、バナナ、メロン、りんご、スイカ

といった具合にみかんが一番最初で、最後がスイカのように、数字や文字列ではないソート
方法の設定の仕方を知りたいんですが・・・・

usort関数を調べてみたんですが、よくわからないので教えてください。

729 :nobodyさん:2007/03/27(火) 14:34:29 ID:???
class hoge
{
 public $data;
 function __construct($data) {
  $this->data = $data;
 }
}
class foo extends hoge
{
 function __construct($data) {
  parent::__construct($data);
  echo parent::data;
 }
}
$obj = new foo();

これでparent::dataのところで$this->dataの値をechoしたいのですがどうすればいいでしょうか?

730 :nobodyさん:2007/03/27(火) 14:35:01 ID:???
>>728
usortのサンプルを見れば分かるだろ

というか、そのソートのルールは何だいったい
そのルールを比較関数内に記述しろ


731 :nobodyさん:2007/03/27(火) 14:37:03 ID:???
>>729
無理

hoge::_construct() 内で echo するしかない

732 :729:2007/03/27(火) 14:39:08 ID:???
PHPには失望しました…

733 :nobodyさん:2007/03/27(火) 14:42:48 ID:???
>>729
何気ないこの1レスが
PHP衰退の一翼を担うであろうことを、
まだ誰も知らない…

734 :nobodyさん:2007/03/27(火) 14:49:30 ID:???
>>729
あれ、普通にecho $this->dataじゃだめなの

735 :729:2007/03/27(火) 14:52:46 ID:???
>>734
729じは例として書いたので求めていることとは若干違います。
やりたいのは$this->dataを継承先の変数で持ちまわしたいのです…
publicだからそのまま持ちまわせばいいだけのことなんですけどね。。
ただ、$this->dataはバッティングしているから面倒くさくて

736 :nobodyさん:2007/03/27(火) 14:55:22 ID:???
>>735
だったら継承させる意味なくない?

737 :虚弱PHP:2007/03/27(火) 15:18:27 ID:???
>>735
よくわかんないけど、$dataをVOにしてSingletonで実装するのがいいんじゃないのかな?

738 :nobodyさん:2007/03/27(火) 16:26:19 ID:???
>>728
ハッシュにして優先順位を数値で付けるのが楽かな

739 :nobodyさん:2007/03/27(火) 17:36:26 ID:???
>>735
PHP は強制的にオーバーライドするから、基底クラスの
プロパティと派生クラスのプロパティが一致してしまう
継承はあきらめて、委譲するしかないだろう





740 :nobodyさん:2007/03/27(火) 17:40:00 ID:???
>>738
なるほど・・・やってみます。ありがとうございました。

741 :nobodyさん:2007/03/27(火) 17:41:42 ID:???
>>739
C++でもメンバ関数はvirtual指定できるけど、それ以外は
継承されるから、>>729 が求めるようなことを実現できる
言語って何?

perl ならできそうだな

742 :nobodyさん:2007/03/27(火) 17:58:21 ID:enVMrSuR
レンタルアクセス解析作るんですけど、データの保存方法で悩んでいます。
書き込み時にサーバーにかかる負荷が小さいのは DB、テキスト形式のどちらでしょうか。
自鯖で運営するので、Apacheからログを生成するという方法もあります。

ご教授よろしくお願いいたします。

743 :nobodyさん:2007/03/27(火) 18:15:41 ID:ABEOTI8A
コードの質問です。
取ってきた日付データ : "03/27/2007"
欲しい日付データの形 : "2007-03-27"
list使って最初分解しましたが、最初の「0」が抜けちゃって、まぁこれでいいかと作りました。何となく気持ち悪いので、もっと短く素敵に書きたいなと。
皆さんならどうスマートに書きますか?

漏れのコード↓
$date = "03/27/2007"
$date_array = explode("/", $date);
$date = $date_array[2] . "-" . $date_array[0] . "-" . $date_array[1];

744 :647:2007/03/27(火) 18:32:44 ID:???
$date = "03/27/2007"
list($month, $day, $year) = sscanf($date, "%02s/%02s/%04s");
$date = sprintf("%04d-%02d-%02d", $year, $month, $day);

745 :虚弱PHP:2007/03/27(火) 18:37:32 ID:???
>>743
print date('Y-m-d', strtotime("03/27/2007"));

746 :nobodyさん:2007/03/27(火) 18:42:22 ID:sKfmcrY8
php勉強し始めて4ヶ月
当初はどうしても作りたいサイトがあり、
それを目標にphpの勉強を頑張ってきました
そして先週、ようやく念願のサイトが完成しました

ド素人だった俺にアドバイスをくれた皆さん、
ありがとうございました

747 :nobodyさん:2007/03/27(火) 19:02:06 ID:ci3d2Flj
>>742
Apacheのログから解析が一番問題が少ない


748 :nobodyさん:2007/03/27(火) 20:15:31 ID:???
>>726
http://www.monazilla.org/document/

749 :nobodyさん:2007/03/27(火) 20:18:46 ID:ABEOTI8A
>744
ありがとうです。そうかsscanf($date, "%02s/%02s/%04s"); の%の部分を間違えていたのですね。感謝です。

>745
お見事です。完璧です。使わせて頂きます。ありがとうです。

お二人とも本当に感謝です勉強になりました


750 :nobodyさん:2007/03/27(火) 20:45:51 ID:OGy0aBky
allow_url_fopen = Offにしてあるレンタル鯖なのですが、
どうすれば他鯖のファイルを取得できますか?
申し訳ないですが、ご教授ください

751 :669:2007/03/27(火) 20:58:04 ID:???
>>JavaScriptからの読み出しで「?????」になるRSS
この件は解決しました。Build.phpが吐いたコードの一部の文字が
おかしかったせいでした(^^;

で・・・もう一つの問題。
Feed2jsを貼っているサイトはShift_JIS。
「表示」などの文字がCGIと同じ化け方をします。
ググったところ解決法がいくつかあったのですが・・

1)サイト全体をEUC-JPかUTF-8にする
不可。ファイル数多すぎて対応できませんorz
2)Magic Quote GPCをオフにする
そんな権限がありません。
3).htaccessでMagic Quote GPCをオフにする
やってみましたが文字化け治らず。
機能限定されている可能性あり。
4)stripslashesで「¥」を取り除く

4)のやり方を試そうと思ったのですが、どこに書けばよいのでしょうか。
読み込んだRSSフィードをHTMLに直す部分につけてみても変わらないような。

752 :nobodyさん:2007/03/27(火) 21:00:03 ID:GDh/nu2X
echo でSoftBank絵文字を吐き出したいのですが「$G!」とかがPHPでエラーを起こします。
echo で出力する方法はないんでしょうか?

753 :nobodyさん:2007/03/27(火) 21:03:21 ID:???
>>752
\

754 :752:2007/03/27(火) 21:11:19 ID:GDh/nu2X
エスケープしても上手く表示できません…

755 :nobodyさん:2007/03/27(火) 21:20:49 ID:mmQCc+Oh
IIS6.0 + PHP5.2.1(isapi版)で、別のWindowsマシン上の共有フォルダからデータを
読み込みたいのですがファイル操作系の関数で軒並みエラーが帰ってきます。

コマンドライン上でphp.exe -f test.phpなどと起動した場合は正常に動作するのですが、
IIS上に配置して、http://localhost/test.phpなどとするとfile_existsなどの操作で失敗します。

共有フォルダをz:ドライブに割り当てて、アクセス権もEveryoneがフルコントロールと
してあるのでパーミッションも問題ないと思うのですが何がわるいのでしょうか?

<?php

if ( file_exists("z:/test.txt") ) {
print("ok\n");
} else {
print("error\n");
}

?>

756 :nobodyさん:2007/03/27(火) 21:23:38 ID:???
>>752
echo '$G!';

757 :752:2007/03/27(火) 21:52:53 ID:GDh/nu2X
>>756
シングルクォーテーションでしたか。 盲点でした。
絵文字の始点と終点を表す0x1Bと、0x0fが原因かと思ってましたが、実は$が含まれていたからなんですね、ありがとうございます。

758 :756:2007/03/27(火) 21:57:20 ID:???
適当に言ったら大当たりかよ

759 :nobodyさん:2007/03/27(火) 23:05:23 ID:???
>>755
http://jp2.php.net/manual/ja/function.file-exists.php

760 :nobodyさん:2007/03/27(火) 23:31:47 ID:3VONG8xJ
PHPでのソケット通信のサンプルスクリプトを
提供している解説サイトとか無いでしょうか?
公式以外で

761 :nobodyさん:2007/03/27(火) 23:35:24 ID:???
>>760
公式のサンプルの何が不満なんだ

762 :nobodyさん:2007/03/27(火) 23:37:11 ID:???
>>760
http://www.devshed.com/c/a/PHP/Socket-Programming-With-PHP/

763 :760:2007/03/27(火) 23:50:39 ID:???
>>760
公式読んで理解できる程、頭良く無いんですよ
ソケット通信に特化してるPHPの書籍があれば良いんですけどね
無いんだよなぁ
書籍でお勧めありませんか?

>>761
d。日本語サイトのところも教えてよ

764 :nobodyさん:2007/03/28(水) 00:13:22 ID:???
お口がひん曲がってるなw

765 :nobodyさん:2007/03/28(水) 00:30:13 ID:???
POST/GET値のサニタイズ関係の関数かクラスでお勧めありますか?

766 :nobodyさん:2007/03/28(水) 00:34:50 ID:???
ない

767 :nobodyさん:2007/03/28(水) 00:45:44 ID:???
>>765
俺の自作クラス

768 :698:2007/03/28(水) 01:31:40 ID:???
>>706
valueなんて読まんよ。
<input type="submit" name="btn1" value="アクションA">
<input type="submit" name="btn2" value="アクションB">

if(isset($_POST['btn1']))
 ActionA();
else if(isset($_POST['btn2']))
 ActionB();

ただ、type="image" の時そのままの名前で取れない。

769 :nobodyさん:2007/03/28(水) 02:25:18 ID:???
レンサバのPHPのバージョンが4.3.Xと指定されています。
PHP5.2や4.4は使えないってことですか?

770 :nobodyさん:2007/03/28(水) 02:56:17 ID:???
>>769
レンサバ業者に聞いてください

771 :nobodyさん:2007/03/28(水) 03:08:21 ID:???
お前ら日ごろの感謝を忘れてないか?
ということで毎日の業務・趣味で一番お世話になってる関数・メソッド・etcを挙げようぜ

俺はもちろんecho

でも彼女にするならprintかな?

772 :nobodyさん:2007/03/28(水) 03:12:19 ID:???
馴れ合いは他所でやれ

773 :nobodyさん:2007/03/28(水) 03:37:05 ID:zfmCNWsQ
>>762
safe-modeにはしていないのですが。
あと、コマンドライン上では、ドライブにマウントすればUNCではなくても問題なく動きますし。
どうなっているのでしょうか?

774 :nobodyさん:2007/03/28(水) 07:38:21 ID:???
質問です。
今phpでカウンタを作っているのですが、指定したホストからのカウントは数えないと言うようにしたいのですが
どの様にすればよいでしょうか?
最終的には$new_hostに入っている物が$hostと違うホスト場合にカウントされる様になっています。
抜粋ですが以下の通りです。

$local = "192.168.0.10";
$temp_host = gethostbyaddr(getenv("REMOTE_ADDR"));
if ($temp_host != $local) {
$new_host = $temp_host;
}
if ($new_host != $host) {
$total++;
}

と言う様に追記してみたのですが192.168.0.10を持つマシンからアクセスしてもカウントが進んでしまいます。
アドバイスよろしくお願いします。

775 :nobodyさん:2007/03/28(水) 08:05:33 ID:???
>>774
print getenv("REMOTE_ADDR");
print $temp_host;

してみれば分かるんじゃね

776 :nobodyさん:2007/03/28(水) 08:14:22 ID:???
>>774
あと $host に何が入ってるのか分からないから決定的なアドバイスがしようが無い

777 :nobodyさん:2007/03/28(水) 09:23:14 ID:???
>>775,776
レスありがとうございます。
条件分岐の記述としては間違いは無いでしょうか?
javaの経験はあるのですがphpは初めてなもので少々心配です。

$hostには前回のホストが入ることになります。
$host = gethostbyaddr(getenv("REMOTE_ADDR"));
と言うのを処理の最後(評価が終わった後)に行っている感じです。

778 :nobodyさん:2007/03/28(水) 09:26:00 ID:???
連投すみません。
$hostは$host = $temp_host;の方が適切ですね。
やり方がスマートじゃないのは初心者なのでご容赦を。

779 :nobodyさん:2007/03/28(水) 09:31:36 ID:???
これだけじゃだめなの?↓

$local = "192.168.0.10";
if (getenv("REMOTE_ADDR") != $local) {
  $total++;
}

780 :nobodyさん:2007/03/28(水) 09:32:49 ID:???
>>774
最後に
print $new_host;
print $host

してよく考えてみろ

781 :虚弱PHP:2007/03/28(水) 10:07:05 ID:???
俺は$_SERVER派なんだけど、
どっち使った方がいいとかってあるのかな?

>>777
ひとまず、デバッグプリントは入れてみたの?

782 :nobodyさん:2007/03/28(水) 10:16:43 ID:???
>>781
自分も$_SERVER使うな。getenv()はISAPI依存しちゃうから

783 :nobodyさん:2007/03/28(水) 11:37:57 ID:???
>>781
関数より変数の方が早そうな気はする
まあ差があっても誤差範囲だろうけど

784 :nobodyさん:2007/03/28(水) 11:58:28 ID:OQ5Djqwf
apacheのaddtypeにPHPの拡張子が付くファイルをPHPスクリプトに
認識させるための設定をしたのですが、

テキストエディタに〜.phpで保存すると
〜.php.text
とテキストファイルで保存されてしまいます。
拡張子を.phpで保存するのにはどうすればいいのか教えていただけないでしょうか?



785 :nobodyさん:2007/03/28(水) 12:04:39 ID:???
OSも書かずに質問とな

786 :nobodyさん:2007/03/28(水) 12:13:04 ID:???
>>784

"index.php"

"←でファイル名をくくる

787 :nobodyさん:2007/03/28(水) 12:14:09 ID:???
>>785
こんな初歩的な質問にOSなんて聞かなくても答えられないとね

788 :nobodyさん:2007/03/28(水) 12:40:14 ID:???
>>784
っつかそれ、PHPとは何の関係もないんじゃない?

789 :nobodyさん:2007/03/28(水) 12:42:12 ID:???
下らなすぎて悪いんだが、整数の1~100までの範囲で条件を指定することって可能?

790 :790:2007/03/28(水) 12:45:27 ID:???
やっぱいいや、他いって聞いてくる

791 :nobodyさん:2007/03/28(水) 12:51:57 ID:???
>>787
Windowsしか知らない人発見

792 :nobodyさん:2007/03/28(水) 13:01:31 ID:???
apacheで.textをPHPでパースするように設定すればおk

793 :nobodyさん:2007/03/28(水) 13:06:06 ID:???
>>787
(ノ∀^)アチャー

794 :nobodyさん:2007/03/28(水) 13:09:20 ID:???
そんな糞OSなんて一つしか無いって話だろ

795 :nobodyさん:2007/03/28(水) 13:18:51 ID:???
自演がはげしいな

796 :nobodyさん:2007/03/28(水) 13:32:19 ID:YTytDMNb
>>786
ありがとうございます。
PHPに関する情報が表示されました。
ここから非常に楽しみです。

PHPは、モジュール追加するだけで面倒な文字コード統一とか
自動でやってくれるんですね。
すごくいいと思った。
Perlなんてやってらんね。
面倒臭い。

797 :nobodyさん:2007/03/28(水) 13:43:14 ID:???
>>795
>>796
           ,, -──- 、._
        .-"´         \.
        :/   _ノ    ヽ、_ ヽ.:
        :/  o゚((●))  ((●))゚oヽ:
      :|       (__人__)    |:
      :l        )  (      l:
      :` 、       `ー'     /:
       :, -‐ (_).        /
       :l_j_j_j と)丶─‐┬.''´
          :ヽ   :i |:
             :/  :⊂ノ|:

798 :nobodyさん:2007/03/28(水) 13:51:44 ID:ztAHNf2V
aaa.com/form.htmがあってbbb.com/kakikomi.phpにGET属性でデータを送ると上手く
いきません。外部URLからのデータ受信にPHP側で何か設定しないとダメなのでしょうか?
詳しい方よろしくお願い申し上げます。

799 :nobodyさん:2007/03/28(水) 13:53:51 ID:???
1とか整数の最初に0をつけて「01」としたいんですが、どうすればいいんでしょうか

800 :nobodyさん:2007/03/28(水) 13:55:19 ID:???
form.htm側のform内のソースと、kakikomi.phpのソースをさらせ

801 :nobodyさん:2007/03/28(水) 13:56:07 ID:???
>>799
printf

802 :nobodyさん:2007/03/28(水) 14:04:48 ID:???
<form action="http://bbb.com/kakikomi.php" method="get">...</form>
kakikomi.php

print_r($_GET);

803 :nobodyさん:2007/03/28(水) 15:23:04 ID:ztAHNf2V
FORM側は他の業者がやっていまして詳しくはわかりませんが、
ざっとソースを見たところGET属性でmode=registを記入して
submitボタンを使って送信するソースなのですが
こちら側の
switch($_GET['mode']){
case 'confirm':
$dat=confirm_play();
break;
case 'regist':
$dat=registration();
break;
default:
$dat=form($_GET['mode']);
}
のこのソースでregistに入らずdefaultに入ってしまいます。
考えられるのはGETでデータが送られてないのかなーと思いまして。
どうなのでしょう?

804 :nobodyさん:2007/03/28(水) 15:31:45 ID:???
本家ミラーのマニュアルでは見つからないんだけど、
これってエラー出る?

http://phpdoc.makizou.com/migration52.incompatible.html

abstract static なクラス関数が削除されました。

ちょっとした手違いで、PHP 5.0.x および 5.1.x では abstract static な関数をクラス内で定義できてしまっていました。PHP 5.2.x では、 これはインターフェイス内でのみ定義できるようになりました。


<?php
abstract class foo {
abstract static function bar();
/* Strict Standards: Static function foo::bar()
should not be abstract in filename on line n */
}
?>

805 :nobodyさん:2007/03/28(水) 15:40:00 ID:???
>>803
まずは $_GET を print_r してみる。

806 :nobodyさん:2007/03/28(水) 16:34:37 ID:???
昔このスレでCGIとして動作させた場合、
includeが使えないとか書いてたのですが、
今ふと思い出してやってみたら使えました。
普通に使えますよね?

807 :nobodyさん:2007/03/28(水) 16:58:16 ID:1Rz5XCWK
PHPでUNIXとWINDOWSを見分ける方法を教えてください。

808 :nobodyさん:2007/03/28(水) 17:01:44 ID:???
phpinfo見れ

809 :nobodyさん:2007/03/28(水) 17:03:11 ID:???
PATH_SEPARATOR見るとか

810 :nobodyさん:2007/03/28(水) 17:13:00 ID:Wm7Ais9i
PHP5.1.6のクラスについて質問なのですが、
<?php
abstract class testAbstractClass{
private $testVar;
public function testAbstractClass($testVar){
$this->testVar=$testVar;
}
}

class testConcreteClass extends testAbstractClass{
public function testMethod(){
var_dump($this);//object(testConcreteClass)#1 (1) { ["testVar:private"]=> string(5) "aiueo" }
var_dump($this->testVar);//NULL
echo $this->testVar;//出力無し
}
}

$obj = new testConcreteClass("aiueo");
$obj->testMethod();
?>

このコードでvar_dump($this)の出力ではちゃんとtestVarの値が入っている事が確認出来るのに
$this->testVarがNULLになる理由が分からないのですが、なぜでしょうか?
また、これはPHPの仕様なのか、オブジェクト指向言語全般でそうなのかどちらでしょうか?

811 :nobodyさん:2007/03/28(水) 17:19:38 ID:???
private って書いてあるよ?
getter で取得して出力しなきゃいけないんじゃない?

812 :nobodyさん:2007/03/28(水) 17:20:03 ID:???
>>803
GETだったらURL見れば一発じゃん

813 :nobodyさん:2007/03/28(水) 17:20:51 ID:???
>>812
AjaxのUpdaterとかURLじゃ分からない場合だってあるだろ

814 :nobodyさん:2007/03/28(水) 17:39:49 ID:Wm7Ais9i
>>811
ゲッター使えば出力出来るのは分かってる。
そこで疑問になるのは、
testVarは、
testAbstractClass::testVarとして存在しているだけで、
testConcreteClass::testVarとしては存在していないということなのか?ということ。
じゃあvar_dump($this)とした時になんで自分のメンバのようにでてくるの?と不思議になる。
継承した場合の挙動ってオブジェクト指向言語一般的にこれで正しいの?

815 :nobodyさん:2007/03/28(水) 17:44:44 ID:???
ってprotectedにしろって話だね
失礼しました。

816 :nobodyさん:2007/03/28(水) 17:45:04 ID:???
>>814
正しいよ
privateは継承したクラスの中からはアクセスできない
継承したクラスの中でも使いたかったらprotectedにする
var_dumpは単純にオブジェクト全てダンプするから
privateなメンバもダンプされる、var_dumpが特殊だと思えばいい

817 :nobodyさん:2007/03/28(水) 17:46:55 ID:???
>>813
はぁ?

818 :nobodyさん:2007/03/28(水) 17:52:59 ID:???
何をイライラしてんだか

819 :nobodyさん:2007/03/28(水) 17:56:56 ID:???
>>813
クマー

820 :806:2007/03/28(水) 17:59:00 ID:???
馴れ合いしてないで早く答えてくれ

821 :nobodyさん:2007/03/28(水) 18:06:27 ID:???
そもそもCGIに興味が無い

822 :nobodyさん:2007/03/28(水) 18:09:04 ID:???
>>475の意味がやっと理解できた。

CGIモードでもincludeできるよ。
セーフモードだとinclude出来るディレクトリが制限されるよ。

823 :806:2007/03/28(水) 18:22:56 ID:???
>>822
>セーフモードだとinclude出来るディレクトリが制限されるよ。
なるほど。ありがとうございます。
どうやら読み間違えてたようです。

824 :nobodyさん:2007/03/28(水) 21:28:41 ID:???
>>821
興味がないってかセーフモード下ではCGIじゃないと使えない
関数なんかもいっぱいあるわけで、
レンタル鯖とかならCGIとして動作させないといけない事情も出てくる。

825 :nobodyさん:2007/03/29(木) 01:00:26 ID:???
PHPってHTTPリクエストが終了した時点で情報が破棄されますよね?
ということはシングルトンパターンでデータベース接続クラスを作った
としても、リクエスト終了毎に毎回データベースとの接続が切られて
いるから、PHPでのシングルトンパターンの実装は意味が無いので
しょうか?

826 :nobodyさん:2007/03/29(木) 01:07:30 ID:???
>>825
Apacheにはリソースプールというのがあって、そこにDB接続を残しておける
PDOなんかだと簡単に出来るハズ

827 :825:2007/03/29(木) 01:26:18 ID:m+IoRuW8
sageてました。すみません。

>>826
おぉ!さすがアパチェ!
コネクションをプーリングできるということはPDOでなくても
ネイティブ関数でも出来そうですね!

PDOは凄い便利だけどMySQLで使うと折角の高速SELECT
の効果が薄くなってしまうのが辛いですね・・・

828 :nobodyさん:2007/03/29(木) 03:25:29 ID:???
osCommerceをインストールしましたが日本語が
表示しません。
PHP3環境からPHP4に移行したいのですが
方法を教えてください。

829 :nobodyさん:2007/03/29(木) 08:35:06 ID:???
>>827
mysqlは接続も速いよ

830 :nobodyさん:2007/03/29(木) 11:44:56 ID:???
MVCモデルで作ってみようとコントローラの中でactionを基に各ページへの分岐を書いたんだけど、
そのページの中での表示や登録や確認はモデルの中で分岐していいの?それとも全部コントローラでやるべき?

前者だと中途半端で変わらないような気もするけど
後者だとswitchの中にswitchが入ったりしてコントローラが複雑になりすぎるんじゃないかと思いまして。

831 :nobodyさん:2007/03/29(木) 12:53:01 ID:???
>>830
actionを基に各ページへの分岐ってさぁ、普通コントローラじゃなくてディスパッチャの
仕事じゃないのかな。

で、各ページっていうのがコントローラのことじゃない?


832 :nobodyさん:2007/03/29(木) 12:56:04 ID:???
preg_match_all("/^([a-zA-Z0-9]+)\.txt$/", $hoge_data[$i], $match_list);
$hoge_data[$i] = $match_list[1][0];


これをすると、undefined offset 0 というエラーログが残ります。

$match_list[1][0] が存在しない、という意味かと思いますが、
どうすれば修正できるでしょうか?



833 :nobodyさん:2007/03/29(木) 13:04:07 ID:???
>>831
そうなんですか?
ディスパッチャとは初耳でした
どこか参考になるサイトはありませんか?

834 :nobodyさん:2007/03/29(木) 13:16:50 ID:???
>>832
多分
$match_list = array();

つかエラーレベル高くない?


835 :832:2007/03/29(木) 13:42:45 ID:???
>>834
だめでした、同じエラーが出ます orz

836 :nobodyさん:2007/03/29(木) 13:44:22 ID:???
そもそも$match_list[1][0]ってなんやねん
var_dumpしてみろ

837 :虚弱PHP:2007/03/29(木) 13:48:52 ID:???
>>830
俺はmodule&actionの2パラメータで分岐。
moduleとクラスを関連付けて、actionとメソッドを関連付け。
ビジネスロジックは全部メソッドに。
可変クラスと可変関数使ってるから、かなりシンプルになってる。
実際は複数アクションを繋げて実行したい場合もあるから
アクションチェーンみたいなの実装してて、
モデルとコントローラーの分かれ目は曖昧になっちゃってるね。

↑もちろんこんな実装がいいのかは不明w

838 :nobodyさん:2007/03/29(木) 14:25:15 ID:???
if (isset($match_list[1][0])) {
$hoge_data[$i] = $match_list[1][0];
}

839 :832:2007/03/29(木) 14:27:15 ID:???
>>838
それもやってみたんですよ、、、、
でも今度は if (isset($match_list[1][0])) {
の行で同様のエラーが発生するんです・・・・

840 :nobodyさん:2007/03/29(木) 14:27:17 ID:???
$hoge_data[$i] = isset($match_list[1][0]) ? $match_list[1][0] : null;

841 :nobodyさん:2007/03/29(木) 19:03:41 ID:???
ひとつのphpの中でforeachいっぱい使う場合
foreach($array as $key => $value )
の$keyや$valueって名前かぶらないほうがいいのかな?

842 :nobodyさん:2007/03/29(木) 19:36:46 ID:???
被ったらえらいことになるやん?

843 :nobodyさん:2007/03/29(木) 20:09:42 ID:???
>>841
別に平気だけど可読性が低下する

844 :nobodyさん:2007/03/29(木) 22:14:05 ID:???
判ってない奴発見=>>842


845 :nobodyさん:2007/03/29(木) 22:17:32 ID:???
ああごめん多重配列を回す場合の話かと思った

846 :nobodyさん:2007/03/29(木) 23:21:50 ID:hIHbostN
OS/FreeBSD
httpd/apache2.2.4
php/5.2.1(php.ini)はなし(デフォルト)。

bbs.logにログ(名前や書き込み)を入出力する簡単な掲示板を作ったのですが
bbs.logのサイズが約1MBを超えると、ケツの方が途中で切れてしまいます。

これはスクリプトが原因なんでしょうか?サーバ側が問題なんでしょうか?



847 :nobodyさん:2007/03/29(木) 23:37:37 ID:???
>>846
いや、php.iniあるだろ

ケツの方がきれるってのはどういう状態だ?
書き込んだbbs.logを見てみたら最新の書き込みの途中以降が
無くなっちゃってる事?

848 :nobodyさん:2007/03/30(金) 00:04:20 ID:???
>>846
処理に時間かかりすぎて途中で強制終了でもされてるんじゃないの

849 :nobodyさん:2007/03/30(金) 00:08:20 ID:JMCAPSTS
記事番号,名前,書き込み
2,bar,kakiko
1,foo,kakiko

と新しい書き込みがファイルの最初の行になるようなCSVファイルなんですが
bbs.logが1MBくらいを超えたあたりから、一番最後の行が
1,foo
で切れてる状態なんです。

850 :nobodyさん:2007/03/30(金) 00:12:06 ID:???
1MB程度なら問題ないと思うけど、サーバーが重いのでは?

851 :nobodyさん:2007/03/30(金) 00:16:28 ID:???
>>849
というコトはワザワザ毎回ソートしてるのか。

・・・でもそんなに時間がかかるわけではなさそうだしな。
ここはソースを晒してみたらどうだろう?

852 :nobodyさん:2007/03/30(金) 00:21:09 ID:???
>>846
追記だよね?
まさか全部読み込んで全部書き出してないよね?

853 :nobodyさん:2007/03/30(金) 00:21:25 ID:???
perlだと
open(handle, "filename");
@line = <handle>;
close(handle);
$test = shift(@line);
こういう手順でファイルの1行目取り出すのに
$handle = fopen("filename", "r");
$test = fgets($handle);
while(!feof($handle)){
 $line = $line . fgets($handle);
}
fclose($handle);
と再現してるのですがperlのような書き方はあるのでしょうか?

854 :nobodyさん:2007/03/30(金) 00:22:02 ID:???
>>852
毎回先頭行に書き込むんだから全部読み込まないと
だめじゃない?

855 :852:2007/03/30(金) 00:23:06 ID:???
>>849,>>851
ごめん、やっぱり全読み込みだったか。
それが1MBでキレる理由にはならんけどね。

856 :nobodyさん:2007/03/30(金) 00:26:42 ID:???
読み込みを取るか書き込みを取るかだからな、
SQLなら問題ないだろうけどさ。

857 :846&&849:2007/03/30(金) 00:27:51 ID:???
もう一度スクリプトを見直したら解決しました。
fread()の読み込み長さを自分で1MBにしていました・・・。

みなさんありがとうございました☆

858 :nobodyさん:2007/03/30(金) 00:36:53 ID:???
>>853
1行目読むのに何で全部読むよ
perlだと $test = <handle>; で終わり
phpだとwhile文消して終わり

859 :nobodyさん:2007/03/30(金) 00:41:31 ID:VBqWPw4O
教えてください!!

$a[0] に array('num'=>'101','name'=>'ううう')
$a[1] に array('num'=>'80','name'=>'あああ')
$a[2] に array('num'=>'125','name'=>'えええ')
$a[3] に array('num'=>'90','name'=>'いいい')

が入ってます。これをnumのソートのようなもので、

$a[0] に array('num'=>'80','name'=>'あああ')
$a[1] に array('num'=>'90','name'=>'いいい')
$a[2] に array('num'=>'101','name'=>'ううう')
$a[3] に array('num'=>'125','name'=>'えええ')

としたいのですが、うまい方法がみつかりません。
配列の中の配列の要素値でソートできるのでしょうか。

860 :nobodyさん:2007/03/30(金) 00:42:10 ID:???
>>859
できる関数あったはず

861 :nobodyさん:2007/03/30(金) 00:45:02 ID:???
>>858
あぁすいません、後出しになりますが1行目とそれ以降別々に使うのです。

862 :nobodyさん:2007/03/30(金) 00:45:17 ID:???
>>859
よく分からん
二次元配列だよな?

nameの値でソートしていいのならある。

863 :859:2007/03/30(金) 00:51:39 ID:VBqWPw4O
>>862
そうです二次元配列です!
nameの値やnumの値でソートをしたいです

864 :859:2007/03/30(金) 01:07:15 ID:VBqWPw4O
発見! これでいけたかもしれない。

foreach($a as $key=>$value){
 $sort_result[$key]=$value['num'];
}
array_multisort($sort_result,SORT_DESC,$a);


865 :nobodyさん:2007/03/30(金) 01:42:18 ID:???
>>859
こんなんどうですか。

function cmp($a, $b)
{
 return ($a['num'] - $b['num']);
}
usort($a,"cmp");


866 :nobodyさん:2007/03/30(金) 08:38:04 ID:TajlMWGS
質問です

PHP + Sqlite で select count(*) from tablefoo というSQLを実行したときに、 count の結果として 
返される値を参照するにはどのSQLITE関数を使用すればよいのでしょうか。
最初はsqlite_num_rowsかと思ったんですが、なんか違うみたいです。。。
よろしくお願いします

867 :nobodyさん:2007/03/30(金) 08:50:06 ID:???
http://jp.php.net/manual/ja/function.sqlite-query.php>>866


868 :nobodyさん:2007/03/30(金) 09:02:42 ID:???
>>866
SQLiteに限らずDBでselectした結果の取得は、fetchやresultと相場が決まってる。
SQLiteに関して言えばfetch*だけでresultってのは無いみたいね。

869 :nobodyさん:2007/03/30(金) 14:25:31 ID:hAwrbtsF
メール受信時の処理で、
標準入力を受け取る処理をwindows上でテストするのに
どのようにしたら良いでしょうか?


870 :nobodyさん:2007/03/30(金) 14:55:00 ID:???
そういうとこは妥協せずにLinux環境とか作るのが遠回りなようで近道。
使ったことないけどWin環境ではCygwinでいけるんかな?

871 :nobodyさん:2007/03/30(金) 15:05:26 ID:MYIOcGpU
恥ずかしい質問です

123465789バイトを、キロやメガにする場合… どうしたら出来るのでしょう?
関数があった気がするのです。でもすこーんと忘れました;;
すみません、ぐぐっても、ピンポイントなキーワードではないので… 分かりませんでした…


872 :nobodyさん:2007/03/30(金) 15:07:06 ID:???
>>869
xmailでも入れてperlで処理したら良いかもね

>>871
そんな関数あったっけ?

873 :647:2007/03/30(金) 15:11:35 ID:???
>>871
普通に割算すればいいだけだろうがw

874 :nobodyさん:2007/03/30(金) 15:40:41 ID:???
>>870
Linux環境が使えそうなら無理してでも使っておく方が近道と思うよ。
少なくともCygwinは性能が悪いし妙な癖はあるしで結構ストレスになる。
Windows環境であればcoLinuxでも使っておけばいいんじゃないかな、
とかいって使ったことないけど。VMwareもお勧め。

875 :nobodyさん:2007/03/30(金) 15:40:56 ID:???
iframeで呼び出されたPHPで呼び出し元のURLって取得できませんか?

876 :869:2007/03/30(金) 15:49:07 ID:hAwrbtsF
了解しました。
Linux環境はあるんでそちらでやることにします。
ありがとうございました。


877 :nobodyさん:2007/03/30(金) 17:04:07 ID:???
巨大なファイルの行数を数えたいのですが、
ファイルを一気にメモリに読み込まずに数えるには、
while文でfgetsを繰り返すしかないのでしょうか?

878 :nobodyさん:2007/03/30(金) 17:10:08 ID:???
>>877
フィルの行数を返してくれる関数なんて知らないので。
一行ずつカウントするしか思いつかない。

879 :nobodyさん:2007/03/30(金) 17:17:18 ID:???
>>877
俺もそれ以外の方法は思いつかない
というかそれしかないのでは

880 :nobodyさん:2007/03/30(金) 17:19:44 ID:???
wc で数えたら?

881 :877:2007/03/30(金) 17:31:18 ID:???
>>878-880
レスありがとうございます。

wcはUNIXのコマンドなんですね。
試してみようと思います。ありがとうございます。

882 :nobodyさん:2007/03/30(金) 18:53:07 ID:???
>>877
バイナリデータとして
「1バイトずつ読み取ってそれが改行コードなら行数を+1」
をループ。まあwcがやってるのがそうだけど。
マルチバイトとか改行コードに相当するのは何かとかで
処理で考慮しないと駄目なところはあるとは思うけど。

883 :nobodyさん:2007/03/30(金) 18:53:41 ID:???
>>880
なるほど便利そうだ
なんだかんだ言ってLinux系を知っているかどうかは大きく違うな・・

884 :nobodyさん:2007/03/30(金) 19:03:45 ID:jc39Z612
SQLITEを使う時のデータベース用ファイルについてなのですが、
本やサイトを見て回ってもファイルロックに関して何もかかれていません。
sqlite_openやsqlite_query等は排他処理を行ってくれるのでしょうか?


885 :虚弱PHP:2007/03/30(金) 19:07:48 ID:???
>>884
ファイルベースといってもデータベースなんだし、
ファイルロックとかはSQLiteに任せていいよ。

というか、SQLite以外からデータベースファイルにアクセスするわけじゃないよね?

886 :nobodyさん:2007/03/30(金) 20:05:33 ID:???
最近、ふと思うのですがブログとか色々とファイルにアクセスするサイトって
大きくブログ全体としてファイルロックするのってどうなんでしょうか?。
やはり効率悪いのかな?。

887 :nobodyさん:2007/03/30(金) 20:18:56 ID:jc39Z612
>>885
アクセスするのはSQLITE関数のみです。
必要ないんですね。ありがとうございました。

888 :nobodyさん:2007/03/30(金) 20:43:32 ID:???
>>886
ブログ全体を1ファイルにはしないでしょ?
でもなんでブログってファイルに保存するんだろ。
DB使ったりもしてるの?

889 :nobodyさん:2007/03/30(金) 20:53:07 ID:oAaV+hqa
質問
ttp://pc11.2ch.net/test/read.cgi/php/1174217841/l50
この「l50」のlって何の略?
PHP詳しい人ならわかると思うのでよろしくです。

890 :nobodyさん:2007/03/30(金) 21:00:20 ID:???
>>889
それくらい自分で考えろカス


ラスト50レスって意味だ

891 :nobodyさん:2007/03/30(金) 21:07:11 ID:oAaV+hqa
>>890
なんだとコラ!
ありがとう。

892 :nobodyさん:2007/03/30(金) 21:29:05 ID:???
.htaccessでupload_max_filesize変更できるよね?
じゃあ、php.iniに設定あっても意味なくね?

893 :nobodyさん:2007/03/30(金) 21:39:35 ID:???
OOP初心者です。
abstractクラスで単純なセッタ($this->propertyするだけ)の
abstractメソッドが8個もあるのって、気持ち悪いというか、
悪い例ですか?(^ω^;)

894 :nobodyさん:2007/03/30(金) 21:41:45 ID:???
>>893
VIPPERくさいし、ID出さないので教えません

895 :nobodyさん:2007/03/30(金) 21:44:23 ID:???
>>890
最新50件だから
latestだろうとマジレス

896 :nobodyさん:2007/03/30(金) 21:57:39 ID:???
>>893
いいんじゃないですか?

897 :nobodyさん:2007/03/30(金) 22:02:53 ID:snV1+qok
質問。
以下のような感じでFlashLite対応携帯と非対応で振り分けPHPを作ってるんだけど、
$UA = $_SERVER{'HTTP_USER_AGENT'};
if (substr_count($UA,"DoCoMo")) {
$d=docomoOff();
Fault($d);
}else if(substr_count($UA,"UP.Browser")) {
$d=auOff();
Fault($d);
}else if(substr_count($UA,"SoftBank") || substr_count($UA,"vodafone") ) {
$d=auOff();
Fault($d);
}
function Fault($d){
if($d==false){
header("Location:fault.php");
exit;
}
}
function docomoOff(){
global $UA
if ((substr_count($UA,"非対応機種ID") … (substr_count($UA,"非対応機種ID")) $d_check=false;
else $d_check=true;
return $d_check;
}
function auOff(){ 略 }
function softbankOff(){ 略 }

substr_count がorで150個とか連なるだけどコレってサーバ負荷やばいですか?


898 :nobodyさん:2007/03/30(金) 22:20:37 ID:oAaV+hqa
>>890
てめーうそおしえてんじゃねーぞこら!

>>895
まじありがと

899 :nobodyさん:2007/03/30(金) 22:33:09 ID:???
>>869
いきなりLinux使えとか意味不明な展開になってるけど、
コマンドプロンプトで
type test.eml | php hoge.php
とか?

900 :nobodyさん:2007/03/30(金) 22:45:43 ID:???
うへへえwww

901 :nobodyさん:2007/03/30(金) 23:55:35 ID:ZWxCZPyt
windows+Apache+PHP+MySQLという環境ですがDBから日本語のデータを引っ張るときに文字化けしています。
これはApacheの文字コードを変更すれば解決されるのでしょうか?

902 :nobodyさん:2007/03/30(金) 23:57:01 ID:???
>>901
いいえ。解決しません。

903 :nobodyさん:2007/03/30(金) 23:57:08 ID:???
デコードすればいいじゃん。

904 :nobodyさん:2007/03/30(金) 23:57:49 ID:???
>>901
全部の文字コードを同じにすれば解決します。

905 :nobodyさん:2007/03/30(金) 23:58:39 ID:???
Apacheの設定で文字コードってあったっけ?

906 :nobodyさん:2007/03/31(土) 00:11:25 ID:SBQP0EHi
今も見直していたけどApacheの文字コードの設定は無いっぽいですね
DBから引っ張ってきた文字は日本語の部分だけ?????と表示されるだけです。
DBから引っ張ってきた文字以外の日本語は文字化けしない

う〜ん・・・

907 :nobodyさん:2007/03/31(土) 00:17:52 ID:???


908 :nobodyさん:2007/03/31(土) 00:20:31 ID:???
>>892
サーバ内の全スクリプトに設定したいならどっちを使ってもいいってだけの話。

>>897
A. 携帯機種判別ライブラリを使う。名前は"mobile"が入ってた気がする。
B. UAから機種を意味する部分を切り出してそっちを検索のキーにする
C. 機種リストを無理やりくっつけて正規表現にする
お勧め順

それにしてもまどろっこしいコーディングだな

909 :nobodyさん:2007/03/31(土) 01:10:46 ID:???
>>906
俺はエスパーじゃないからまともに答えるよ。

mysqlへの書き込み時と読み込み時で文字コードが違っているなら
「mysql 文字コード 自動変換」あたりでググるかmysqlのマニュアル読め。

それすらよく分からないレベルなら
お話にならないから文字コードについて最低限の勉強をしてから再チャレンジ。

910 :nobodyさん:2007/03/31(土) 01:23:30 ID:???
自己解決
my.cnfにskip-character-set-client-handshakeといれるかSET NAMES ujis;と入れたら無事取り出せました。
ありがとうございました。


911 :nobodyさん:2007/03/31(土) 01:25:04 ID:H5fz3SsO ?2BP(396)
ログから5行分のコメント等を抜き出して
プリント出力するプログラムを作りたいと思います。
これでうまくいかないのですがどこがまずいのでしょうか?
ログは1行ごとに
番号(1,2,3....) タブ 名前 タブ タイトル タブ コメント タブ パスワード タブ 日付
と並んでいます。

<?php
$log=fopen("card.txt","r");
$line=fgets($log);
$items=explode("\t", $line);
for($i={$items[0]};$i<{$items[0]}-5;$i--){
print(" $items[1] ");
print(" $items[2] ");
print(" $items[3] ");
print(" $items[5] ");
}
fclose($log);
?>

912 :nobodyさん:2007/03/31(土) 01:30:31 ID:???
どういうロジックなのか自分で説明できるかい?
1行ずつ説明してみそ。

913 :nobodyさん:2007/03/31(土) 01:40:11 ID:H5fz3SsO ?2BP(396)
<?php
$log=fopen("card.txt","r"); ログオープン
$line=fgets($log); ログから1行抜き出す
$items=explode("\t", $line);1行の中からタブを除き配列に設置
for($i={$items[0]};$i<{$items[0]}-5;$i--){ 最新の書き込みナンバーから-5のナンバーまで以下処理を繰り返す
print(" $items[1] ");
print(" $items[2] ");
print(" $items[3] ");
print(" $items[5] ");
}
fclose($log);
?>


914 :nobodyさん:2007/03/31(土) 01:41:09 ID:H5fz3SsO ?2BP(396)
for($i={$items[0]};$i<{$items[0]}-5;$i--){
ここがおかしいのはわかるのですが・・・・・・・
-5だと5行以下のログだと成立しませんものね。

915 :nobodyさん:2007/03/31(土) 01:46:33 ID:???
ログから1行目しか抜き出してないように見えるんですが
2〜5行目はどこで抜き出してんの?

916 :nobodyさん:2007/03/31(土) 01:54:05 ID:H5fz3SsO ?2BP(396)
あ、fgetsをfor以降に入れないとポインターが動かないので
成立しないですよね。
でもそれだとログのナンバーを取り出すのはどうすればいいのやら・・・・・・

917 :nobodyさん:2007/03/31(土) 01:56:36 ID:H5fz3SsO ?2BP(396)
>>915
for構文で5回処理を繰り返すようにしてるつもりなのですが・・・・・・
私の予想では>>916のことを言ってらっしゃると思うのですがどうでしょうか?

918 :nobodyさん:2007/03/31(土) 01:57:00 ID:???
沢山ある行の中から特定の5行分を取り出したいってこと?
それとも先頭の5行分を取り出したいの?

919 :nobodyさん:2007/03/31(土) 01:59:36 ID:H5fz3SsO ?2BP(396)
ログの中から最新書き込み→古い書き込みへの新しい5行分をプリントしたい
と思っています。

920 :nobodyさん:2007/03/31(土) 02:03:29 ID:???
だったらforの中にfgets入れるってこと分かってるんだから
1行取ってその中身を表示すればいいじゃん?

921 :nobodyさん:2007/03/31(土) 02:11:15 ID:H5fz3SsO ?2BP(396)
すいません、私の思うように直してみたのですが
うまくいきません・・・・・・・
for($i=$no;$i<$no-5;$i--){
もログが5行以内なら成立しないので
どうしたらよいのかご助言いただけたらうれしいのですが。

<?php
$log=fopen("card-walin/card-walin.txt","r");
$noline=fgets($log);
$noitems=explode("\t", $noline);
$no=$noitems[0];
for($i=$no;$i<$no-5;$i--){ //1行づつ走査しながら1ページ分を表示します
$line=fgets($log);
$items=explode("\t", $line);
print(" $items[1] ");
print(" $items[2] ");
print(" $items[3] ");
print(" $items[5] ");
}
fclose($log);
?>


922 :nobodyさん:2007/03/31(土) 02:20:09 ID:???
ロジックの意味が全く分からないんですが・・・
もしかしてfgetsは列(縦)方向のデータを取ってくると考えてる?
もしくは全データを取ってくると考えてる?

もしそうなら、マニュアルの関数リファレンス見てみるとか、
そもそもどんな値が返ってきてるかprint_rやvar_dumpで見てみるといいよ。

923 :nobodyさん:2007/03/31(土) 02:27:30 ID:???
ロジックに無理があるよ。こねくりまわせばできるけどさ。
俺だったら
system( "tail -5 card-walin/card-walin.txt" );
だな。Winではうごかないけど。

924 :nobodyさん:2007/03/31(土) 02:40:29 ID:???
いまBBS作って、10件ごとに次のページへって言う構造に
しようと思ってるんですけど、このスクリプトっておかしいですか?
どうも読み込みが上手くいきません
<?php
mysql_connect("localhost","root","pass");
mysql_select_db("php5");
//登録フォームの読み込み ここには問題ないです
include("form.php");

//掲示板データの再現
$pg = $_GET["id"];

if(($pg == "")||($pg == 0)){
  $sql = "select * from bbs order by renban desc limit 10";
}else{
  $sql = "select * form bbs where renban > ".$pg*10." and renban <= ". ($pg+1)*10." order by renban desc";
}

よろしくお願いします

925 :nobodyさん:2007/03/31(土) 02:47:14 ID:???
>>924
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_10.htm

926 :nobodyさん:2007/03/31(土) 02:54:59 ID:???
文字化けブームの次は丸投げブームか

927 :nobodyさん:2007/03/31(土) 03:02:00 ID:???
>>926
PHPユーザ会のML入ってる奴居る?

928 :921:2007/03/31(土) 03:09:08 ID:H5fz3SsO ?2BP(396)
出直してきます、ありがとうございました。

929 :nobodyさん:2007/03/31(土) 04:07:50 ID:i1eCprk+
想定して無い値が帰ってくるときにどうするかのエラー処理?の仕方がよくわからない。
わからなくはないけど入れ子で頭がこんがらがっちゃう。

「この処理でこういう値が来たらどうするんだい?」って
先生みたいにチェックしてくれる機能無い?
"PHP エラー"や"PHP テスト環境"でぐぐってみたけどいまいちジャストミートなものにぶつからない。
うまくググるキーワードやそれの初心者向けの説明あったら教えてください。

930 :921:2007/03/31(土) 04:46:38 ID:H5fz3SsO ?2BP(396)
すいません、質問を変えてもう一度お聞きします。
ログから最新の発言を5人分(5行分)抜き出して
printで提示する場合具体的にどのようなプログラムを書けばよいのでしょうか?
何度もうざいと思われてると思うのですがどうしても自力で思い通りに出来ませんで。

下記はログで半角スペースは実際はタブでスペース付けてます。
実際にログには行ごとに番号割り振るようにしてます。
-------------------------------------------------
22 名前 タイトル コメント パス 日付
21(22行目と同じ形式で格納)
20(22行目と同じ形式で格納)
19(22行目と同じ形式で格納)
.
.
1(22行目と同じ形式で格納)
-------------------------------------------------


931 :921:2007/03/31(土) 04:55:19 ID:H5fz3SsO ?2BP(396)
>>922
fgetsは横の列一行を取得するものと理解してます。
>>930のログを使うとfgets($log); で

22 名前 タイトル コメント パス 日付

の行が取り出されるんですよね?


932 :nobodyさん:2007/03/31(土) 05:13:15 ID:???
>>929
PHP5だと例外が使えるけど。
個人的には、自分でエラー用クラス作って処理させるのがやりやすいけど…。

933 :nobodyさん:2007/03/31(土) 05:40:39 ID:???
PHPの入門本を一からやってから自分の好きな物を作れって言いたくなる質問が多いな。
遠回りのようだが、基本的なことをいちいち聞いてるより早いよ。

934 :nobodyさん:2007/03/31(土) 05:51:10 ID:???
>>927
入会したはずなのにメールが一度もおくられてこない

935 :nobodyさん:2007/03/31(土) 05:59:53 ID:???
>>911

最新ログが上で古いログが下であるなら・・・

<?php
$log = file("card.txt")
for($i=0;$i<5{;$i++){
print(" $items[$i] ");
}
fclose($log);
?>

最新ログが下で古いログが上なら・・・

<?php
$log = file("card.txt")

$count = count($log);
for($i=$count-5;$i<$count;$i++){
print(" $items[$i] ");
}
fclose($log);
?>

936 :935:2007/03/31(土) 06:01:51 ID:???
fopenは使わないでfile関数使った場合fcloseはいらないからな。
おまいのコードコピペして消し忘れたから書くなよ

937 :921:2007/03/31(土) 06:35:44 ID:H5fz3SsO ?2BP(396)
あ、ありがたやーーー。

938 :nobodyさん:2007/03/31(土) 09:19:54 ID:???
やっぱ初心者にはヒント出しつつ自分でロジックの問題点を気づかせるのはまず無理で
さっさと正解出して真似で学ばせたほうがいいのかね

939 :nobodyさん:2007/03/31(土) 09:20:23 ID:???
Winで動かなくていいのなら、俺も923に1票。
最新ログが上ならhead、下ならtail。

940 :nobodyさん:2007/03/31(土) 10:14:54 ID:???
DL販売出来るようなものってフリーでありますか?

941 :nobodyさん:2007/03/31(土) 10:21:48 ID:???
ありますよ。大抵のフリーソフトは販売してもOKです。
少なくともGPLとBSDライセンスのものは販売しても構いませんよ。
ライセンスに直接当たってみましょう。

もちろんそれを買う存在があるかどうかはまた別の話ですが。

942 :nobodyさん:2007/03/31(土) 11:56:18 ID:???
ではなくて、DL販売関係スクリプトでフリーのものはないか
と聞いてるのじゃないのか?

943 :940:2007/03/31(土) 12:07:57 ID:???
言葉足らずですみません。
>>942
その通りです。
osCommerce系も一通り見てみたのですが自分の希望にあうものがなく・・・・・。

言語 :PHP
DB :PostgreSQL又はMySQL(バージョン問わず)
やりたいこと:ポイント管理ができ、ポイントでの購入が出来るもの。

現在自分で作っているのですが、サンプルになるようなフリーのものがあればと思い・・・。
回答のほど宜しくお願い致します。

944 :nobodyさん:2007/03/31(土) 12:28:39 ID:???
>>943
>やりたいこと:ポイント管理ができ、ポイントでの購入が出来るもの。
これのサンプルを探すことと
>DL販売ができること
とはまったくべつでしょ。条件としてDL云々という必要はない。

上なら普通のshop-cart softwareで、いくらでもある。
www.scripts.comあたりを一通り見てみればいいんじゃ?

945 :nobodyさん:2007/03/31(土) 12:32:21 ID:???
>>929
配列 ・・・ var_dump、print_r
変数 ・・・ print、echo

function debugprint($var_debug) {
 echo 'error : '
 if( count( $var_debug ) > 1 )
  print_r($var_dump). '\n';
 else
  echo $var_debug. '\n';
}

これに投げればいいやん
PHP5なら例外使う

946 :nobodyさん:2007/03/31(土) 12:35:02 ID:???
- echo 'error : '
+ echo 'error : ';

947 :nobodyさん:2007/03/31(土) 12:37:33 ID:???
>>943
PHP(mysql関数)、SQL、正規化

2番目までのサンプルならMysql 掲示板 あたりでググレば出てくる
どんなの作るかよくわからんが小規模〜くらいになるなら正規化について調べておいて損はない

948 :nobodyさん:2007/03/31(土) 12:44:42 ID:???
それは意味無いだろ

949 :nobodyさん:2007/03/31(土) 13:36:16 ID:???
$var_dump変数なんてどこにも定義されてないんだが

950 :nobodyさん:2007/03/31(土) 13:57:39 ID:???
このスレのクオリティを甘く見ると火傷するぜ

951 :nobodyさん:2007/03/31(土) 14:01:48 ID:???
>>924

//掲示板データの再現
$pg = intval($_GET["id"]);
if (!$pg || !$pg < 0) {
$pg = 0;
}

$sql = "select * from bbs order by renban desc limit $pg, 10";



952 :951:2007/03/31(土) 14:02:54 ID:???
if (!$pg || !$pg < 0) {



if (!$pg || $pg < 0) {

953 :nobodyさん:2007/03/31(土) 14:56:59 ID:yBXFleD+
配列の質問です

$a = array('key1' => 'abc', 'key2' => 'def', 'key3' => 'ghi');
で、key2をその配列から消したい(取り出す)場合はどうすればいいのでしょうか?

最初、array_diffで異なっているものを抽出して、DBに格納しようと思ったのですが… 結果にプライマリキーなどが残ってしまい困っております。
簡単な質問ですみません

954 :nobodyさん:2007/03/31(土) 15:50:45 ID:???
>>953
unset($a['key2']);

なんで配列の質問でDBが出てくるのか知らんが
結局のところSQLでDELETEやINSERTで済む場所だと思うな。

955 :929:2007/03/31(土) 15:55:13 ID:i1eCprk+
>>932 >>945
ありがと
例外処理ってのがあるのね あとエラー処理
例外使うためにクラスの使い方覚えるのが結局一番早そうってとこまで理解した

956 :nobodyさん:2007/03/31(土) 16:24:35 ID:???
海外の鯖を使っているので日本の時間と時差が生じてしまします。
プラス14時間後の時間を表示したいです。

方法を教えてください。

$date = date("Y/m/d H:i:s");
echo $date;

957 :nobodyさん:2007/03/31(土) 16:39:31 ID:???
かけざんとたしざんをしてください

958 :nobodyさん:2007/03/31(土) 16:56:14 ID:???
>>956
PHPマニュアルのdate関数を見るべし

959 :nobodyさん:2007/03/31(土) 17:02:46 ID:???
>>957-958 できました。ありがとうございます。

$date = date("Y/m/d H:i:s", strtotime('+14 hours'));
echo $date;

960 :nobodyさん:2007/03/31(土) 18:05:40 ID:H5fz3SsO ?2BP(396)
ログが

名前 コメント 種類A
名前 コメント 種類B
↓続く

と並んでいて種類Bのみを抜き出す場合
どういう方法があるのでしょうか?
ログ自体を種類ごとに分けないと難しいですか?

961 :nobodyさん:2007/03/31(土) 18:08:55 ID:???
AとBの違いは何?

962 :nobodyさん:2007/03/31(土) 18:09:20 ID:???
ちったぁ頭使えよw

963 :nobodyさん:2007/03/31(土) 18:16:09 ID:???
grep 種類B ログファイル

964 :nobodyさん:2007/03/31(土) 18:17:41 ID:H5fz3SsO ?2BP(396)
>>961
データベースを作ろうと思うのですが
書き込みをデータベースとして有意義な”情報”か
ただの”コメント”かで別々に取り出したいのです。
なので種類Aは情報、種類Bはコメントとしたいと思います。

>>962
すいませんw
まじで頭が回らなくて・・・・・・・
htmlとcssのデザイン関連は直感的にできるのですが
こういうロジックになると他人の猿真似空はいらないと理解できませんで・・・・・

965 :nobodyさん:2007/03/31(土) 18:22:38 ID:???
>>964

有意義な”情報”とただの”コメント”違いの判断基準は?
あなたの主観?

966 :nobodyさん:2007/03/31(土) 18:26:12 ID:H5fz3SsO ?2BP(396)
>>963

$logA=grep("種類A","log.txt");//ここで該当文字を検索しその行を抜き出し
$lines=file($logA);]//抜き出した行を配列化

grepの使い方が詳しくわからないのですがこんな感じですかね。



967 :nobodyさん:2007/03/31(土) 18:27:59 ID:H5fz3SsO ?2BP(396)
>>965
有意義な情報(雑誌インタビューなどで見た開発者のインタビューなど)か
ただのコメントかは書き込んだ当人がラジオボタンで選択できるようにしてます。

968 :nobodyさん:2007/03/31(土) 18:29:03 ID:yBXFleD+
>954
ありがとうございました〜
これでがんばれます〜

969 :nobodyさん:2007/03/31(土) 18:33:32 ID:???
>>966
exec("grep 種類A log.txt", $lines);


970 :nobodyさん:2007/03/31(土) 18:40:16 ID:??? ?2BP(396)
>>969
ありがとうございます、試してみますー。

971 :nobodyさん:2007/03/31(土) 19:30:30 ID:???
>>969
ここは犬糞のくだ質じゃねーんだよ

972 :nobodyさん:2007/03/31(土) 19:48:06 ID:???
学校で習ったばっかりで使いたくて仕方ないんだろ。
shでCGIでも書いてりゃいいのに。

973 :nobodyさん:2007/03/31(土) 21:03:01 ID:???
春休みだからな

974 :nobodyさん:2007/03/31(土) 21:06:43 ID:???
毎日がエブリデー。

975 :970:2007/03/31(土) 22:00:27 ID:??? ?2BP(396)
すいませんw
なんか無理でした。

976 :nobodyさん:2007/03/31(土) 22:11:24 ID:???
>>975
じゃあお詫びに次スレを建てとけ

977 :nobodyさん:2007/03/31(土) 22:46:30 ID:tPhD7muH
携帯電話でのログイン・ログアウトの機能を作ろうと思っています。
自分の使用している機種では、セッションを使ってログイン・ログアウト
出来るのですが、セッションを使う方法で問題ないのでしょうか?

携帯の場合はCookieは使えないと思うのでセッションしかないと思っているのですが、
果たして古い機種でも利用できるのかどうかわからず、質問しました。
ご存知の方は教えていただければと思います。

978 :nobodyさん:2007/03/31(土) 22:51:13 ID:???
セッションとCookieを排他的に書いてること自体が間違い。
勉強しなおしてから質問しましょう

979 :nobodyさん:2007/03/31(土) 22:51:30 ID:???
申し訳ありませんが、全ての実機にて検証した訳ではありませんので、
お答え致しかねます。

980 :nobodyさん:2007/03/31(土) 22:58:54 ID:???
>>977
そのセッション情報をどうやって保持するんだ


981 :nobodyさん:2007/03/31(土) 23:02:08 ID:???
それはURIで保持すんだろ

982 :nobodyさん:2007/03/31(土) 23:04:19 ID:???
質問者に対して勉強のための問いかけと思われるものにマジレスする奴がいるよな

983 :nobodyさん:2007/03/31(土) 23:06:48 ID:???
日本語不自由だな

984 :nobodyさん:2007/03/31(土) 23:55:27 ID:??? ?2BP(396)
独習phpという本を買ってきたのですが初心者にはわかりにくすぎますー!
プログラミング系の本て独り善がりな内容結構多くないですか?
なぜか。

985 :nobodyさん:2007/03/31(土) 23:56:29 ID:???
内容を見れる状態で買ってきて文句言うのはどうかと思う

986 :nobodyさん:2007/04/01(日) 00:09:56 ID:???
どう見てもスレ違い。

独習PHPは別に分かり辛いとは思わなかったがな。

987 :nobodyさん:2007/04/01(日) 00:38:22 ID:MxiyK9aH
PHP4系のクラスで、ファイル格納方法(CSV, データベースなど)が異なる場合でも、
使用するメソッドを統一させるため、基底クラスのコンストラクタで次のような方法で行っています。

switch($this->filetype) { // $this->filetype…ファイル格納方法
case "csv":
$this->object = new csvClass(); break; // $this->object…派生クラスのインスタンス
case "mysql":
$this->object = new mysqlClass(); break;
}

csvClass, mysqlClassの基底クラスに

function add($content) {// $contentを追加する関数
$this->object->add($content);
}

という記述をし、派生クラス(csvClassおよびmysqlClass)でファイル格納方法に合わせて
独自処理を行わせるよう、add()関数をオーバーライドさせています。
これ以外でポリモーフィズムを表現する方法が思いつかなかったのですが、
よりスマートな方法があればご教授お願いいたします。

988 :nobodyさん:2007/04/01(日) 00:43:42 ID:???
>>987
基底クラスは抽象クラスかインターフェイスでいいんじゃない?
で、FactoryMethodパターン適用。

989 :987:2007/04/01(日) 01:00:33 ID:MxiyK9aH
>>988
回答ありがとうございます。
PHP5.xが使えれば抽象クラス使ってやろうかと思ったのですが、
使用している鯖がPHP4.xなのでこんな回りくどいことしなきゃなのかな、と考えたのですが…
やっぱ無理がありましたか。
今使ってる鯖に見切りつけたとしても、今後の費用対効果を考えたら
今のうちにPHP5.xに移ったほうがよさそうな気がしてきたので、ちょっと検討してみます。

990 :nobodyさん:2007/04/01(日) 01:25:21 ID:???
PEAR DBのクラス設計でも見ろ

991 :nobodyさん:2007/04/01(日) 02:19:24 ID:???
P H P 映 画 化 決 定

992 :nobodyさん:2007/04/01(日) 03:51:43 ID:???
>>989
OOP的に作るならもう4は見捨てるべき。
それでも4に対応させたいなら>>988

993 :992:2007/04/01(日) 03:52:16 ID:???
安価間違えた>>990

994 :nobodyさん:2007/04/01(日) 04:00:11 ID:???
PHP5も無理やりOOPだけどな
型のない言語なのにExceptionだけ型みたいになっててキモイ

995 :nobodyさん:2007/04/01(日) 04:09:14 ID:???
>>484
これって読んだ人いる?
オブジェクト指向をPHPで勉強しようって人に向いてる?

996 :nobodyさん:2007/04/01(日) 04:10:22 ID:???
PHPもVBみたいに基本適には型なしで
おまけで型宣言をつけると型が適用され
るとかにしてくれたらな〜

997 :nobodyさん:2007/04/01(日) 04:23:53 ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 42
http://pc11.2ch.net/test/read.cgi/php/1174217841/

998 :nobodyさん:2007/04/01(日) 04:39:13 ID:???
echo 'u';

999 :nobodyさん:2007/04/01(日) 04:39:54 ID:???
echo 'm';

1000 :nobodyさん:2007/04/01(日) 04:40:38 ID:???
echo 'e';

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

257 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)