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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2007/03/18(日) 20:37:21ID:???
まず読め→【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
0002nobodyさん2007/03/18(日) 20:37:43ID:???
■過去ログ
【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/
0003nobodyさん2007/03/18(日) 20:37:59ID:???
関連リンク
■本家マニュアル   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/
0004nobodyさん2007/03/18(日) 20:38:25ID:???
【簡易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プログラムとして実行された結果になる。
0005nobodyさん2007/03/18(日) 20:38:38ID:???
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に保存?
 → 好きにしてください
0006nobodyさん2007/03/18(日) 20:39:26ID:???
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/
0007nobodyさん2007/03/18(日) 20:47:40ID:???
              / / .:.:/ .:;.::::::/ .:.:.::::::::::::::::!::::::!.:::::::::::::::::!::.:.:.:.:.:.:.:.:
           / / .:.:/ .::::/.:::/ .:.:.::::::::::::::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'         ノ  〉  -米‐: :.リ /:/´ ̄フ:ハ:「 ̄`¨`{ :-米
0008nobodyさん2007/03/18(日) 21:16:17ID:RB9GZY4V
スレ立てありがとうございます
早速質問させてください

今アンケートフォームを作っており、入力値を確認画面で確認させメール送信させる仕組みです。
最初にサニタイジングして受け取っている入力値を、メール送信の時にどうやって元に戻せばいいのでしょうか?
あと、テキストエリアで入力された改行などがどうすれば確認画面やメール内で改行して見せられるのでしょうか?
0009nobodyさん2007/03/18(日) 21:17:32ID:???
>>8
サニタイジングって具体的に何してるの。
0010nobodyさん2007/03/18(日) 21:27:10ID:LjKDzSM6
スレ違い覚悟です。質問させてください。
今までLinuxのrootユーザーでウェブアプリケーションを開発していたのですが、開発用に
ユーザーを追加するべきでしょうか?
みなさんはどうしていますか?
0011nobodyさん2007/03/18(日) 21:27:39ID:???
>>6
引用元のサイトでは
$row[’id’] is 7 times faster than $row[id]
なのに
$row["id"] は $row[id] より7倍速い
としている時点でそこの訳はすごく怪しいから
やめれ
0012nobodyさん2007/03/18(日) 21:29:31ID:???
>>10
スレ違い
0013nobodyさん2007/03/18(日) 21:40:45ID:RB9GZY4V
>>9
実際にPOSTで受け取る時に以下のようにしています。
$hoge = htmlspecialchars(stripslashes ($_POST['hoge']));

<とか>がHTMLエンティティになってしまっているんです。
0014nobodyさん2007/03/18(日) 21:41:58ID:???
>>10
開発って何人でやってるのさ
0015nobodyさん2007/03/18(日) 21:43:07ID:???
>>13
htmlspecialcharsは確認画面で表示するときだけ行うべきもの。
データそのものを変換しちゃいかん。
0016nobodyさん2007/03/18(日) 21:44:27ID:???
>>11
正しく翻訳するとどうなるの?
0017102007/03/18(日) 21:45:47ID:LjKDzSM6
>>14
今のところ(、もといこれからもずっと)一人です。
0018nobodyさん2007/03/18(日) 21:46:49ID:???
>>17
なら別にrootでいいよ。
0019nobodyさん2007/03/18(日) 21:47:35ID:???
>>11
俺の高校レベルの英語知識では間違ってはいないんだが、後学のために教えてくれ。
0020nobodyさん2007/03/18(日) 21:47:59ID:???
>>16
シングルクオートとダブルクオートの見分けもつかないのか、きみは
0021nobodyさん2007/03/18(日) 21:49:31ID:???
え、そんだけ!?
0022nobodyさん2007/03/18(日) 21:52:38ID:???
>>10
ひとりで使う分にはどっかの設定書き換えなんて自分しかしないんだからrootでいいよ。
なんでわざわざ作る意味があるのか教えてもらいたい。

なんのためにユーザーを作るのか理解したほうがいいよ。
0023102007/03/18(日) 21:53:32ID:LjKDzSM6
>>18
スレ違いなのに、教えてくれるなんて...ありがたすぎる。
これからは安心してrootで開発します。ありがとうございましたm(__)m
0024nobodyさん2007/03/18(日) 21:54:05ID:???
>>20
ああ、まぁそれはな。
ダブルクォートは確かにシングルクォートよりかなり遅い。
00258=132007/03/18(日) 21:54:23ID:RB9GZY4V
>>15
ありがとうございます。
では、入力値は $hoge = stripslashes ($_POST['hoge']); で受け取って、
確認画面のECHO直前で $hoge_ = htmlspecialchars($hoge); とすれば問題ないでしょうか?
セキュリティ的にも入力値をそのまま受け取るということは問題ないのでしょうか?(勉強不足ですみません)
0026nobodyさん2007/03/18(日) 21:55:31ID:???
今度から原文の方をテンプレにしとくか。

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.
0027102007/03/18(日) 21:56:04ID:LjKDzSM6
>>22
すいません。時間差でお礼がおくれました。ありがとうございます。
今度図書館にいってLinuxの本借りて調べてみます。言語の勉強ばっかりに集中して
開発環境を気にしていませんでした。
0028nobodyさん2007/03/18(日) 21:58:42ID:???
>>27
おまえおとこか?
恋人いるのか?
0029nobodyさん2007/03/18(日) 21:59:52ID:???
外部に公開されているサーバなら、rootは当然オススメしない。
クローズドなら気にしないでオケ
0030nobodyさん2007/03/18(日) 22:00:01ID:???
>>25
入力値の無害化処理はその入力値を何に用いるかによって方法が変わる。
HTML上に表示するならhtmlspecialcharsだが、DBに記録するときや
コマンドラインで用いる場合などにはそれぞれ違った方法になる。
「htmlspecialchars=サニタイジング」という誤った覚え方自体を改めた方がいい。

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

> セキュリティ的にも入力値をそのまま受け取るということは問題ないのでしょうか?(勉強不足ですみません)
メール送信をどのように行うかによって決まる。
0031nobodyさん2007/03/18(日) 22:01:47ID:???
>>24
シングルとダブルではほとんど変わらんよ。
ベンチマークで確認してみ。
PHPはシングルクォートだからって特に最適化されてないから。
0032nobodyさん2007/03/18(日) 22:03:50ID:???
ttp://selfkleptomaniac.org/archives/45
ここのサイトに書いてあることでいいんじゃない?
0033nobodyさん2007/03/18(日) 22:04:31ID:???
色々あると思うが、まずは前スレ埋めような
0034102007/03/18(日) 22:06:10ID:LjKDzSM6
>>29
クローズドなので気にしないことにします.....
うーんと、開発は全部rootでやって、公開用サーバはroot以外でログインして
httpdなりmysqldなりを起動すればいいのかな?その辺も今度本で調べます。
ありがとうございました。
0035nobodyさん2007/03/18(日) 22:06:43ID:???
>>32
おお、これいいな。これテンプレに入れとこーぜ。
0036nobodyさん2007/03/18(日) 22:08:04ID:e2ODLPUZ
ログインについて質問です。今までは
if (isset($_SESSION["user_login"])){
}else{
header("Location:index.php");
}
みたいにして、ログイン情報のセッション値(例えば、md5で生成した暗号キーなど)
を持たないユーザはログインさせないようにしていました。

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

どちらもあまりセキュリティ的に変わらないのなら前者を選択しますが、
ご意見・ご指摘いただければと思います。
0037nobodyさん2007/03/18(日) 22:08:56ID:oX9m5Cxa
EUC-JPで作成してます。
今回UTF-8で作成を試みようと考えてます。
日本人オンリーなので多言語化のメリットについては興味ないのですが、
以外にUTF-8を導入するメリットを教えてください。

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

ぐらいですが、もし間違った箇所がございましたらご教授ねがいます。
0038nobodyさん2007/03/18(日) 22:14:43ID:???
>>36
セッションIDならともかくセッションの値はサーバー側でしか
生成しないし記録もしてないんだから、それが最初のログイン時に
DBから生成したデータなら何度もチェックするのは全く無意味。
0039nobodyさん2007/03/18(日) 22:17:01ID:???
テンプレ追加:

■最適化にまつわる神話

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

これらは全部嘘。
0040nobodyさん2007/03/18(日) 22:18:53ID:???
お約束なので。

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

今回は、特に問題がありそうな<script>などを別処理ではじくようにしておいて、
後は教えていただいたとおり、画面に表示させる時だけ直前にhtmlspecialcharsをしようと思います。
0042362007/03/18(日) 22:33:18ID:???
>>38
と言う事は特に気にしないで今までの方法で良いと言う事ですね。
ありがとうございました。
0043nobodyさん2007/03/18(日) 23:49:57ID:???
>>39
>3. 参照渡しの方がコードが速くなる
コードが速いってどんな状態なんだよ!
という突っ込みはともかく、参照渡しも値渡しも違いがないんだね
0044nobodyさん2007/03/19(月) 00:14:11ID:???
>>43
PHPの場合、むしろ参照渡しの方が遅い。
0045nobodyさん2007/03/19(月) 00:32:47ID:???
とにかく前スレ埋めようぜ
http://pc11.2ch.net/test/read.cgi/php/1173163186/
0046nobodyさん2007/03/19(月) 09:39:47ID: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()の上は何も記述していません
0047nobodyさん2007/03/19(月) 09:52:13ID:???
>>46
もう一回確認してみ
0048nobodyさん2007/03/19(月) 09:53:17ID:CGcaHKgb
<?
session_start();

・・・・

?>

こんな感じです
0049nobodyさん2007/03/19(月) 09:54:39ID:???
PHPのバージョンはかけよ。
php.iniのセッションの項目をみなおせ。
0050nobodyさん2007/03/19(月) 09:57:28ID:CGcaHKgb
PHP 5.1.4です。
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

です。
0051nobodyさん2007/03/19(月) 10:00:48ID:???
単純に最初の<?の前に改行か空白でもあるんでしょ
0052nobodyさん2007/03/19(月) 10:01:15ID:???
バッファの仕組みがいまいちよくわからないのですが、

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

というソースがあったら、「ob_flushをするまで出力しない」ということでは
無いのでしょうか?上記のソースでは普通に「こんにちわ」が出力されます。
0053nobodyさん2007/03/19(月) 10:05:55ID:???
>>52
マニュアル読め
0054nobodyさん2007/03/19(月) 10:18:52ID:???
>>53
は?
0055nobodyさん2007/03/19(月) 10:35:18ID:CGcaHKgb
>>51
いえ、ないです

1:<?
2:session_start();
0056nobodyさん2007/03/19(月) 10:46:49ID:???
>>52
ob_flushが全く呼ばれなかった場合、スクリプトの終了時に自動的にフラッシュされる。
0057nobodyさん2007/03/19(月) 12:45:20ID:+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してみると??????とかになってしまうのは
なぜでしょうか?
0058nobodyさん2007/03/19(月) 12:59:31ID:???
>>51 >>55
またBOMくさいな。テンプレにいれるべきだ。
0059nobodyさん2007/03/19(月) 13:27:19ID:???
>>58
入れてくれ。
0060nobodyさん2007/03/19(月) 13:32:19ID:???
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
展開方法が間違っているのでしょうか?
0061nobodyさん2007/03/19(月) 14:05:46ID:???
僕の場合、全てUTF-8で、PHPファイルは正常に動くんだけど、ログファイルに関してはBOM削除しないと動作しないんだ。。。
イマイチBOMの仕組みが良く分からない。
0062nobodyさん2007/03/19(月) 15:58:09ID:???
array_unshift()でキーと一緒に指定する方法ってないんだっけ?
0063nobodyさん2007/03/19(月) 15:59:09ID:???
211.161.0.0/24
この場合、0/24の範囲が分かりません 
0〜24ということでしょうか?
0064nobodyさん2007/03/19(月) 16:02:59ID:???
>>63
そりゃPHP関係なさすぎ。
TCP/IPとかソケットとかのネットワーク関連のとこで聞かないと。
0065軟式PHP2007/03/19(月) 16:06:16ID:???
>>63
CIDRでググるといい。
0066nobodyさん2007/03/19(月) 16:09:22ID:???
>>63
左から数えて24bit
11010011 10100001 00000000 00000000
                   ↑24bit目
サブネットマスクでググレ
0067nobodyさん2007/03/19(月) 16:22:55ID:???
>>60
なければ、取ってくればいい
pear instal DB

これで無理だったら、何か問題あるとは思うが
原因を調べたくなかったら、直接
http://pear.php.net/package/DB
にから取ってきて、pear のディレクトリに
展開すればいい
0068nobodyさん2007/03/19(月) 17:28:10ID:???
>>67
コマンドラインから無事入手できました
ありがとうございます
0069虚弱PHP2007/03/19(月) 17:33:49ID:???
>>68
今からならPear::DBよりPDOの方がいいと思うけど。
0070nobodyさん2007/03/19(月) 18:19:11ID:XfpTEzt6
外部ファイルの文字コードを変換する方法ってありますか?

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

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

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

#Linuxならnkfをsystem関数あたりで呼び出せば一発なのになぁ.
0071nobodyさん2007/03/19(月) 18:22:48ID:???
>>70
fopen fgets mbstring
0072702007/03/19(月) 18:32:28ID:XfpTEzt6
>>71
fgetで読み込んで,mbstringで変換,fputで書き込むって感じですか・・・
0073nobodyさん2007/03/19(月) 18:42:26ID:???
>>72
そういう関数を作っておけば今後は一発になるよ。
0074702007/03/19(月) 18:50:02ID:XfpTEzt6
>>73
確かにそれはそうなんですが,そういう関数かなにか用意されてるかなーとか期待してました(笑).

ありがとうございました.
0075nobodyさん2007/03/19(月) 18:54:19ID:???
>>74
execとかsystemあたり使えば一発なんじゃね?
0076702007/03/19(月) 19:00:20ID:XfpTEzt6
>>75
Linuxならnkfを呼び出して一発なんでしょうけど,今回はWindows環境なので・・・.
nkfのWin移植版を使うのはちょっとアレな気がしますし.
0077nobodyさん2007/03/19(月) 19:07:17ID:???
windowsでもコマンドで変える方法は探せばあると思うけど。
別にnkfのwin移植版試してみればいいかと。

どうしてもWinじゃなきゃいけないならだけど・・。
0078nobodyさん2007/03/19(月) 19:36:20ID:???
>>76
つーか、nkfそのものをPHPで作っちゃえばいいじゃない。
0079nobodyさん2007/03/19(月) 20:00:34ID:???
>>74
外部ファイルを更新するようなのは普通は標準に含まないよ。
そんなの標準的に行われるような作法じゃないもの。
0080702007/03/19(月) 20:28:55ID:XfpTEzt6
>>78
・・・俺が?(笑)
っていうかそういうクラス,どこかにありそーですよね.

>>79
そうなのかなぁ.
CSVアップロードさせて,load data infileなんかでDBに書き込む・・・みたいな処理だと,必要になると思うんですけど.
0081nobodyさん2007/03/19(月) 20:42:05ID:???
端から同じエンコードでやりゃ必要ないと思うけど。
0082nobodyさん2007/03/19(月) 21:22:01ID:CGcaHKgb
>>58
すみません、BOMとは何でしょうか?
良ければ詳しく教えていただけないでしょうか?
0083nobodyさん2007/03/19(月) 21:38:53ID:???
つ [BOM UTF-8]
0084nobodyさん2007/03/19(月) 21:44:16ID:CGcaHKgb
>>83
wikiで見てみましたが、session_start()とどう関連するのかが分からない状態です。
<?の上に余分な文字が入ってしまうということなのでしょうか?
0085nobodyさん2007/03/19(月) 22:00:01ID:???
>>84
そのとおり。俺もよく知らんが対応してるエディタで開いて消すしかないんじゃない?
こんなもんPHPが早く対応しろよって思うけどね。
0086nobodyさん2007/03/19(月) 22:00:55ID:CGcaHKgb
Dreamweaver、TeraPadで開いたがUTF-8Nは対応してナス・・・。
0087nobodyさん2007/03/19(月) 22:49:58ID:hHq7NETh
セッションを使ってログインする機能を作る練習をしているのですが、
あらかじめ登録されたIDとパスが入力された場合、
次のページに飛ばしセッションをでそれぞれの登録情報を呼び出します

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

そういった場合はクッキーを使うべきだとは思いますが、クッキーを使わないで解決する手段はありますか?
0088872007/03/19(月) 23:05:36ID: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に対応した登録情報をデータベースから呼び出す・・・
---------------
これでは、複数の人が同時にログインしたとき、セッション変数が同一のものになってしまい、
おなじ内容が表示されてしまうのでしょうか?
0089nobodyさん2007/03/19(月) 23:18:58ID:???
>>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  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
   ̄ ̄   |           /       ̄
0090nobodyさん2007/03/19(月) 23:22:13ID:???
寝る前の立読みなので間違っているかも知れませんがセッションは基本的に
セッション確立時にランダムでSIDを付加するので好きなだけsession_name()
を吐き出して調べてみてください。
0091872007/03/19(月) 23:26:52ID:hHq7NETh
>>90
ということは、このままでも、それぞれのユーザーごとにセッション変数が一緒になることはないということでしょうか?
session_name()を調べて試してみます

ありがとうございます
0092nobodyさん2007/03/19(月) 23:34:41ID:hHq7NETh
すいません
ランダムでSIDを付加するということは、やはり被ることはない・・
ということですよね?
0093nobodyさん2007/03/19(月) 23:38:33ID:???
まずセッションIDの意味を調べたほうがいい
0094nobodyさん2007/03/20(火) 00:01:21ID:w0ATLs0w
もったいぶらずにおしえてくだちい
0095nobodyさん2007/03/20(火) 00:07:29ID:w0ATLs0w
被るのかい?被らないのかい?どっちなんだい?
0096nobodyさん2007/03/20(火) 00:18:28ID:???
$bufferに大量の文字列が入ってるとして、
これをクリアする場合、
$buffer = "";にするのと、
unset($buffer);して新たに$buffer = "";を作成するのと、
何か違いはありますか?
特にメモリの開放?とかで
0097nobodyさん2007/03/20(火) 04:10:27ID:???
>>96
クリアする時は
$buffer = array();
すればひとまずいいと思ってる俺はnoob?
0098nobodyさん2007/03/20(火) 04:18:11ID:???
>>96
後者はデータの格納領域と変数の管理領域の両方をクリアして再取得するから、
無駄に遅くなってメモリの分断化(さほど気にする必要ないけど)を招くだけだと思う。
前者で十分。でもどっちでも大して気にするほどじゃない。
0099nobodyさん2007/03/20(火) 08:35:57ID:???
wikipediaに
PHPは初心者でも簡単だけど、大規模なモノになるとぎゃくに難しいよ。あと再利用性も低いんだぜ

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

あと再利用性というのはどういう事なんですか?
0100虚弱PHP2007/03/20(火) 08:59:05ID:???
>>84
BOMってファイルの先頭に付くから、<?phpの前。
ヘッダ出力前に文字出力をしたと思われちゃうわけ。
0101虚弱PHP2007/03/20(火) 09:14:08ID:???
>>99
大規模とか再利用性とかは、殆ど作り方次第。
言語的な制限で言えばオブジェクトの生存期間とか、
マルチスレッドとかの方が問題じゃないかな。
あ、これは大規模に関係するか。
0102nobodyさん2007/03/20(火) 09:15:21ID:???
ステップ実行できる開発環境ってEclipseかZend Studio?ぐらいしかないで
すか?
0103虚弱PHP2007/03/20(火) 09:23:37ID:???
>>87
セッションIDは普通Cookieに入れるもんだけど。
(というかPHPがCookieに入れてくれる)
セッション情報をCookieに入れたくないって意味だよね??
セッションIDは普通は被らない。

本題とは関係ないけど、
セッション情報にIDとかpassとか入れるのはやめた方がいいと思う。
0104nobodyさん2007/03/20(火) 09:27:31ID:???
>>103

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

理由は?
0105nobodyさん2007/03/20(火) 09:54:55ID:???
>>104
盗まれたら困ります><
sessionはあくまで個人の識別に使うのが吉です><
0106nobodyさん2007/03/20(火) 09:56:14ID:???
それってスクリプトに問題があるような・・・
0107nobodyさん2007/03/20(火) 10:28:43ID:???
別にセッションIDがもれたところで
idやpassそのものがもれるわけではないでしょ
0108nobodyさん2007/03/20(火) 10:39:04ID:???
httpで接続してる以上IDもpassもふしあななんですけどねw
0109nobodyさん2007/03/20(火) 10:40:23ID:???
そんな事を言い出したらw
0110nobodyさん2007/03/20(火) 10:46:05ID:???
盗聴したidとpassにいかに細工をかけるかなんだけどんw
0111虚弱PHP2007/03/20(火) 10:46:17ID:???
>>104
/tmpの下のファイルをcatすると見えるから。
0112nobodyさん2007/03/20(火) 10:49:51ID:???
>>111
そこに拘るなら全てのデータを暗号化する必要がある。
0113nobodyさん2007/03/20(火) 10:54:02ID:???
>>111
任意のコマンドを実行されている時点でアウトだろ。
0114nobodyさん2007/03/20(火) 10:59:43ID:???
>>113
もし、システムを使える人がいて、/tmp以下を見る権限が
あったとしたら……?
0115軟式PHP2007/03/20(火) 11:01:21ID:???
以前、opendir & fopenで/tmpを弄れるレン鯖があったから、あながちありえない話でもない。
ちゃんと鯖管にメールで報告しておいたが。
0116nobodyさん2007/03/20(火) 11:06:17ID:???
それって単純に環境設定に問題があるような
0117nobodyさん2007/03/20(火) 11:07:02ID:???
いや、普通に一般ユーザでも/tmp見られるんだが……。

というより/tmpは一時的な作業用ディレクトリなんだから、むしろ見られなかったり弄れないほうが
おかしくないか?
0118nobodyさん2007/03/20(火) 11:44:19ID:???
>>101

ありがとうございます
0119nobodyさん2007/03/20(火) 11:50:04ID:???
telnetやsshやぶられた上での議論なのか
共用サーバで誰だかわからん他人とサーバ共有してるのが前提の議論なのか
どちらにしてもあまり意味がないな
0120nobodyさん2007/03/20(火) 12:07:09ID:???
ユーザー権限で動作させるとセッションファイルもユーザー権限になるんじゃなかったっけ?
0121nobodyさん2007/03/20(火) 12:32:29ID:???
>>115
管理者からはなんて返事が帰ってきたの? 通常は/tmpはだれでも書き込み可能なのだけど...
0122nobodyさん2007/03/20(火) 12:36:05ID:???
セッションのファイル置くディレクトリって、みんな変えないの?
/tmpのまま?
0123nobodyさん2007/03/20(火) 12:38:26ID:???
おまえらWindowsばかりいじっていないで、少しはUnix系のシステムも
いじってみろよ。
0124nobodyさん2007/03/20(火) 12:53:18ID:???
/tmpって言ってる時点でWindowsの話してるやつは1人もいないと思うが。
0125nobodyさん2007/03/20(火) 12:53:39ID:???
セッションファイルを/tmpに置くのはご法度だろ。
.htaccessなり何なりで変更してからSessionを使うべき。
0126nobodyさん2007/03/20(火) 13:14:23ID: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)とかにしたわけでもなく、
変数に入れただけで挙動が変わるというのが気持ち悪くて納得いきません。
なんでこれを変数に入れるだけで結果が返ってくるようになったのでしょう?
0127軟式PHP2007/03/20(火) 13:18:11ID:???
>>121
返答なかったお('A')
ほかのユーザーのセッション情報丸みえ状態が続いてたなぁ。
結論からいえば、各個人でsession_save_path()や.htaccessで対応しろよってことだろうけど。
0128nobodyさん2007/03/20(火) 13:19:33ID:???
>>126
ワロタ

データベースをmysql_select_db()で選択しないつもりなのか?
それから'@'使いすぎ。
0129nobodyさん2007/03/20(火) 13:21:25ID:???
>>127
当たり前じゃん。どう対応して欲しかったんだ?
0130軟式PHP2007/03/20(火) 13:29:27ID:???
>>129
DSOじゃなくsuExec+phpで動作させ、session_save_pathを個別に〜とか出来ないのかなと思って。
自鯖メインだから詳しくはないんだが、レン鯖ってそういうもんなのかな。
0131nobodyさん2007/03/20(火) 13:39:54ID:???
問いに対する回答にはならないが、
セッションにIDはまだ分かるが、PWは入れる必要性がないように構築しろよ

ログイン時に一致したらPWなんてその後の処理で使わないべ?
0132nobodyさん2007/03/20(火) 13:43:07ID:???
>>128
データベースリソースの中で変化が起こってる。
mysql_select_dbはそもそもブール値で成否を返すだけ。
0133nobodyさん2007/03/20(火) 14:23:09ID:???
>>132
> mysql_select_dbはそもそもブール値で成否を返すだけ。


> mysql_select_db -- MySQL データベースを選択する:
> 指定したリンク ID が指すサーバ上のデータベースを、アクティブな
> データベースに設定します。
0134nobodyさん2007/03/20(火) 14:24:46ID:???
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
0135nobodyさん2007/03/20(火) 14:28:26ID:???
考え違いをしているのでしょう
0136虚弱PHP2007/03/20(火) 15:45:14ID:???
>>111
ってか、rootだろうが他人のパスワード見れるのはいくないね。
0137nobodyさん2007/03/20(火) 15:46:29ID:???
>>130
レン鯖なんて大抵そんなもんだ。
自分でsession_save_pathを変更もできない人は情報だだ漏れさせとけ。
0138nobodyさん2007/03/20(火) 15:47:20ID:???
「補足」って書かないと自演だと思われるよ
0139nobodyさん2007/03/20(火) 15:49:04ID:???
>>126
変数に入れるだけって…関数が実行されてるっつーの。
ってか、実行結果を意味もなく変数に格納して何がしたいんだお前は。
気持ち悪いのはマニュアルも満足に読めない君の脳みそ。
0140nobodyさん2007/03/20(火) 16:05:14ID:???
初心者で@使っている人は大体意味不明な事を言っている。
@なんて使わなくてもいいのだから、やめたほうがいいよ。

多分どっかからコピペしてきて意味も分かって無いんだろうけど。
本読んで基礎からやったほうがいい。
01411262007/03/20(火) 16:12:44ID:O2vxf7Jf
レスありがとうございます。
>>128
>データベースをmysql_select_db()で選択しないつもりなのか?
仰るとおりですね。よく考えればPEAR::DBでも選択しないとだめだし、
選択しないと無理ですよね・・・

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

mysql_error()をはかせないために@を入れたのですが、
>>126の例ではとりはらってたので無意味でしたね。
デバッグ用に書いただけなのできにしないで下さい。
0142nobodyさん2007/03/20(火) 16:19:55ID:???
>>141
@なんて使わなくてもmysql_error()なんて出力されねーよwww
0143虚弱PHP2007/03/20(火) 16:20:16ID:???
>>138
ありがとう。
どこにレス付けたらいいもんかわかんなかったもんでw
0144nobodyさん2007/03/20(火) 16:27:34ID:???
>>141
>>変数に入れるだけって…関数が実行されてるっつーの。
>それは知りませんでした。

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

スマートなコードの書き方としては、データベースのオープンと選択を
一つの関数として定義するっていうのはどうだ?
01451262007/03/20(火) 16:27:56ID:O2vxf7Jf
>>142
マニュアルに書いてたのを最初うつしたので、その名残です。
まぁ無意味な突っ込みはいらないので・・・
01461262007/03/20(火) 16:29:32ID:O2vxf7Jf
>>144
>スマートなコードの書き方としては、データベースのオープンと選択を
>一つの関数として定義するっていうのはどうだ?

なるほど。PEARでも一緒にやってますからこれがベストでしょうね。
早速そのように書いてみたいと思います。
0147nobodyさん2007/03/20(火) 16:29:58ID:???
先生質問。

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

 hoge.php?param=12345

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

 hoge.php?param=12345+

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

 hoge.php?param=12345

というURL欄表記になるようにすることはできますか?
HTTPのLocation:ヘッダでcgiのURLに飛ばすと、
CGIが2度起動してしまってよくありません
01481262007/03/20(火) 16:32:06ID:O2vxf7Jf
>>147
空白を取り払いたいっていうなら単純にtrimすればいいんじゃないですか?
0149nobodyさん2007/03/20(火) 16:35:31ID:???
ブラウザから見たURLの話だろう

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

画面を強制遷移させないとな
0150nobodyさん2007/03/20(火) 16:52:53ID:???
>>147
JavaScriptで入力値の検査やったら?
0151nobodyさん2007/03/20(火) 16:53:19ID:cG2Mu5nH
>>147
Location:で強制遷移させる以外の芸はできません。

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

ということで
メインの処理をさせる前に
「予定外のパラメータが来たら希望のパラメータに変換したURLを即生成してLocation:で速攻飛ばす」
という処理を組み込む必要があります。
いらん負荷な感じがしてめんどくさいっすな。
0152nobodyさん2007/03/20(火) 17:04:15ID:???
まあセキュリティ対策の為にクエリを見せたくないってだけなら必要ないんじゃね
01531472007/03/20(火) 17:09:48ID:???
>>150
ああ、しまった、思いつかなかった。
ある程度前処理効きそう。

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

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

うう、JavaScript書くの苦手だ…
0154nobodyさん2007/03/20(火) 17:12:17ID:???
>>153
つPEAR
0155nobodyさん2007/03/20(火) 17:18:13ID:???
>>151
つ[RFC 1738]
0156nobodyさん2007/03/20(火) 20:01:40ID:???
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以外の文字が入ってた場合に
マッチさせるためにはどのように書けばいいのでしょうか?
0157nobodyさん2007/03/20(火) 20:06:33ID:???
>>156
preg_match('/^[^a-zA-Z0-9]+$/', $str)
0158nobodyさん2007/03/20(火) 20:25:46ID:???
>>157
それだと英数字が入ってた場合マッチしないでしょ。

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

!preg_match('/^[[:alnum:]]+$/',$str)
01591562007/03/20(火) 20:31:24ID:???
>>157-158
お二人ともレスありがとうございます。
>>158さんの
preg_match('/[^[:alnum:]]/',$str)
で思うとおりにいきました。
助かりました。
0160nobodyさん2007/03/20(火) 22:36:40ID:???
>>123
仕事ではUNIX、自宅のPCには Vine Linux、自宅サーバも Vine Linux、レンタル
サーバは FreeBSD ...

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

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

アドバイスいただけませんでしょうか。
0162nobodyさん2007/03/20(火) 23:00:16ID:???
まず>>1を読んでください。
0163nobodyさん2007/03/20(火) 23:04:29ID:???
俺ずっとEUC-JPで作ってるんだけど、UTF-8ってそんなにメリットある?
0164nobodyさん2007/03/20(火) 23:12:36ID:???
俺ずっとUTF-8で作ってるんだけど、EUC-JPってそんなにメリットある?
0165nobodyさん2007/03/20(火) 23:15:23ID:???
pregでマルチバイト文字が使えるとか、SQLiteがUTF-8だとか。

俺はSQLiteはもちろん、多言語コンテンツとか扱ったりしてるんで重宝してるかな。
0166nobodyさん2007/03/21(水) 00:21:55ID:???
機種依存文字でUTF-8でiso-2022-jpか。やりたくねえ仕事だなw
どうしてもって言われたら俺だったらShift_JISでやる。それでもダメなら諦める。
0167nobodyさん2007/03/21(水) 00:53:39ID:???
さすがに、メールエンコードはISO-2022-JPだろ
0168nobodyさん2007/03/21(水) 01:53:14ID:???
メールエンコードもユニコードに統一しないのかね
0169nobodyさん2007/03/21(水) 02:39:36ID:???
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) の部分では正しく文字コードが表示されないと想像するのですが、
原因が分かれば教えてください。
0170nobodyさん2007/03/21(水) 02:57:09ID:???
mbstring.encoding_translationがOnになってるんだろう
0171nobodyさん2007/03/21(水) 03:25:15ID:YGgKlNYh
初心者です。宜しくお願いします。
php-5.2.1とapache_2.2.3-win32-x86-no_ssl.msiを
インストールし設定しましたが、コードに書いた日本語が表示されません。
ソースはちゃんと見れるので、アクセスしているアドレスはあっていると思います。
何を調べて設定すればいいか、さっぱりわかりません。教えてください。
01721692007/03/21(水) 03:33:45ID:???
>>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 に変換するので、「あ」だけおかしくなってしまうのかな?
間違いがあればご指摘ください。
0173nobodyさん2007/03/21(水) 03:34:48ID:???
>>171
環境とソースを晒して味噌
01741692007/03/21(水) 03:38:35ID:???
>>172 の訂正
> ob_ob_end_flush()
ob_end_flush()

>>171
とりあえず
ttp://jp.php.net/mbstring
0175nobodyさん2007/03/21(水) 03:44:08ID:???
>>171
ソースは何で書いてんの?
ソースファイルのエンコードはなに?
0176nobodyさん2007/03/21(水) 04:25:01ID:???
昨日も同じ質問見た気がするなw>>171
0177nobodyさん2007/03/21(水) 05:46:21ID:???
どっかで見たような気がするんだけど、
switch(式){
case ...
case ...
...
}
で、式ってcaseの判定のたびに評価されるんでしたっけ?
だとしたら関数の戻り値を代入するような式は書かないほうがいいかな
01781772007/03/21(水) 05:52:07ID:???
スマソ
マニュアル見たら全然反対だったorz
0179nobodyさん2007/03/21(水) 07:04:01ID: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"); としても、ダメです。。

文字コードについて非常にヨワイんで変なことかいてるかもしれませんが
回答よろしくお願いします。
0180nobodyさん2007/03/21(水) 07:29:43ID:???
>>168
なにその昔のGmail
0181nobodyさん2007/03/21(水) 07:47:48ID:Im+K+kee
PHPでのクッキーの取り扱いについて質問です。

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

つまり、他のサイトにジャンプしたか否かはわかっても、
そのサイトでどういう動作をしたのかわかりませんよね?
ちょっと知人に聞かれたので、質問した次第です。
0182nobodyさん2007/03/21(水) 07:51:52ID:???
うるせ
0183nobodyさん2007/03/21(水) 08:23:41ID:???
getdateとdateってどちらの方がコストが高いのでしょうか?
0184nobodyさん2007/03/21(水) 09:11:23ID:MryAv9T3
ファイルは存在するのに更新時間を得ようとするとエラーになります
なぜでしょう?

Warning: filemtime() [function.filemtime]: stat failed for pathname, in pathname.
0185nobodyさん2007/03/21(水) 09:19:26ID:???
>>184
自解、ファイル名に「,」が入ってたorz
0186nobodyさん2007/03/21(水) 09:30:00ID:???
>>179
指定が逆。
mb_convert_encoding(string str, string to_encoding, mixed from_encoding)
というか表示毎にやるよりテキストをEUC-JPにしたほうがいいと思うけど…。

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

>>183
ほとんど変わらない。
ただdateの場合、フォーマット文字列に文字、特にフォーマット文字が多いほど時間がかかる。
ミリ秒未満の次元だけど。
01871692007/03/21(水) 09:37:17ID:bM95fc6P
すいません、早く解決したいのでthebbs逝ってきます。
01881812007/03/21(水) 10:02:12ID:???
>>186
トラッキングクッキーをググって調べてみたのですが、
以下のような事が出来るわけではありませんよね?

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

Aサイトと自分のサイトは全く関連性がありません。
例えばAサイトは2ちゃんでもいいです。
それで、掲示板にレスしたりどの板を見たりわかるもんなんでしょうか?
0189nobodyさん2007/03/21(水) 10:44:38ID:???
>>188
基本的にクッキー自体は設定したサーバーとのみやりとりされるだけで、
クッキー設定をしたからといってどうこう出来ません。

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

つまりクッキー自体がどうこうというわけではなく、
クッキーを利用しているだけなので、
別サイトだとか、前述のように方々に把握手段がある訳ではない、
関連性がないのであれば解りません。
01901812007/03/21(水) 10:51:25ID:???
>>189
丁寧なご説明ありがとうございます。

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

これで知人にPHPとクッキーの所為を説明できます。ありがとうございました。
0191nobodyさん2007/03/21(水) 11:10:25ID:???
こんな馬鹿に教えられる知人も可哀想だなw
0192nobodyさん2007/03/21(水) 12:16:46ID: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 です
宇宙空間に飛び出してしまった私を助けてください。
0193nobodyさん2007/03/21(水) 13:16:03ID:???
>>192
文字化けしてても俺は頑張れば読めるから、?????のままにしとけばいいんじゃね
0194nobodyさん2007/03/21(水) 13:18:12ID:???
>>192
phpmyadminでログインする時に言語を選ぶようなところをUTF-8にしてある?
0195nobodyさん2007/03/21(水) 13:20:43ID:ltx9nvzy
>>193
有難うございますm(__)m
読めるようになりたいです(>_<)
0196nobodyさん2007/03/21(水) 13:22:09ID:3i8vjnb6
test
0197nobodyさん2007/03/21(水) 13:24:42ID:ltx9nvzy
>>194
有難うございますm(__)m
UTFー8にしました
各フィールドもUTF-8にしました。
0198nobodyさん2007/03/21(水) 13:25:37ID:???
俺もMySQL5.0で文字化けする
どうやっても治らない
0199nobodyさん2007/03/21(水) 13:28:55ID:???
>>197
で、phpmyadmin上で適当に日本語でデータを登録して、
その登録したデータを表示しても化けてる?
0200nobodyさん2007/03/21(水) 13:31:22ID:PXILTMPJ
1,ホゲホゲ
1,ムシムシ
2,example
2,HMDM
のテキストファイルがあり、
各先頭の数値の配列に格納したいのですが、
foreachで回し、splitで,区切りで分けて入れていったのですが
[1] => Array
(
[0] => ホゲホゲ
)

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

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

と、1の配列だけバラバラになってしまいます。
同じ1ですが、何か違うのでしょうか?
半角全角は同じです
0201nobodyさん2007/03/21(水) 13:33:10ID:PXILTMPJ
ちなみに

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

このように処理しています
0202NORIAKI2007/03/21(水) 13:35:34ID:mYSHDxhf
ちょっとサイト制作で困っているんですが力かしてください

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

後、playlist.xmlのどの部分にUTF-8を入力するんですか?
詳しくおしえてください
0203nobodyさん2007/03/21(水) 14:00:34ID:ltx9nvzy
>>198 有難うございます
やはりそうですか
>>199 有難うございます
やってみます
0204nobodyさん2007/03/21(水) 14:01:33ID:???
>>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
  )

)
0205nobodyさん2007/03/21(水) 14:15:38ID:???
ムシムシって何
0206nobodyさん2007/03/21(水) 15:46:41ID:???
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
0207nobodyさん2007/03/21(水) 15:49:02ID:???
レン鯖は大概socket系は制限かけてると思う
0208nobodyさん2007/03/21(水) 16:11:34ID:???
file_get_contents の
resource context
って何よ
0209nobodyさん2007/03/21(水) 16:20:25ID:???
注意: コンテキストのサポートは、 PHP 5.0.0 で追加されました。contexts の説明に関しては、 ストリーム を参照してください。
0210nobodyさん2007/03/21(水) 16:21:58ID:???
参考
file() 
fgets() 
fread() 
readfile() 
file_put_contents() 
stream_get_contents() 
stream_context_create() 
0211nobodyさん2007/03/21(水) 17:23:19ID:PXILTMPJ
現在のURLをhttp://から取得するにはどうすれば良いのでしょうか?
0212nobodyさん2007/03/21(水) 17:54:54ID:???
phpinfo() を穴が開くほど眺めてると分かるよ
0213nobodyさん2007/03/21(水) 18:20:38ID:CD9tFSRt
>>192
skip-character-set-client-handshake の記述をした後
mysql を再起動している?

0214nobodyさん2007/03/21(水) 18:25:48ID:???
>>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 して、文字が化けるか確かめる
この時点でおかしい場合は、データの格納に問題あり
これで化けていないときは、表示用のスクリプトに問題あり
0215nobodyさん2007/03/21(水) 19:08:12ID:???
なんか文字化けの質問多くなってない?
0216nobodyさん2007/03/21(水) 19:12:43ID:???
全部、同一人物なんじゃね
0217nobodyさん2007/03/21(水) 19:14:53ID:???
system関数が使えない&cronが使えないサーバで、処理に時間のかかる(30秒弱ほど)PHPスクリプトを
走らせたいのですが、iframeタグを使わずに実現させる方法はありますでしょうか?
0218nobodyさん2007/03/21(水) 19:17:20ID:???
mysqlは最近のバージョンは文字コード関係の
妙な設定が増えて、安定していない
0219nobodyさん2007/03/21(水) 19:30:20ID:???
>>217
30秒程度なら、なんとか動きそうな気もするが
そんなスクリプトをブラウザ経由で動かすのは
あきらめたほうがいい
WEBサーバのチューニングが必要になってしまう
0220NORIAKI2007/03/21(水) 20:05:58ID:mYSHDxhf
文字コードのUTF-8がどのように使うのですか?
0221nobodyさん2007/03/21(水) 20:12:36ID:???
日本語でおk
0222NORIAKI2007/03/21(水) 20:27:07ID:mYSHDxhf
ちょっとサイト制作で困っているんですが力かしてください

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

僕のサイトです。
ttp://www48.tok2.com/home/noriaki416/
0223nobodyさん2007/03/21(水) 20:30:41ID:???
これは・・・・・
0224NORIAKI2007/03/21(水) 20:37:47ID:mYSHDxhf
これは?
0225nobodyさん2007/03/21(水) 20:55:13ID:???
あれだな
0226nobodyさん2007/03/21(水) 21:05:03ID:???
↓これだよ
0227nobodyさん2007/03/21(水) 21:09:21ID:???
>>202
playlist.xmlをUTF-8形式で保存すればいいだけ。
つまり全くのスレ違いだからさようなら。
0228nobodyさん2007/03/21(水) 21:25:44ID:???
>>200
そのテキストファイルはUnicodeではないかな?だとすればほぼBOMのせい。
あと正規表現を使わないのであればexplode()を使った方がいい。
0229nobodyさん2007/03/21(水) 21:28:25ID:???
BOMって最近でてきたの?
今までは普通にできてたんだが・・・
0230NORIAKI2007/03/21(水) 21:51:53ID:mYSHDxhf
>>227
分かりやすい解答、アリガトウゴザイマス
0231nobodyさん2007/03/21(水) 23:18:54ID:sJhjrKxn
<?php include("./abc.php"); ?>と埋め込みをしてるのですが
今回借りたサーバーはこれが使えません。
フレームにするのも嫌なのでincludeと同じような埋め込みタグってphpでは
ないでしょうか?
すいませんが教えて下さい。
0232nobodyさん2007/03/21(水) 23:24:40ID:/6QaFGmv
>>199  駄目でした 数字以外は[???]になってます。
>>213 再起動しました
>>214有難うございます 初心者なんでわからないところもありますが
調べながらやって見ます
0233nobodyさん2007/03/21(水) 23:48:50ID:???
>>231
なにそれ
PHPが使えないんじゃなくて?
0234nobodyさん2007/03/21(水) 23:50:42ID:???
>>231
PHPが使えないんじゃね?
0235nobodyさん2007/03/21(水) 23:58:44ID:???
質問させてください。
PHPをLinux環境にインストールする際に、configure実行後に「make test」を実行したら、
"You may have found a problem in PHP."とかいうメッセージが表示されました。

どうも文面を読んでいると、開発者が今後のバージョンアップに役立てられるよう
なるべくテスト結果を送信してください、というニュアンスが読み取れましたが、
そもそも「make test」の実行結果は、インストール環境上で正常に動くかどうかを判断する
目安として使えるのでしょうか?
ググってみましたが、上記の正否について答えが得られませんでしたので、
どなたが教えてください。
0236nobodyさん2007/03/21(水) 23:59:38ID:???
DB組んで検索〜 とかできるようになったんだけど、
処理後、リロードボタンを押すとアラートダイアログがでて
「再送信しなきゃいけません」とでます。
どうしたらこれなくせますか? お恥ずかしいんですが、お願いします。
0237nobodyさん2007/03/22(木) 00:13:24ID:???
>>236
セッション使ってるだろ?
ググればいっぱい解決方法見つかるよ

あと微妙に警告メッセージを省略しないほうが嬉しい
0238nobodyさん2007/03/22(木) 00:18:32ID:???
フォームをPOST後に同じページに戻ってきてるからでは?
0239nobodyさん2007/03/22(木) 00:24:54ID:???
>>231を読んで思ったんだが、includeを単に

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

みたいな使いかたしかしていない人多くないか?
PHPさわりたての初心者が「PHPのincludeすげー」って言うみたいな感じがする。
0240nobodyさん2007/03/22(木) 00:30:14ID:6SECQzgU
232です
>>199 >>213 >>214 有難うございました
表示できるようになりました 
有難うございます(上記レス番以外の方でも教えていただ
いたかたにも感謝です有難うございました)
0241nobodyさん2007/03/22(木) 01:11:20ID:R85brVFQ
simplexml_load_fileを使いたいのですが、現在利用しているサーバが
PHP4.3なので使えません。

こういう場合、どうやって代用するのでしょうか?
(PHP5対応のサーバを契約する以外で)
0242nobodyさん2007/03/22(木) 01:19:59ID:???
>>241
その関数使ったことが無かったから今マニュアルパッと見て
見たけどただ単にXMLデータを配列に突っ込むだけでしょ?
正規表現使うだけで簡単に自作できる範囲だと思うぞ
02432412007/03/22(木) 01:23:12ID:???
>>242
そうなんですかね?私のイメージではXML配信サイトにアクセスして
XMLデータを取得する為にsimplexml_load_file関するが必要に
なると思っているのですが・・。
02442412007/03/22(木) 01:23:43ID:???
修正
simplexml_load_file関するが→simplexml_load_file関数
0245いつもお世話になってます2007/03/22(木) 01:31:33ID:Dy86ottT
メール送信フォームのリロード対策についてですが、
入力→確認→メール送信&完了画面
のフォームを作成しているのですが、完了画面でのリロード対策のため、
メール送信処理.phpの中でheader(Location)を使って完了画面を呼び出し、
完了画面では入力した内容を表示させ、「以下の内容で送信しました」的なページにしようと思っています。
確認画面でhiddenで値をもたせていたのですが、Loccationで設定する完了画面でhiddenの値が伝わっていません。
Locationで指定した完了画面に値を渡すのはどうすればいいのでしょうか?
0246nobodyさん2007/03/22(木) 01:42:12ID:???
POSTはできないからURLにパラメータつけるしかないんじゃない?
つーかその設計はやめとけ。
0247nobodyさん2007/03/22(木) 01:43:02ID: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です。
環境とは?何を説明すれば宜しいでしょうか?
0248nobodyさん2007/03/22(木) 01:51:15ID:???
>>247
そういうのどんな本に書いてあるの?
0249nobodyさん2007/03/22(木) 01:51:48ID:???
>>243
まずお前のしたい事を実現するにはXMLファイルが必要だよな?
でも今回はその為の関数が使えない訳だ。

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

fopenとかfileとかで取得できるんじゃないか?
0250nobodyさん2007/03/22(木) 01:54:39ID:???
>>243
DOM XMLは?
あとPEARにもあるんでないの?
0251nobodyさん2007/03/22(木) 01:57:17ID:???
>>247
01-01

はタイトルバーに表示されてるの?俺は表示されてないほうに1000ガバス
0252nobodyさん2007/03/22(木) 02:00:22ID:???
>>251
されるんじゃないのか?
0253nobodyさん2007/03/22(木) 02:02:29ID:???
>>252
文字化けじゃなくて「表示されない」と>>171では書いてるので
日本語の問題じゃなくてサーバの設定と読んで
なけなしの1000ガバスを賭けてみた次第。
0254nobodyさん2007/03/22(木) 02:48:58ID:???
>>237
セッションは使ってないんです。
>>238さんの言うとおり、index.php内のフォームの設定が
action="index.php" になっています。
リロードするたびに送信してるんですよね。。
色々解決法探してみますが、気の向いた方、教えてください
0255nobodyさん2007/03/22(木) 02:55:12ID:???
>>254
不可能
0256nobodyさん2007/03/22(木) 02:56:27ID:???
>>171
apacheでPHPの設定してないでしょ?
02572412007/03/22(木) 03:07:51ID:???
>>249
説明ありがとうございます。何度か実験しているのですが、
XMLを取得する方法というのが分かりません。
例えば、
$fp=fopen("取得先のURL","r");
print_r($fp);

とかしてみたのですが、Resource id #4というエラーが出ます。
PEARはサーバによって使えないので、もしPHP4の機能のみで
xmlファイルが読み込めたらいいのですが・・。
02582412007/03/22(木) 03:18:57ID:???
自己レスです。xml_parseという関数を使ったら出来ました!
これはPHP4でも使えるみたいですし、望むとおりの出力を
得る事が出来ました。
0259nobodyさん2007/03/22(木) 03:29:56ID:???
>>254
応急策はあるよ。
0260nobodyさん2007/03/22(木) 03:30:24ID:???
>>257
関数リファレンスくらい見ようよ・・・
0261nobodyさん2007/03/22(木) 03:39:39ID:???
>>258
お手軽にやるんだったらすごいラクチンなのがPEARにあるけどね。
0262nobodyさん2007/03/22(木) 05:05:34ID:uQqlXzTc
>>256
http://allabout.co.jp/internet/database/closeup/CU20061118A/index.htm?NLV=CN000062-35
↑のサイトを見ながらやってみたつもりです。
0263nobodyさん2007/03/22(木) 05:07:58ID:???
>>262
>>248

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

ところで質問なんですが、XMLってわかったほうがいいですか?
どういうときに便利なんですか? 知ってると知らないじゃ大違いっていう
シチュエーションは??
暇な人教えてください
0265nobodyさん2007/03/22(木) 10:27:15ID:???
亀だが
>>239
以外にも使い方あんの?
0266nobodyさん2007/03/22(木) 10:29:46ID:???
php.iniの設定だと思うのですが
今、<?php ?>できちんとphpが動作します。
しかし、phpの省略されている<? ?>ではphpが動作しません。

<?php <?の両方で動作させるようにするには
どのように設定すればよいのでしょうか。
0267nobodyさん2007/03/22(木) 10:32:18ID:???
>>266
http://jp2.php.net/manual/ja/ini.core.php#ini.short-open-tag
0268nobodyさん2007/03/22(木) 10:32:23ID:???
>>264
POSTのactionを送信元じゃなく違うPHPにして
header("Location: " . $_SERVER['HTTP_REFERER']);

これでOK
0269nobodyさん2007/03/22(木) 10:34:44ID:???
HTTP_REFERERは任意、チェックしないと変な事になるぞ
0270nobodyさん2007/03/22(木) 10:41:22ID:???
まあ変な事になるのは変な事をしてる奴自身だけじゃね
0271nobodyさん2007/03/22(木) 10:46:11ID:???
ソフトで隠蔽する奴があるからな
02722542007/03/22(木) 10:48:14ID:???
>>268
そうですね、やっぱりそうするのが一番みたいです
そうします、ありがとうございました
0273nobodyさん2007/03/22(木) 10:59:23ID:???
>>265
includeの使い方が?それともPHPの使い方が?
前者だったらincludeはクラスとか同一処理をまとめたものを複数のスクリプトから使う「PHPファイル」を読み込むべき。
単にHTMLファイルを挿入したいのだったらreadfileを使うべき。
というかPHPファイルを読み込む場合でも失敗時Fatal吐くrequireの方がいいと思うんだけどな…。
0274nobodyさん2007/03/22(木) 11:01:50ID:???
存在しないファイルを読み込もうとする事がまずないしね
チェックするだけならisで十分だし
0275nobodyさん2007/03/22(木) 11:10:57ID:???
>>267
ありがとう!
0276nobodyさん2007/03/22(木) 11:27:19ID:???
>>275
どういたしまして
0277nobodyさん2007/03/22(木) 11:35:26ID:???
>>276
本当に本当にありがとう!!
0278nobodyさん2007/03/22(木) 11:36:43ID:3Rw0psxe
BOMについて、
・なぜUTF-8でファイルを保存すると付加されるものがあるのか
・BOMを付加してなにか良いことがあるのか
・PHPアプリケーションの作成において、BOMは付加すべきなのか
が分かる資料(参考サイト)等をご存知の方、是非教えてください<(_ _)>
0279nobodyさん2007/03/22(木) 11:40:27ID:???
>>278
wikipedia
0280nobodyさん2007/03/22(木) 11:42:56ID:3Rw0psxe
>>279
ありがとうございます。
3個目の質問が解決できるサイトはご存知ですか?
0281nobodyさん2007/03/22(木) 11:52:22ID:???
>>280
google
0282nobodyさん2007/03/22(木) 11:54:40ID:/ltj0PDI
あれ寄生虫?
0283軟式PHP2007/03/22(木) 11:58:17ID:???
上司に説明でもすんのかね?
BOMは付加すべきではない。このスレを見てたら分かるだろ…。
0284nobodyさん2007/03/22(木) 11:59:11ID:???
学校の宿題ではないですか?
0285nobodyさん2007/03/22(木) 12:05:44ID:???
学校って専門?
大学でPHPやったりしてるのいまは
0286nobodyさん2007/03/22(木) 12:10:03ID:d0YYvDtL
Webデザイン科でPHP習ってない俺の専門学校はオワタ
0287nobodyさん2007/03/22(木) 12:25:48ID:???
Webデザインならhtml,css,javascript,flashこんなもんだろ。
0288nobodyさん2007/03/22(木) 13:04:46ID:???
>>287
サーバーサイドの知識なしで就職できるとでも?
0289nobodyさん2007/03/22(木) 13:05:36ID:???
高専だけどC、シェル、Perl、PHP、Java、Flashは習うよ。
HTMLとCSSは知ってて当然って感じで授業やってる。
0290nobodyさん2007/03/22(木) 13:11:28ID:???
>>288
WEBデザインだぞ?
どちらかというとセンスが一番肝心だと思うが。
ぶっちゃけhtml,css,javascript,flash等しらなくてもいい。

>>289
情報系の高専?
CとPerlならやるとこ多いけど、そんないっぱい習うんだね。
しかもFlashとかPHPまでやるのはちょっと謎いけど。
0291nobodyさん2007/03/22(木) 13:17:40ID:???
高専ってアセンブリっぽいイメージがあるけどな
0292nobodyさん2007/03/22(木) 13:21:52ID:???
>>291
もちろん機械語も習いますよ。PICとか
実際に使えるのはCのアルゴリズムとPerlくらいでしょうか・・・
0293nobodyさん2007/03/22(木) 14:43:26ID: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 でどうにかローマ数を表示する方法はないでしょうか?
0294nobodyさん2007/03/22(木) 14:45:39ID:???
>>293
http://jp2.php.net/manual/ja/ref.mbstring.php
0295nobodyさん2007/03/22(木) 14:45:55ID:IfsQAtHX
C/C++が分かれば、ほとんどの言語は理解できる。
PHPなんて数時間で使えるようになる。
(どんな便利な関数があるかは覚える必要あるけど)
0296nobodyさん2007/03/22(木) 14:50:21ID:???
バカっぽい人キタ━━━━(゜∀゜)━━━━!!
0297nobodyさん2007/03/22(木) 16:23:44ID:???
>>295
ローカル向け開発しかしてないようなら意外と色んなこと覚えなきゃ駄目だけどな
0298虚弱PHP2007/03/22(木) 16:56:18ID:???
まあ、言語として使えるのと、
アプリケーションとして耐えるものを作るのは別だから。

俺はどんな言語でも数時間ではむりw
0299nobodyさん2007/03/22(木) 18:01:39ID:???
>>298
俺は「ユーザーが素人の場合の直感操作」に重きを置いてる
0300nobodyさん2007/03/22(木) 18:14:00ID:???
それはプログラマの仕事ではない
0301nobodyさん2007/03/22(木) 18:17:29ID:???
Cやbasicは学校の授業で習ったけど、難しくて無理。
けど、PHPは比較的優しいし、HTMLと連携できるのでわかりやすい。

誰かが本で書いてたけど、プログラム的に優れているのはCやJAVAかも
しれんが、プログラムを苦手とする人がとっつきやすいのはPHPだよ。
だからここまで普及したしな。
0302nobodyさん2007/03/22(木) 18:31:02ID:???
HTMLの中にスクリプトを埋め込むイメージが受けただけかと
そうでなければ別にPerlでも問題なかったわけだし
0303nobodyさん2007/03/22(木) 18:43:07ID:???
プログラムが苦手ならこんなものにとっつかない事が一番いいんじゃ…
0304nobodyさん2007/03/22(木) 19:03:32ID:???
>HTMLの中にスクリプトを埋め込むイメージが受けただけかと

これが一番大きいだろうな。
0305nobodyさん2007/03/22(木) 19:58:47ID: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で書いていますが、
試しにファイル内を空にして実行してみても'?'一文字だけ出力されています。
0306nobodyさん2007/03/22(木) 20:00:55ID:???
>>305
「UTF-8 BOM」でググる
0307nobodyさん2007/03/22(木) 20:04:28ID:???
BOMの人気に嫉妬
0308nobodyさん2007/03/22(木) 20:06:05ID:???
わざとやってんだろ、こいつw
03093052007/03/22(木) 20:10:59ID:???
わざとじゃないっす。天然です。
ありがとうございました。そしてすいませんでした。
0310nobodyさん2007/03/22(木) 20:12:57ID:???
つか勝手にBOMをつけるエディター使ってるやつ多すぎ。
オプションとかでつけないように設定できないの?
03113052007/03/22(木) 20:18:54ID:???
>>310
ちがうんです。
文字コードを選ぶドロップリストをホイールでグリグリやって選択したら
UTF-8Nを通り越してUTF-8になってたみたいで。

最近定例行事みたいに最初にやる行動だから
気付かなかったんですよね。
慣れは怖いです。
0312nobodyさん2007/03/22(木) 20:26:50ID:???
そういえばメモ帳って勝手にBOM付けるよね…。
0313nobodyさん2007/03/22(木) 21:04:28ID:???
そりゃ、windowsが推奨しているからだ
0314nobodyさん2007/03/22(木) 21:16:24ID:???
Dreamweaverで作ってるけど、
会社で作ったやつにBOMついてたらしく、こっちでうごかねぇ・・・
DreanweaverでもUTF-8とUTF-8Nがあるのか!?
それとも、俺がメモ帳か何かでいじっちゃったのかなぁ・・・
0315nobodyさん2007/03/22(木) 21:27:29ID:???
>>314
「Dreamweaver UTF-8 BOM」でググる
0316nobodyさん2007/03/22(木) 21:31:21ID:???
DreamweaverなんかでPHP書いてる奴はやめたほうがいいとおもうよ
0317nobodyさん2007/03/22(木) 21:38:28ID:???
なぜ?
0318nobodyさん2007/03/22(木) 21:38:46ID:???
Dreamweaverって何?
0319nobodyさん2007/03/22(木) 21:39:42ID:???
夏だなぁ
0320nobodyさん2007/03/22(木) 21:46:09ID:???
>>318
そんくらいググレよ
0321nobodyさん2007/03/22(木) 21:54:15ID:???
>>320
ググれって何?
0322nobodyさん2007/03/22(木) 21:59:44ID:???
みんなDreamweaver使ってないの?
0323nobodyさん2007/03/22(木) 22:06:01ID:???
>>322
使ってないよー
前に試してはみたけど。
aptanaも試してみたけど、とりあえず動作重杉で結局miとかにもどっちゃう。
関数なんかはキーボードのショートッカッツ使ってる
0324nobodyさん2007/03/22(木) 22:21:05ID:???
私的にDWはHTMLエディタっていう位置づけ。
0325nobodyさん2007/03/22(木) 22:51:26ID:???
糞IDEの話はもういいから、UTF-8 BOMをテンプラ入りさせるための名文考えて。
0326nobodyさん2007/03/22(木) 23:01:39ID:???
■なにも記述してないファイルなのに3バイト?PHPファイルが動作しない?
つ【UTF-8 BOM】
0327nobodyさん2007/03/22(木) 23:05:37ID:???
■〜で〜すると何故か〜になってしまいます。文字コードはUTF-8です。
つ【UTF-8 BOM】
0328nobodyさん2007/03/22(木) 23:06:33ID:???
DB質問スレが見当たらなかったので質問なのですが、

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

name
テスト
テスト
テスト

SELECT * FROM hogehoge
で取得し、見てみると、
「テスト」がひとつしか格納されていません
全て取得するにはどうすれば良いのでしょうか?
0329nobodyさん2007/03/22(木) 23:07:12ID:???
>>328
板違い
0330nobodyさん2007/03/22(木) 23:08:05ID:???
>>328
http://jp2.php.net/mysql_query
0331nobodyさん2007/03/22(木) 23:10:15ID:???
>>329
データベース板で探したのですが、質問スレが見当たりませんでした。
もし宜しければ誘導お願いできないでしょうか?

>>330
mysql_queryは使っています
0332nobodyさん2007/03/22(木) 23:15:03ID:???
>>328
この辺で良いんじゃない?
http://pc11.2ch.net/test/read.cgi/db/1160458216/

IDも出さない禿げは死ねば良いと思うよ。
0333nobodyさん2007/03/22(木) 23:15:35ID:d0YYvDtL
>>332
有難うございます。
てっきりsageチェックはずしたつもりでした
0334nobodyさん2007/03/22(木) 23:16:01ID:???
日本語でおk
0335nobodyさん2007/03/22(木) 23:16:14ID:???
>>331
DB板で質問スレをどう探したの?
0336nobodyさん2007/03/22(木) 23:17:04ID:d0YYvDtL
>>335
ギコナビで「質問」でデータベース板内を検索
0337nobodyさん2007/03/22(木) 23:19:11ID:???
>>336
そしたら3件も見つかったけど?
0338nobodyさん2007/03/22(木) 23:19:41ID:d0YYvDtL
>>337
DB板自治でもオラクルでもADOでもなかったので
0339nobodyさん2007/03/22(木) 23:22:17ID:???
>>338
んじゃsqlとかmysqlで検索すべきだね
0340nobodyさん2007/03/22(木) 23:23:05ID:d0YYvDtL
>>339
うん、検索の仕方が足りなかったみたい(´・ω・`)
0341nobodyさん2007/03/22(木) 23:25:01ID:/ltj0PDI
シングル or ダブルクオートで囲った中に書いても実際には出力されない
(PHP側で削除する)文字ってないですか?
バイナリ文字列を配列に入れるときに、'や"がエスケープできないのがあるので
ヌル文字\0は半角スペースが出力されるようです
0342nobodyさん2007/03/22(木) 23:27:50ID:???
>>340
phpの質問スレを探しにWebProg板に来て「質問」で検索するのはアホみたいなもんだしね。
ところで>>330のリンク先は全部読んだ?

>>341
phpは全部そのまま出力してる
0343nobodyさん2007/03/22(木) 23:29:42ID:???
>>328
ifではなくwhileに変更する
0344nobodyさん2007/03/22(木) 23:31:13ID:d0YYvDtL
>>343
あーーーーー
mysql_fetch_assocで1行取得でした
てっきりmysql_fetch_assocで全行取得してforeachで回すのと勘違いしていました

有難うございます
0345nobodyさん2007/03/22(木) 23:39:29ID:???
PHP⇔MySQL(phpMyAdmin)って直し方ないの?
0346nobodyさん2007/03/22(木) 23:39:59ID:???
文字化けのこと
0347nobodyさん2007/03/22(木) 23:53:51ID:???
もう散々既出
0348nobodyさん2007/03/22(木) 23:57:18ID:???
>>345をわかるように説明してくれ
0349nobodyさん2007/03/22(木) 23:57:33ID:???
散々既出ならテンプレ追加しとけば?
0350nobodyさん2007/03/23(金) 00:00:10ID:???
>>349
誰も読まないジャン
0351nobodyさん2007/03/23(金) 00:01:23ID:???
少なくとも俺は読む
0352nobodyさん2007/03/23(金) 01:00:03ID:???
いかにもテンプレ読まなそうな奴に言われても
0353nobodyさん2007/03/23(金) 01:10:34ID:???
>>348
>>345=346
0354nobodyさん2007/03/23(金) 02:53:48ID:???
HTMLを読み込むのにreadfileとrequire_onceどっちが正しいのでしょうか?
早さとかは全然変わらないのでどっちでもいいのでしょうか?
0355nobodyさん2007/03/23(金) 03:06:16ID:???
require,includeでソース以外を読むってここ以外で考えもしなかった
0356nobodyさん2007/03/23(金) 04:36:13ID:???
ヘッダーフッターみたいに使ってるだけならどっちでもいいんじゃね
0357nobodyさん2007/03/23(金) 07:47:39ID: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
こんな環境です。

03583572007/03/23(金) 07:56:51ID:???
自己解決しました。
$s->Pass."\n"
と言う具合に末尾にナル文字を付加して処理すると、旨く行きました。
もしかして、文字列に終端記号が無いためどこまでもApacheが読んでしまった結果強制終了したのでしょうか。
0359nobodyさん2007/03/23(金) 07:58:57ID:???
節子、それナル文字ちゃう
0360nobodyさん2007/03/23(金) 08:07:44ID:???
UTF-8だからだろ
Shift-Jisで保存すりゃいいんじゃね?
simplexml_load_fileって確かUTF-8対応してなかったような
0361nobodyさん2007/03/23(金) 08:43:49ID:???
>>354
全然変わらない?readfile()の方が若干速いよ。
PHPとして評価するものとしないもの、自ずと答えは出てくると思うけど。

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

>>360
そんな馬鹿なっていうかASCII文字だけじゃBOM付けない限り変わらないやん。
0362nobodyさん2007/03/23(金) 11:25:30ID:OdrYXzGD
PHPと関係ないんだけど、http://hunter.campbus.com/このサイトのApacheつかってんだけど、

一ヶ月つかってて今日突然うごかなくなったんだけど。
0363nobodyさん2007/03/23(金) 11:49:54ID: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 />";
}
0364虚弱PHP2007/03/23(金) 12:02:24ID:???
>>363
UTF-8って明示してみたらどうだろう?
Content-Type: text/html; charset=UTF-8;
0365nobodyさん2007/03/23(金) 12:09:09ID:???
>>363
元々UTF-8ならmb_convert_encoding()で変換する必要はないのでは。
↑のようにheader()かmetaタグで指定も。
0366nobodyさん2007/03/23(金) 12:15:59ID:???
たまにRSSがUTF-8ではない時があるから変換する必要がある
文字が短いと失敗する事もあるし
0367nobodyさん2007/03/23(金) 12:51:13ID:co5+bE4v
メール内のISO-2022-JPにエンコードされてる日本語をデコードするにはどうすればいいですか?
0368nobodyさん2007/03/23(金) 12:52:02ID:???
デコード処理すればおk
0369nobodyさん2007/03/23(金) 13:08:51ID:???
なんだ、base64_decodeすればいいだけだったのね
0370nobodyさん2007/03/23(金) 13:15:41ID:???
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/
03713632007/03/23(金) 13:19:37ID:???
>>364-365
上記のソースに
header("Content-Type: text/html; charset=UTF-8;");
を追加したのですが、文字化けは変わりません・・。
0372nobodyさん2007/03/23(金) 13:26:39ID:???
うちでは文字化けしないけどな
0373nobodyさん2007/03/23(金) 13:51:59ID:???
>>371
ブラウザ側の表示エンコードがUTF-8になってても文字化けするの?
0374nobodyさん2007/03/23(金) 13:55:13ID:???
スクリプトの文字コードの問題な気が・・・
03753632007/03/23(金) 14:19:46ID:???
>>373
はい、します。ブラウザはFirefoxで確認してます。

>>374
テキストエディタにterapadを使っていますが、ちゃんとUTF-8になってます。。
0376nobodyさん2007/03/23(金) 14:24:02ID:???
terapad


0377nobodyさん2007/03/23(金) 14:37:46ID:???
>>376
こんな所でエディタの宗教戦争は持ち込むなよ。
0378nobodyさん2007/03/23(金) 14:58:15ID:OdrYXzGD
PHPマニュアルって再配布しても大丈夫でしょうか?
0379nobodyさん2007/03/23(金) 14:58:20ID:MdnT//Cd
-> ってなんですか?
0380nobodyさん2007/03/23(金) 15:01:40ID:???
アロー演算子
0381nobodyさん2007/03/23(金) 15:10:58ID:???
クラス使ったことないんですがプロの現場はクラスよく使いますか?
0382nobodyさん2007/03/23(金) 15:13:43ID:???
同一サーバ上で運用している異なるドメイン同士の間で、
セッション変数を受け渡すことはできますか?

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

http://www.example.com/ <= 自分のドメイン内で買い物カゴに商品を入れる
↓ <= 買い物カゴのセッション変数を渡したい
https://www.example.net/~user/ <= 業者の共有SSLドメインで個人情報入力
0383nobodyさん2007/03/23(金) 15:17:24ID:???
>>381
使う
でもオブジェクト設計とは何かを分かってないで使っても利点は0%
0384nobodyさん2007/03/23(金) 15:25:47ID:???
それ、プログラマの仕事じゃなくて、設計さんの仕事じゃね?
クラスって、ぶっちゃけ設計屋さんが設計の効率化を図るために使うもので
プログラマが積極的に使う場面で思い浮かばん・・・

まぁ、俺の職場では設計まで行わないからかもしれんが・・
0385虚弱PHP2007/03/23(金) 15:29:23ID:???
>>371
とすると、UTF-8じゃないんだろうね。
mb_convert_encoding($node->textContent, "UTF-8","auto")
辺りが悪さしてるんじゃない?
autoでの判定がうまくいってないとか。
mb_detect_encodingでも見てみたら?
0386虚弱PHP2007/03/23(金) 15:31:49ID:???
>>384
プログラマが設計からやらない会社に居たことないから
どんな会社なのか激しく気になる。

それって、プログラマというよりコーダーだよね。
0387nobodyさん2007/03/23(金) 15:32:32ID:???
construct()やdestruct()ってextendsで呼び出されても実行するんだね
0388nobodyさん2007/03/23(金) 15:43:42ID:???
デザパタ用語が飛び交う現場って実在するの?
03893632007/03/23(金) 16:07:12ID:???
>>385
echo mb_detect_encoding($node->textContent);

とすると、UTF-8になっています。
なにが原因か全く想像付きません・・・。
0390軟式PHP2007/03/23(金) 16:14:19ID:???
>>363
文字化けと言っても色々な化け方がある。
ちょっとコピペしてくださいな。大体化け方見れば分かる。
あと、ブラウザで見てると思うが右クリック>エンコードでどうなってるかも書いてください。
03913632007/03/23(金) 16:41:29ID:???
>>390
ttp://www-2ch.net:8080/up/download/1174635474621673.8YFVfu
キャプチャーしました。こんな感じです。

右クリック>エンコードは、アクセス時はEUC-JPになっていましたが、
これをUTF-8にして、キャプチャーしました。どちらの場合も文字化けします。
0392nobodyさん2007/03/23(金) 16:44:05ID:???
>>384
ITドカタ乙
0393軟式PHP2007/03/23(金) 16:48:15ID:???
>>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 />";
にしてみたらどうなる?
0394nobodyさん2007/03/23(金) 16:55:13ID:???
クラスの設計まで分業してるとこあるのか。
そこまでされたらプログラマは仕事が楽しくないんじゃないか?
0395nobodyさん2007/03/23(金) 16:59:21ID:???
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)

まだ起きてる奴いるかい?4晩目 [その日暮らし]
【朝昼晩】今日の貧しい食事を皆で評価するスレ7 [その日暮らし]
03963632007/03/23(金) 16:59:59ID:???
>>393
ありがとうございます。ただ、特に変わりませんでした。

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

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

お騒がせしました。アドバイスいただいた方、ありがとうございました。
0397nobodyさん2007/03/23(金) 17:04:14ID:ApQPGcDT
データベース操作のためのクラスを設計しているのですが、データベースの
オープン/クローズはそれぞれコンストラクタ/デストラクタで処理するべきなのでしょうか?

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

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

切断に関しては、PHPの場合はよほどのことがない限りは
気にしなくても良いと思う
0399虚弱PHP2007/03/23(金) 17:35:20ID:???
>>397
俺はコンストラクタで接続してるな。
Singletonパターンだから、getInstanceメソッドでだけど。
PDOラップしてるんだけど、PDOってcloseメソッドないな。
0400nobodyさん2007/03/23(金) 17:57:32ID:???
>>395
スマソ
それ俺
2chはこの板とその板しか見てないから
ってか、なんでいつも足跡つくんだろうな
裏で仕事しながら一日中リロードしてるからかw
0401nobodyさん2007/03/23(金) 18:04:13ID:???
専ブラ使ったほうが楽だぞ
0402nobodyさん2007/03/23(金) 18:37:54ID: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文字も入ります。
よろしくお願いします。
0403nobodyさん2007/03/23(金) 18:45:35ID:???
>>402
ソース見せて
0404nobodyさん2007/03/23(金) 18:45:50ID:???
設定箇所の記述ぐらい掛けやゴルァ
0405nobodyさん2007/03/23(金) 19:47:47ID: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
返信ありがとうございます。
申し訳ないんですが、設定箇所というのはなんでしょうか?
0406nobodyさん2007/03/23(金) 20:00:36ID:???
そろそろガンコおやじみたいなキャラで回答していこうかと思うんだけど、どうでしょうか?
気に入らないソースは徹底的に書き直して回答、良い道に進むように導くお仕事をこのスレでしたい。

確認した質問は全てにレス。だめですか?
0407nobodyさん2007/03/23(金) 20:05:05ID:???
>>405
mysql_select_db("test",$ID);

mysql_select_db("test",$ID);
mysql_query("SET NAMES utf8;",$ID);
0408nobodyさん2007/03/23(金) 20:28:30ID:???
>>406
回答内容が的確で、自信があるならお好きにどうぞ。
ただ、回答者様ぶって偉そうにしてると周りから軽視されます。
0409nobodyさん2007/03/23(金) 20:31:03ID:???
>>408
>>408
0410nobodyさん2007/03/23(金) 20:40:29ID:gf3rLLm0
>>407
うおおおおおおありがとうございます!できました!
すげぇややっぱ・・・。あんたらすげぇや。
0411nobodyさん2007/03/23(金) 21:29:42ID:???
データベースに文字格納したんだが、
phpMyAdminで見ると、UTF-8、EUC-JP、Shift-JIS
全ての文字コードが文字化けする(つД`)
どなたか助けてください
0412nobodyさん2007/03/23(金) 21:31:25ID:???
>>410
お前が調べなさすぎ/基本知識なさすぎ
0413虚弱PHP2007/03/23(金) 21:41:26ID:???
最近文字化けばっかりですね。
0414nobodyさん2007/03/23(金) 21:52:37ID:???
これだけ暖かいと、お化けも夏を待たずに出てくるっちゅうねん。
0415nobodyさん2007/03/23(金) 22:14:32ID:???
>>413
やっぱり、なんでもかんでも対応させようと言う環境が
逆にとっつきにくくなっているんじゃないかな?

MySQLにしても4.0系だと気にしなくて良かった文字コードが
4.1系以降からしていしないと駄目になったし。
通常のHTMLやPHPファイルにしても、UTF-8にするようにしているが
外部と接続しようとすると、文字化けが発生する。他者はUTF-8でなかったりするし。
0416nobodyさん2007/03/23(金) 22:21:14ID:???
phpMyAdminで表示されている文字化けしている文字が何のコードか分かるだけでもいいんだが
0417nobodyさん2007/03/23(金) 22:26:55ID:???
元凶はMySQL4.1だろ。

phpMyAdminはよほど古いものじゃなければSET NAMES発行するらしいから
>>411は格納する段階で失敗してるんだろう
0418nobodyさん2007/03/23(金) 22:30:44ID:???
>>417
MySQL」5.0.27
PHP5.1.4
phpMyAdmin2.10.0.2

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

こんな感じっす
0419nobodyさん2007/03/23(金) 22:40:18ID:mOZgYnP/
関数に返り値があるかどうかを判断する関数はありますか?
isset() では「この関数の引数に method return value を使用するな」って怒られます。
宜しければご教示ください。
0420nobodyさん2007/03/23(金) 22:46:26ID:???
issetは関数じゃねえぞ。
http://jp.php.net/manual/ja/function.isset.php
0421nobodyさん2007/03/23(金) 22:47:10ID:???
phpMyAdminにも文字コードの設定があるだろ
0422nobodyさん2007/03/23(金) 22:51:43ID:mOZgYnP/
>>420
isset が関数であるという点は私の誤解でした、すみません。
引き続き、解答を募集します。。
0423nobodyさん2007/03/23(金) 22:56:58ID:???
>>419
$ret = my_func();
if (isset($ret)) {
}
0424nobodyさん2007/03/23(金) 22:58:49ID:???
>>422
場合によって値を返したり返さなかったりできるから無理じゃね
0425nobodyさん2007/03/23(金) 23:18:43ID:???
>>421
2.10.0.2はconfig.inc.phpでは設定できないよな
0426nobodyさん2007/03/23(金) 23:41:17ID:???
issetって関数じゃないの?
マニュアルに変数操作関数ってとこにのってるよ。ちがうの?
0427nobodyさん2007/03/23(金) 23:54:14ID:???
イライラ
0428nobodyさん2007/03/23(金) 23:54:51ID:???
>>419
普通にnullと比較するっていうのはダメ?

>>426
正確には関数ではなくステートメント。
この件ではどうでもいいと思うけどね。
0429nobodyさん2007/03/23(金) 23:57:39ID:???
>>419
の言っている意味が良く分からないんだけど・・。
そもそも数値や文字列じゃないものだから駄目って事じゃないの?
0430nobodyさん2007/03/24(土) 00:21:01ID:???
>>429
419はある関数が(所謂)void型かどうか知る方法を探している。
そこでissetを試してみたが使えなかった、と。

実行時にそんなものが必要になる作りがおかしいだけって話だと思うけどね。
0431nobodyさん2007/03/24(土) 00:50:18ID: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);

それで上記のようなコードを書いたのですが、ディレクトリとして
認識されたりされなかったりするものがあります。
なぜそういう事になるのでしょうか?もしくは書き方が悪いのでしょうか?
0432nobodyさん2007/03/24(土) 00:55:30ID:yU007f6l
どうしてもphpMyAdminの文字化けが治らない( つД`)
心当たりのある人助言お願いします・・・
PHP、MySQLはUTF-8で統一しています。

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

となっています。
他に改良する場所があるのでしょうか・・・?
0433nobodyさん2007/03/24(土) 01:04:03ID:???
>>431
あ〜、俺も昔悩んだ記憶があるようなないような・・・
とりあえずパスは絶対パスがよかった気がする。

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

>>432
とりあえずBOMをチェックだ
んでMySQLの文字コードだけど設定できる部分は
1箇所じゃなくて4箇所あるぞ。
そもそもMySQLの文字コードはどうっやって確認したんだ?
OSがWindowsだとMySQLのバージョンによってはデフォルト
で存在してるmy.cnfが認識されないものがある。
0434nobodyさん2007/03/24(土) 01:07:44ID:yU007f6l
>>433
すんません
良ければMySQLについて詳しく教えていただけませんか?
0435nobodyさん2007/03/24(土) 01:13:34ID:yU007f6l
ちなみにMySQL5.0です
0436nobodyさん2007/03/24(土) 01:19:37ID:???
PHP5の例外についてよく分からないので質問です。
使い方は何となく分かったんですが、使いどころがいまいちよく理解できません…。
ユーザーに、AとBとCが間違っているよ!とか表示させたりするのに使う為じゃなくて
開発者が、どこで、どういうルートでエラーが起こったかを把握する為のものなんでしょうか?
0437nobodyさん2007/03/24(土) 01:33:34ID:???
>>432
phpmyadmin\libraries\common.lib.phpの515行目付近

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

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

これでダメなら知らね。
0438nobodyさん2007/03/24(土) 01:37:07ID:yU007f6l
>>437
phpMyAdminのバージョン教えてください><;
2.9では見つからなかったので・・・
04394312007/03/24(土) 01:39:38ID:???
>>433
絶対パスにして
if (is_dir($file_name)){

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

としてみたのですが、特に変わりませんでした。。
0440nobodyさん2007/03/24(土) 01:39:48ID:Xdgvve8z
今日の残り時間を算出する方法を教えて下さい。
13:30 なら、残り 10.5 時間のような感じです。。。
0441nobodyさん2007/03/24(土) 01:43:51ID:???
>>438
俺のは2.2.5だ。MySQL3系しか対応してないらしい。
2.9なら新しいから内部でSET NAMESはしてくれてるんじゃない?
テキスト検索すればあるかどうかわかると思うけど。
もしそれをしてくれてれるんなら別の原因だな。
0442nobodyさん2007/03/24(土) 01:44:27ID:???
24 - 今の時間 = 残り時間

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

本気で聞いてるなら、決定的に努力が足りない。
0443nobodyさん2007/03/24(土) 01:44:52ID:yU007f6l
>>441
恐らく別の原因みたいです・・・
MySQLを3⇒5にしてからこの文字化けが発生しました。
原因はMySQLみたいですが、文字コードをutf8で統一させたのですがorz
0444nobodyさん2007/03/24(土) 01:44:55ID:???
>>440

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

チョットここ見てもうちょっと自分で頑張ってみようぜ!
0445nobodyさん2007/03/24(土) 01:46:29ID:???
>>438
これじゃないの?Winならmy.iniだっけ。
http://q.hatena.ne.jp/1168631817
0446nobodyさん2007/03/24(土) 01:47:15ID:???
>>443
OK。
OSはWindows?ならちょっとコマンドプロンプトからMySQL起動してみてくれ
んで、「status;」って打ったら文字コードやらなにやら情報が表示される。
ちょっとそれをチェックしてみろ
0447nobodyさん2007/03/24(土) 01:51:22ID:???
>>429
マニュアルのissetのページを穴が開くほど読め
0448nobodyさん2007/03/24(土) 01:53:13ID:???
>>447
Warning だろ読んでるよ。
それを分かってるくさいのに質問してるのが不思議に思ったわけ。

そんなところで困ったことないし。
どんなソースなのか興味は湧く。
0449nobodyさん2007/03/24(土) 01:53:24ID:???
>>439
ありゃ駄目だったか

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

ディレクトリ:Bob Dylan
ファイル:lovecrimesdsl.wmv
ファイル:Power Tab Editor 1.7.lnk
ディレクトリ:Rainbow
ファイル:test.php
ファイル:Web2.0.txt
ファイル:パスワード関連.txt
ファイル:再インストール.xls
ディレクトリ:黒タイツ・乳
04504492007/03/24(土) 01:54:28ID:???
すまんこ、ちょっとecho文はいじってるからな
0451nobodyさん2007/03/24(土) 01:54:49ID:yU007f6l
>>445
おお!
「skip-character-set-client-handshake」
を記述すると、うまいこと表示されました!
有難うございます。

>>446
有難うございます
ですが、コマンドプロンプトでMySQLを実行する方法がわからないのです;;
0452nobodyさん2007/03/24(土) 01:57:56ID:???
>>451
あ・・・いや・・・解決したならいいんだ・・・
でも・・・でも・・・

それぐらい勉強しろチン子!
0453nobodyさん2007/03/24(土) 02:02:16ID:Xdgvve8z
>>442>>444

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

ありがとうございます。
0454nobodyさん2007/03/24(土) 02:08:25ID:???
>>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);

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

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

だ。
0456nobodyさん2007/03/24(土) 02:13:14ID:RyeuCbO7
夜中にすいません。いきずまってましてわからないので教えて下さい。
Coppermine Photo Galleryというphpアルバムのプログラムがあるのですが
サイトはこちらですhttp://coppermine-gallery.net/
includeで指定をすると反応してくれません。
これを使えるようにするにはどうすればいいかわかる人いませんでしょうか?
0457nobodyさん2007/03/24(土) 02:20:56ID:???
>>456
それだけで分かるわけ無いだろ
04584562007/03/24(土) 02:30:07ID:RyeuCbO7
どうかお願いします
ファイルダウンロード先を直リンしておきます
http://sourceforge.net/project/showfiles.php?group_id=89658&package_id=98538&release_id=459442

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

困ったってコレを仕事でやってるのか?
ならスグに仕事辞めろ。お前みたいな奴が居ると
周りの人間が迷惑だ
04604312007/03/24(土) 02:41:35ID:???
>>454-455
出来ました!つまり、opendirで開いたディレクトリのファイルを
絶対パスにしなければいけなかったと言う事ですね。

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

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

>>459
ダウンロードしたのかよ。やさしいな。。。
04624612007/03/24(土) 02:51:47ID:???
スマン。少し言い過ぎたかも試練
このページ見てたら落ち着いた

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

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

もし本当に仕事なら上司に相談したほうがいいんじゃないのか?
もしくはしっかりエラーを書いてくれ。
0463nobodyさん2007/03/24(土) 02:59:21ID:???
>>460
そうかそうか。それは良かった
なんかPHPはファイル系の関数の動きが時々怪しい
ことがあるから怖い。
04644562007/03/24(土) 03:00:50ID:RyeuCbO7
レスありがとうございます。
そちらのファイルのcpg1410/index.phpだけみてもらいたかったのですが><
説明不足で大変すいません。

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

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

こちらの板の方に回避方法を教えてもらいたくて質問させてもらいました。
迷惑をかけて申し訳ありません。
04654612007/03/24(土) 03:06:43ID:???
>>464
index.phpにアクセスするとどうなってるんだ?
俺の予想ではログインページに飛ばされると貸してるんじゃないのか?
0466nobodyさん2007/03/24(土) 03:06:51ID:???
>>464
なるほどね。まだ情報が足りないけど俺の勘では
C:\WINDOWS\php.iniを下記のように書き換えてApache再起動。
これでダメなら知らね。
パスはもちろん自分の環境に読み換えてくれ。

include_path = ".;D:\Apache\htdocs\cpg1410"
0467nobodyさん2007/03/24(土) 03:10:13ID:???
なんか今日皆優しいね・・・

>>464
index.phpにアクセスするときindex.php?インクルードファイル.php
ってしないと駄目じゃないの?
04684662007/03/24(土) 03:17:52ID:???
ごめん。>>466は忘れてくれ。
cpg1410の下にincludeがあるんだから問題ないや。
include_path = "."
これだけで事足りてる。そうなると>>467かな
0469nobodyさん2007/03/24(土) 03:27:09ID:???
>>458
直リンなめてんだろ。
自分勝手な奴は氏ね
04704562007/03/24(土) 03:28:50ID:RyeuCbO7
みなさんありがとうございます;;
>>465
index.phpにアクセスすると普通にCoppermine Photo Galleryが表示します。
ですが<?php include("aiueo.php"); ?>とすると何も表示されずソースをブラウザからみると
<?php include("aiueo.php"); ?>とそのまま表示されています
エラーはでておりません。

>>466-468
教えてもらったように実行をしてからまた結果報告をさせて下さい
本当に親切にありがとうございます!
0471nobodyさん2007/03/24(土) 03:34:11ID:???
ソースにそのままって。。。PHPが動く状態になってないじゃんか。
04724562007/03/24(土) 03:36:50ID:RyeuCbO7
xreaサーバーですのでphpは4.4.4で私の鯖では動作しています。
そしてどういつ鯖に置いているphpではしっかり表示はできています。
設置サイトここにはっても迷惑になりませんか?
0473nobodyさん2007/03/24(土) 03:45:40ID:???
safe_modeがらみじゃねーの。
xrea使ってないから知らんけど。
0474nobodyさん2007/03/24(土) 03:47:51ID:???
>>472
xreaで設置に関して何か不具合がある場合はたいてい、
・自動挿入される広告を手動挿入にする、
・セーフモードがかかってるのでPHPをCGIとして動作させる。
このどちらかで解決する。
04754562007/03/24(土) 03:56:12ID:RyeuCbO7
セーフモードなんですが、セーフモードがかかってますが、他のphpは動作してくれております。
includeで。

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

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

これからはROMってここのスレの質問者と同じように勉強をさせてもらいます。
本当にありがとうございました!(ねらーなので毎日チェックをしますw)
04764562007/03/24(土) 03:56:48ID:???
追記で広告は免除で動かしております。(有料鯖です)
0477nobodyさん2007/03/24(土) 04:16:57ID:???
携帯サイト上でトランプゲームやあみだくじなどの簡単な
ゲームをできるようにしたいのですが、PHPで作成可能ですか?
0478nobodyさん2007/03/24(土) 04:19:01ID:???
>>477
flashで作った方がいいんじゃない?
0479nobodyさん2007/03/24(土) 04:23:51ID:???
>>478
即レスありがとうです。
携帯でflashを使うと重くなる、もしくは閲覧できないユーザーが
多いと聞いたのですが大丈夫でしょうか?
0480nobodyさん2007/03/24(土) 05:09:46ID:???
そんな心配する前に作れるのかと
0481nobodyさん2007/03/24(土) 11:48:11ID:???
サーバーサイドスクリプトだからつまんねーゲームになるぞ
0482nobodyさん2007/03/24(土) 11:55:30ID:KoN02Q6B
phpのオブジェクト指向スクリプティングを解説した良書ってないですか?
オブジェクト指向じゃなくてもいいなら大体書けるようになった気がするんですけど、
やっぱりできたほうがいいですよね、、

参考になる本を教えて欲しいです。 よろしくお願いします!! 切実です…
0483nobodyさん2007/03/24(土) 12:01:06ID:???
>>482

pearのソース
0484nobodyさん2007/03/24(土) 13:35:29ID:???
>>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
0485nobodyさん2007/03/24(土) 14:20:19ID:???
newしたら負けかなと思ってる
0486nobodyさん2007/03/24(土) 14:27:06ID:???
じゃstaticで
0487nobodyさん2007/03/24(土) 14:38:14ID:???
pearのソースはやめたほうがいいよ。
はっきりいってコーディング規約がウンコ
0488nobodyさん2007/03/24(土) 14:42:05ID:???
作業分担のカプセル化にそう熱くならんでも
0489nobodyさん2007/03/24(土) 14:58:41ID:???
あああああああああああああああああああああああああああああああああああああああああああああああああああ
0490nobodyさん2007/03/24(土) 20:54:17ID:BPfRo52S
ありがとうございます
0491 ◆dQCqKwAumo 2007/03/24(土) 22:13:27ID:???
PHPをコマンドライン上で走らせて、「WinBinder」を使うと
WindowsのGUIアプリケーションを開発できると聞きました。

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

# PHPでGUIアプリケーションを開発するのかよ、という
# つっこみはやめてちょ……
0492nobodyさん2007/03/24(土) 22:16:24ID:???
>>491
http://gtk.php.net/
0493nobodyさん2007/03/24(土) 22:16:36ID:???
PHP-GTK
0494nobodyさん2007/03/24(土) 22:28:58ID:???
>>491
つまりはPHPでGUIツールを作りたいってコトだよな?

これはどうだ?
ttp://phpspot.net/php/man/gtk/
0495 ◆dQCqKwAumo 2007/03/24(土) 22:32:44ID:???
みんなありがとう。
早速、PHP-GTKのマニュアルを読んでみます。
0496nobodyさん2007/03/24(土) 22:34:47ID:???
PHPで標準入力からデータを読み込む場合、
既に取得したデータのサイズを知る方法は手動で計算以外にありますか?
0497nobodyさん2007/03/24(土) 22:35:41ID:???
>>495
まぁ今後は聞く前に一度ぐぐろうな?^-^
0498nobodyさん2007/03/24(土) 22:36:46ID:???
>>496
標準入力って何
0499nobodyさん2007/03/24(土) 22:36:58ID:???
>>496
標準入力を最後まで取得してファイルに出力してfilesizeとか?
0500nobodyさん2007/03/24(土) 22:54:08ID:???
>>498
説明が難しい
PCで言えばキーボード

>>499
既定のサイズを超えたら中止の処理をしたかったもので
もしかしたら中の人が計算してたりするのかなと思ったり
0501nobodyさん2007/03/24(土) 23:00:54ID:???
>>500
そりゃキーボードだろうけど、PHPで標準入力ってなんだよwww
0502nobodyさん2007/03/24(土) 23:03:18ID:???
>>501
CLIとかソケットサーバをPHPで立ててれば標準入力になるんでないか?

>>500
CLIだと無理な気がするんだけど、ソケット通信で使うなら出来そうな気がする
0503nobodyさん2007/03/24(土) 23:13:02ID:???
おでん食べたい!

PHPでおでんは作れますか?
0504nobodyさん2007/03/24(土) 23:27:58ID:???
>>503
努力しだい
0505nobodyさん2007/03/24(土) 23:30:10ID:???
STDIN以外の何だと思ったんだ?お前の笑いのツボがさっぱりだ
0506nobodyさん2007/03/24(土) 23:43:00ID:???
もう我慢できん!
おでん屋台探してくる!

確か埼玉の川口市にあったはずだ!
0507nobodyさん2007/03/24(土) 23:47:55ID:???
※酔っ払いに話しかけてはいけません
0508nobodyさん2007/03/24(土) 23:54:28ID:???
もしかして、今
http://pear.php.net/
ってサーバ飛んでますか?
pearコマンドでも、ブラウザからもpear.php.netが見られないです。
0509nobodyさん2007/03/24(土) 23:59:28ID:???
うん。今日はPEARサイトおかしい。
休日利用のメンテナンスで仕事に出たのに、pearのダウンロードも、できんかって困った。
0510nobodyさん2007/03/25(日) 00:01:25ID:rXEEfrLa
初心者です。文字コードについて質問です。
どうやらEUCで保存・出力するのが無難だというようなことをどこかで聞いて、
phpの保存形式も出力も(metaタグ中のcharsetも)EUCにしてるんですが、
それだと携帯サイトを作る時に化けたりするものなんですか?

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

その場合には
http://tsuttayo.sytes.net/php/char_trn/ のサイトを参考にしようと思ってるんですが
大丈夫ですかね?
皆さんはどういう形式でそれぞれ文字コードの設定していますか?
今僕がやってる「両方ともEUC」にしてない人がいたら、その理由を教えてくれたら幸いです。
よろしくお願いします。
0511nobodyさん2007/03/25(日) 00:03:21ID:???
>>510
UTF-8が無難
0512nobodyさん2007/03/25(日) 00:09:20ID:???
>>509
ありがとうございます。
やっぱりそうなんですね。
0513nobodyさん2007/03/25(日) 00:18:02ID:rXEEfrLa
>>511
プログラムの保存も、書き出しも両方ともUTF-8ということですか?
0514nobodyさん2007/03/25(日) 00:19:22ID:???
>>513
そうそう
BOMさえ気をつければ全然使える
0515nobodyさん2007/03/25(日) 00:21:28ID:qdJaHfbH
pear死んでる?
0516nobodyさん2007/03/25(日) 00:21:56ID:???
>>515
>>508-
05175132007/03/25(日) 00:43:53ID: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 にあるエラーの対応するのが
一番なのかな??
みんなどうしてるんですか? 暇な人、気が向いたらご意見ください
0518nobodyさん2007/03/25(日) 00:46:52ID:???
携帯端末チェックはPEARのNet_UserAgent_Mobileを使うぐらい
0519nobodyさん2007/03/25(日) 01:10:35ID:???
UTF-8
EUC-JP
Shift-JIS
URLエンコードすると全部違うのか
初めて知ったwwwwwwww
0520nobodyさん2007/03/25(日) 01:13:00ID:???
※酔っ払いに話しかけてはいけません
05215132007/03/25(日) 01:24:53ID:rXEEfrLa
すみません さっぱりわからないので変なこと書いてるかもしれません。。
0522nobodyさん2007/03/25(日) 02:40:29ID:???
チキショウ・・・人がいっぱいでおでん屋さん入れなかったorz

PHP6はいつ正式版でるんだ?早く使いたくてうずうずしてるぜ!
0523>>5132007/03/25(日) 02:47:40ID:07q9VATM
データベースも内部エンコードも、PC用出力も全てUTF-8に統一して
携帯用ページのみ、出力する直前でSJISに変換が基本じゃないでしょうか?

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

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

内部エンコードSJISにしたり、PHPファイルをSJISにするのはやめた方が良い。
あれは悪魔のコードだから
0524nobodyさん2007/03/25(日) 02:55:24ID:???
>>517
デバイスによって出し分けるのはそんなに
面倒ではない
出力するときに、文字コードを変換して出力
すればいいだけだから
0525nobodyさん2007/03/25(日) 02:59:20ID:07q9VATM
みんな、PHP+DBで認証機能を作る時って
DBにパスワード平文で保存してます?

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

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

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

微妙にすれ違いっぽいけど、意見ありましたらお願いします。
0526nobodyさん2007/03/25(日) 03:23:49ID:pIr3ekUb
web patioで聞きたいんですが、書き込みの欄を自分で追加したいんですけど
どうすればいいでしょうか。クッキーも使えるといいです。

あと隠しアイコンとかできますか?
0527nobodyさん2007/03/25(日) 03:24:18ID:???
>>525
他の情報(誕生日だの何だの)を使って上書きできるようにすればなくしても大丈夫
msnとかがこの方式だった気がする
0528nobodyさん2007/03/25(日) 07:47:23ID:???
>>525
>管理者が、パスワードがなにか解らなくなるコトって
これはこの手のシステムを作るとき当たり前。
そしてハッシュ化して保存するのも当たり前。
0529nobodyさん2007/03/25(日) 08:01:02ID:???
>>528
問題ないよね。ユーザーが「パスワードわからなくなった。押しエロやコラ」
っていってきたら新たにパスワード発行して「これをつかってよね」って
言えばいいだけだしね。
0530nobodyさん2007/03/25(日) 08:19:54ID:???
ところで聞きたいんですけど
そのパスワードって、どの段階でハッシュ化します?
クライアントサイドでPASSをハッシュ化して、送信するか
サーバーサイドでPASSを受信してハッシュ化するか。
前者は、ハッシュそのものがパスワードになってるから、ナンセンスな気がするし
後者は、PASSそのものを送信するのが問題だと考えるならば…。
0531nobodyさん2007/03/25(日) 08:26:16ID:???
アホなスクリプトでもない限りそのままパスワード保存でもいいと思うよ
0532nobodyさん2007/03/25(日) 08:28:04ID:???
そこまで心配するならSSLで通信するかな。

それが叶わないのならJavaScriptを必須にして、
適当なsaltを送って入力されたパスワードとsaltを使ってハッシュを生成して送るようにするかな。
この方式はやったことないけどね。
05335132007/03/25(日) 08:42:05ID:rXEEfrLa
>>523-524
ありがとうございました。
手元の本を見るとS-JISで書き出ししてたりするので迷ってました。
>>523さんのやり方でトライしてみます
0534nobodyさん2007/03/25(日) 09:34:30ID:???
別に出力に関してはすべてSJISでいいじゃん。
PCにUTF-8を送る必要ないっしょ。
0535nobodyさん2007/03/25(日) 09:48:51ID:???
>>491
http://www.google.com/search?q=Bambalam+PHP+EXE

PHP用のコンパイラ PHPのソースから .exeにコンパイルしてwindows上で
動作できるようになる。
0536nobodyさん2007/03/25(日) 10:07:09ID:pIr3ekUb
>>526
0537nobodyさん2007/03/25(日) 10:15:30ID:???
>>530
都合の悪いケースが想定できるならシステムで防ぐのが良い。
ナンセンスな対策ってのは全く効果が無い場合と
もっと重大なセキュリティホールを放置してる場合。

>>532
もう1歩先まで実装をシミュレートしてみな。
0538nobodyさん2007/03/25(日) 10:18:44ID:???

偉そうな人。職場で自分が言われてることをここでオウム返しして発散
0539nobodyさん2007/03/25(日) 10:30:46ID:???
携帯じゃJavaScript動かないしクライアント側はあんまり現実的じゃないね
0540nobodyさん2007/03/25(日) 10:31:59ID:???
今日が3月の第何週目かを求める方法ってありますか?
0541nobodyさん2007/03/25(日) 10:44:53ID:???
日付と曜日が分かれば簡単に出ると思うが
05425132007/03/25(日) 11:21:45ID:???
>>534
SJISだと、フォーム送信した時に特定の文字が化けるとかのエラーがあると思うんですけど
(もちろん解決策はあるみたいですが)いっそのことSJIS避けたほうが良くないですか?
携帯はSJISでないと対応する文字コードがないみたいで仕方ないからそうしますが…
0543nobodyさん2007/03/25(日) 11:28:22ID:???
個人で、アルバイト感覚でPHPの仕事を安くしてくれる
職人さんをさがしたいのですが、HPとかありますかね?

0544nobodyさん2007/03/25(日) 11:31:35ID:???
>>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;
}
0545nobodyさん2007/03/25(日) 11:31:37ID:???
>>542
ちがう。内部コードやDBはUTF-8でいいけど
出力は携帯用にSJISにするんだからPCへの出力もSJISでいいじゃんってこと。
振り分ける手間が面倒じゃないなら振り分けてもいいけど。
0546nobodyさん2007/03/25(日) 11:33:40ID:???
PCにSJISで出力する意味が見出せない
0547nobodyさん2007/03/25(日) 11:37:16ID:???
>>545
そんなの基本処理する文字コードがなにかに依存すること。
特異例の携帯だけSJISで送って、あとは基本コードの方で処理するのが普通。
特異例にあわせてどうする。
05485132007/03/25(日) 11:44:39ID:???
>>545
そっか、エラーの元になるSJISって内部コードの方か…
スゴイ馬鹿でした なるほどー
色々確認してどの形式がいいのか試してみますね ありがとう
05495132007/03/25(日) 11:46:34ID:???
>>546-547
いろんな書き込みが…
悩むなぁ みなさんありがとう
0550nobodyさん2007/03/25(日) 11:48:56ID:???
>>547
あんたの中ではPCが標準で携帯が特異例なのか。
User-Agentこねくりまわすコードが書きたければ勝手にどうぞ。
0551nobodyさん2007/03/25(日) 13:16:19ID:07q9VATM
内部エンコードと出力のコード変えると
テンプレートのコンテンツタイプがSJISで、エンコードはUTF8
とか、訳のわからないことにならない?
デザイナがその辺の事情良くわかってる人なら良いけど
文字化けしたまま保存しちゃって、テキスト打ち直しなんてことも・・・

文字コードめんどくさいよ
携帯もUTF8で統一されないかな
0552nobodyさん2007/03/25(日) 14:19:22ID:???
>>550
>User-Agentこねくりまわすコードが書きたければ勝手にどうぞ。
程度が知れるな。
0553nobodyさん2007/03/25(日) 14:32:46ID:???
初めまして。

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
というエラーログを出して終了します。

下に環境や設定を列挙しますが、エラーは回避できないものなのか、
回避できるのであればどんな設定をすればよいか知りたいです。
05545532007/03/25(日) 14:34:07ID:???
<環境>
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';
05555532007/03/25(日) 14:34:57ID:???
(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;
05565532007/03/25(日) 14:35:40ID:???
(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\ |
+--------------------------+--------------------------+
0557nobodyさん2007/03/25(日) 14:50:44ID:???
コーディング系の質問じゃなく設置段階での問題丸投げとか、プログラミングすんなよハゲ
0558nobodyさん2007/03/25(日) 14:55:28ID:/8MzPaJs
新規質問おながいします。
apache標準の404ページでリダイレクトさせる時は
どのように書けばいいですか。
05595582007/03/25(日) 14:58:15ID:???
誤字スマソ
×404ページで
○404ページへ
0560nobodyさん2007/03/25(日) 15:31:34ID:???
久しぶりにMySQLとphpMyAdminを入れてみた
phpMyAdminが何気に挙動不審だな
0561nobodyさん2007/03/25(日) 16:03:05ID:kikNO+su
教えてください
PHP Version 5.2.1
mysql5.037

PHPからmysqlへ送信された文字が登録されません。
半角英数字だと登録されるのですが、日本語が入るとダメです。
コマンドプロンプトからはsqlへ日本語登録できます。
どちらもshiftジスに設定しているはずなのですが・・・
どこらへんが悪いのか教えてください。
0562nobodyさん2007/03/25(日) 16:39:07ID:???
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);
0563nobodyさん2007/03/25(日) 16:54:50ID:???
flock($fp, LOCK_EX);
この返り値を確かめてみたことあるの?
0564nobodyさん2007/03/25(日) 16:57:33ID:???
>>561
たぶんエスケープか、文字コードの設定自体の問題

>>562
$keyとか$todとか、変数名の意味がさっぱりわからないので、解読を断念した。
とりあえず、排他制御はファイルを読む部分と書く部分を全体を括らないと。
0565nobodyさん2007/03/25(日) 16:57:44ID:lRVUjXL5
file_put_contentsを使うことは、fopenしてfwriteすることは一緒でしょうか?
php5使ってます。
0566nobodyさん2007/03/25(日) 16:59:05ID:lRVUjXL5
自己解決しました。fcloseは使いたくないのでfopen法で書くことにしました。

連続して fopen(), fwrite(), fclose() をコールすることと等価です。
0567nobodyさん2007/03/25(日) 17:04:21ID:???
>>562
NFSとかFATでやってるとかいうお間抜けなことは考えたこと無い?
0568nobodyさん2007/03/25(日) 17:42:20ID:lRVUjXL5
>>562
あのな、排他制御じゃ壊れるよ。
それはおれが一個か二個ぐらい前スレで実証検証したからよくわかる。
完璧をもとめるならrmdirつかえ
0569nobodyさん2007/03/25(日) 17:50:30ID:???
IDださないやつはネタ
0570nobodyさん2007/03/25(日) 18:13:27ID:OUViY8id
イメージ関数を駆使して、画像の自動補正(CMでやってるプリンタについてるようなモノ)を
行ってくれるスクリプトを公開しているサイトってありませんかね?
0571nobodyさん2007/03/25(日) 18:15:18ID:???
海外にあったよ
0572nobodyさん2007/03/25(日) 18:47:45ID:???
相変わらず答えてもらってありがとう無しに消える奴がおおいな
0573nobodyさん2007/03/25(日) 19:09:48ID:JTtYDnwD
MySQL、PHP共にUTF-8なのに、MySQL⇒PHPで文字化けします。
日本語が全て???になってしまうのですが、何か対処法はないのでしょうか?
0574nobodyさん2007/03/25(日) 19:18:35ID:tzkd3AeI
BBQスレから来ました
http://pc11.2ch.net/test/read.cgi/php/1137614836/233-244
上のスレで可能って答えをもらったんですが、方法がいまいちよくわからないので質問させていただきます。

現在htmlのみで構成されたサイト(掲示板じゃないです)を運営してるのですが、
これにBBQを使った回覧アクセス規制を導入したい場合、どのようにするべきなのでしょうか?

実際にブログ、掲示板以外でBBQでアクセス規制されてる方がいらっしゃいましたらご教示願います。
0575nobodyさん2007/03/25(日) 19:19:19ID:???
このスレ内で検索しましたか?
0576nobodyさん2007/03/25(日) 19:19:38ID:???
>>574
スレ違い
http://food8.2ch.net/test/read.cgi/cook/1161248583/
0577nobodyさん2007/03/25(日) 19:19:50ID:???
べつにお礼はいらんから解決したのか諦めたのかぐらい書いてほしいな
0578nobodyさん2007/03/25(日) 19:20:29ID:???
房がうじゃうじゃ
0579nobodyさん2007/03/25(日) 19:21:54ID:???
>>573
この手の質問多すぎ
調べればいくらでも出てくるだろうが…
0580nobodyさん2007/03/25(日) 19:23:02ID:JTtYDnwD
>>579
mbstring.http_output UTF-8
mbstring.internal_encoding UTF-8

です。
ググったり、したのですが解決できていません
0581nobodyさん2007/03/25(日) 19:27:23ID:???
ググレない。このスレにでてきた似たような質問から自分で解決策を考えようとしない。
氏ね
0582nobodyさん2007/03/25(日) 19:31:44ID:???
釣られているあほ氏ね
スルーしとけや
05835732007/03/25(日) 19:33:58ID:JTtYDnwD
ちなみに、MySQLから拾った文字以外は正常に表示されます。
0584nobodyさん2007/03/25(日) 19:34:32ID:???
>>581
出たwww自分がわからないから「ググれ」とかいうやつwwwwww
0585nobodyさん2007/03/25(日) 19:36:12ID:???
煽ったって答えてくれませんよ
0586nobodyさん2007/03/25(日) 19:40:44ID:???


   PHPで彼女とアナルマンコしたいけどできる?

   ローカルでとりあえずやりたいんだけど?

0587nobodyさん2007/03/25(日) 19:44:26ID:tzkd3AeI
おしえてくだせえよぉーおねがいだぁー
0588nobodyさん2007/03/25(日) 19:50:52ID:???
氏ねよ
0589nobodyさん2007/03/25(日) 19:52:35ID:???
>>587
サイト全体をPHPで出力するようにする。
例えばブログツールを使ったり。
05905732007/03/25(日) 19:53:40ID:JTtYDnwD
環境忘れていました
PHP 5.1.2
MySQL 4.1.16
Localhost via UNIX socket

因みにレンタル鯖です。
0591nobodyさん2007/03/25(日) 19:59:08ID:???
>>589
ブログツールか、ありがとう
0592nobodyさん2007/03/25(日) 20:29:41ID:???
スレ違いかもしれんが、PHPからMySQLの設定変更とかできる?
[mysqld]に
skip-character-set-client-handshake
を付け加えたいんだが・・・
0593nobodyさん2007/03/25(日) 20:30:14ID:???
または.htaccessでもおk
0594nobodyさん2007/03/25(日) 21:05:19ID:cLfz7IBf
>>544
おかしくね。今日が第5週ってなるけど4週目だろ
0595nobodyさん2007/03/25(日) 21:26:18ID:???
>>592
レン鯖じゃ無理だろな〜

自分専用で使えるならPHPからmy.cnfをファイルとして普通に読み込んでmy.confに
skip〜を追加して保存する。

で、さらにPHPからMySQL再起動用のシェルを叩いてあげる。
※外部コマンドは下のどれかを使えば叩ける。
1.system()
2.exec()
3.popen()
4.shell_exec()
5.paththru()
0596nobodyさん2007/03/25(日) 21:39:33ID:???
>>594
氏ね。おせえんだよ
0597nobodyさん2007/03/25(日) 22:12:48ID:???
>>571
php image automatic correctionとかでググってみましたが探せませんでした
URLは覚えていらっしゃいませんか
0598nobodyさん2007/03/25(日) 23:47:08ID:???
googleの日本語サイトで探してないだろうな。
英語サイトで探せよw
0599nobodyさん2007/03/26(月) 00:48:54ID: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");
}

?>
0600nobodyさん2007/03/26(月) 01:23:11ID:???
>>599
また「エラーが出る」かよ・・・

どのエラーなんだ?
「error」が出力されるのか?
それともPHPのFatalとかがでるのか?
0601nobodyさん2007/03/26(月) 01:26:35ID:???
>>599
せめてhttp://php.net/file_existsの上の方だけでもいいので、読んできてください。
0602nobodyさん2007/03/26(月) 01:26:48ID:???
500とか?
0603nobodyさん2007/03/26(月) 03:55:17ID:HH6q3gp6
外部のWEBページを取得する時に、任意のUA名を渡すにはfsockopenを使用するのが一番手っ取り早い方法なのでしょうか?
当方、HTTPに関する知識が「telnetでget/http/1.0」ぐらいしか無い物で、fsockopenを使用する手法だと大分勉強が必要になりそうなので悩んでいます。
06046032007/03/26(月) 04:13:14ID:HH6q3gp6
キーワードを変えてググったら自己解決しました。
スレ汚し申し訳有りませんでした。
0605nobodyさん2007/03/26(月) 04:28:33ID:waVUTaj2
すみません、質問です。
mysqli関数を使おうとしたらエラーがでて、調べてみると使えるようにするために
php.iniの変更とlibmysql.dll が必要というようなことが書いてありました。
このlibmysql.dll というのはどこかでダウンロードするものなんでしょうか?
僕の勘違いでしょうか。
http://php.morva.net/manual/ja/ref.mysqli.php を参考にしてるんですが
良くわかりません
どなたかよろしくお願いします。
0606nobodyさん2007/03/26(月) 04:36:45ID:???
>>605
WindowsXP?
PHPのディレクトリのどっかにあるだろ?
それをsystem32ディレクトリにつっこむだけ
06076052007/03/26(月) 10:53:33ID: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の設定の問題でしょうか?
0608nobodyさん2007/03/26(月) 11:01:41ID:???
Fatal error: Class 'mysqli' not found
この一行目もわからん奴には無理
0609nobodyさん2007/03/26(月) 11:07:59ID:???
tp://www.koikikukan.com/archives/2006/12/11-003811.php「小粋空間」
こちらを参考にRSSリーダーを自サイトにつけようとしています。
サイトはShift_JISなので、11.文字コードについて を見て
Shift_JISに対応したコードをつけたのですが、
文字が全部??????になってしまいます。
Shift_JIS環境で文字化けを起こさせないためにはどうすればいいでしょうか。
06106092007/03/26(月) 11:10:29ID:???
専用スレがあったのでそっちで聞いてきます。
0611nobodyさん2007/03/26(月) 11:11:02ID:???
というかphpinfo()でなにがextensionで動作するか確かめてるの?
0612虚弱PHP2007/03/26(月) 11:29:32ID:???
>>605
その環境ならmysqliじゃなくてmysqlなんじゃないかな。
PDO使うのが一番いいと思うけど。
0613nobodyさん2007/03/26(月) 11:50:31ID:???
アナルにぶちこみたいけど、PHPでできる?

06146052007/03/26(月) 12:01:20ID: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とかについての解説がこのスクリプトに載ってた本に
掲載されてないんです。。 初心者向きみたいな表紙なのに。
本買いなおそうかなぁ…
0615nobodyさん2007/03/26(月) 12:16:44ID:???
>>614
c3_access_counterというテーブルは作ってあるのか
06166052007/03/26(月) 12:18:33ID:???
>>615
はい ちゃんと作ってあるんです
0617nobodyさん2007/03/26(月) 12:22:15ID:???
エラーメッセージ読む気ない奴はプログラムするなよもう
0618nobodyさん2007/03/26(月) 12:23:04ID:xIID0APd
XMLの初心者の質問です。すみません;;

simplexml_load_stringでパースしたデータを通常の配列みたいに
foreach($result as $key => $value){
print $key . $val;
}
で、やろうと思ったのですが… いまいち不発… $key(添え字)はこちらで指定しないと値が取れないのでしょうか?
0619nobodyさん2007/03/26(月) 12:31:20ID:???
>>614
まずさ、エラー文読もうよ
そこに全部書いてあるよ
0620nobodyさん2007/03/26(月) 12:34:16ID:???
>>618
やってみたらできたけど
0621nobodyさん2007/03/26(月) 12:38:25ID:???
デジタルの仕事してて「いまいち」って言葉使うやつはどうかと思う
0622nobodyさん2007/03/26(月) 12:41:41ID:???
>>618
PEARの「Unserializer」使うと幸せになれるかも。
0623nobodyさん2007/03/26(月) 12:43:18ID:???
>>618
PHP4.x使っている、とかってオチじゃないよね?
0624nobodyさん2007/03/26(月) 12:50:45ID:???
>>151って本当?
0625nobodyさん2007/03/26(月) 12:52:41ID:???
半分くらい嘘
0626nobodyさん2007/03/26(月) 12:55:17ID:???
ドメインの後だけはブラウザが自動補完するんじゃなかったっけ?
0627nobodyさん2007/03/26(月) 12:59:13ID:xIID0APd
すまん;;;;; 連想配列一個見間違えてた;;;;;  foreach二つ重ねたらできますた;;;;

>620
ありがとうございます。お陰で自分の間違いに気がつきました
>621
む〜 まぁそだねぇ;; 添え字つけたら値が取れて、ただ自分の望んだ結果にはならなかったから、いまいち…w
>622
ありがとうございます。速攻勉強します
>623
そんなオチじゃなくてすんませn

しかし、XMLを見直すと、連想配列に配列4階層入ってる… これを汎用的に作るのかぁ… やヴぇぇなかなかしんどそうw
0628nobodyさん2007/03/26(月) 13:02:25ID:???
解決した途端に態度が豹変するのは最悪だな
0629nobodyさん2007/03/26(月) 13:09:42ID:???
>>624
>>151は言いたいことそのものは合ってるが例示だけ不適当

http://dailynews.yahoo.co.jp/fc と打ち込んでも http://dailynews.yahoo.co.jp/fc/ になってて…」

なら正しいかと
この場合なら /fc にアクセスされた時点で301を返して /fc/ に飛ばす

あと対処法がLocation:で飛ばすだけというのも正しい
0630nobodyさん2007/03/26(月) 13:13:06ID:jn+p2f5C
>>614
インスタンス化していないクラスのメソッドを呼び出すとそんな感じのエラーが出る

初心者向けの本で、ソースがそのまま動かないのって腹立つよね。

別にあおりとかじゃなくて
そのエラーの意味が分からないのにデータベースに手を出すのは早すぎはしないか?
基本的なとこクリアーしてからのほうがいような

でも、基礎ってツマンナインダヨネ
なんか動くもの作った方がたのしいし

まあ、がんばってくれ
06316052007/03/26(月) 13:53:23ID:???
>>630
ご丁寧にありがとうございました やはり実力不足と実感しました。
以前に
mysql_connect("localhost","root","****");
mysql_select_db("memo");
$sql = "insert into momosample values (0, '$tourokubi', '$title', '$honbun', '$keyword')";
という形式でのmysqlとの連携の雑記帳アプリを(本を見つつ)作ったことが
あったのでトライしたんですが、
mysqli() のパターンになったとたんさっぱりわからなくなりました。
それをフォローする本をきちんと買いなおして勉強しなおします
ありがとうございました
0632nobodyさん2007/03/26(月) 14:14:41ID:???
マニュアル見ればokだと思う
0633nobodyさん2007/03/26(月) 15:20:16ID:FX6c9VSL
質問です
ttp://bright-zero.com/kakaku/svrchk/svc.cgi
こんな感じのスクリプトをPHPで書きたいのですが
サーバの生死チェックはどう書けばいいのでしょうか?
0634nobodyさん2007/03/26(月) 15:27:48ID:???
>>633
サーバーの頭を叩けばいいよ
0635nobodyさん2007/03/26(月) 15:59:21ID:???
>>633
ping
0636nobodyさん2007/03/26(月) 16:06:34ID:9wWutSWX
アセンション
http://pc11.2ch.net/test/read.cgi/mac/1164727549/l50
0637nobodyさん2007/03/26(月) 16:53:20ID:???
携帯サイトの構築をソース[EUC-JP]で書いているんですが絵文字がうまく渡ってきません。
どうすればわたってくるのでしょうか?
また、HTMLソースもEUCです。

携帯 EUC 等でググって見たんですがどうも分かりませんでした。
0638nobodyさん2007/03/26(月) 16:54:59ID:???
SJIS -> EUCに変換した時点で絵文字は破壊されるよ
0639nobodyさん2007/03/26(月) 16:56:59ID:???
>>637
>また、HTMLソースもEUCです。

静的な日本語すら表示できないんじゃないか?
0640nobodyさん2007/03/26(月) 17:06:45ID:???
mb_outputで表示は問題ありません。
ただ絵文字はどうしても破壊されてしまうようです。
皆さんは携帯サイトを構築する時どうしていますか?

PHPソースとHTMLソースをSJISにするのは問題が起こるので避けたいです。
0641nobodyさん2007/03/26(月) 17:06:51ID:???
そもそもhtmlレベルの質問は板違い。
0642nobodyさん2007/03/26(月) 17:11:01ID:???
携帯なんてSJIS以外の選択肢ありえないだろ
0643nobodyさん2007/03/26(月) 17:11:31ID:???
>>640
内部UTF-8
出力SJIS
0644nobodyさん2007/03/26(月) 17:12:32ID:???
>>642は実に馬鹿
0645nobodyさん2007/03/26(月) 17:13:33ID:???
>>641
HTMLレベルですか?
文句なしにPHP周りの質問だと思いますが…
ご存じないのかもしれませんが
0646nobodyさん2007/03/26(月) 17:17:27ID:???
>>621さん
SJISだとsmartyが頻繁にエラー起こすので…
0647nobodyさん2007/03/26(月) 17:18:48ID:???
>>645
EUCとSJISは不可能なんだよ
UTF-8おとなしく使え
エンコードする時sjis-winにするの忘れるなよ
0648nobodyさん2007/03/26(月) 17:59:21ID:2dRnTrwn
こんにちは、初心者丸出しで申し訳ないのですが質問させてください。

携帯ユーザー用に名前変換サイトを作ろうとしています。
そこで、JAVAスクリプトではなくphpを使ったもので単語を変換させようと思っています。
forest pageのような仕組みにしたいのですが…
今PCサイト用に借りている鯖でそのような技はできるのでしょうか?
色々とキーワードを変えてググってみたのですがそのようなスクリプトを配布しているところは皆無でした…
お暇な方、回答よろしくお願いします。
0649nobodyさん2007/03/26(月) 18:15:01ID:???
名前変換サイトって何?
0650nobodyさん2007/03/26(月) 18:34:20ID:???
PHP5で関数内で数メガのデータのバッファを作成して、
それを戻り値で返してもメモリ的には参照だからおkって理解でよろしいですか?
0651nobodyさん2007/03/26(月) 18:35:36ID:???
>>650
参照状態を維持する限りはおk
0652nobodyさん2007/03/26(月) 18:36:21ID:???
>>650
関数内で循環参照さえしてなければね。
0653nobodyさん2007/03/26(月) 18:41:24ID:???
>>649
気になってググってみた。腐女子機能だwこんなの人気あるんだなあ・・・
ttp://id7.fm-p.jp/book/name_make.php?uid=moondragon&dir=1&bnum=9&num=1&mem_pw=
単にFORMで名前送ってキャラ名書き換えるだけの話しw
0654nobodyさん2007/03/26(月) 18:58:30ID:???
>>640
絵文字だけは、コードでデータ保持しといて、送出する時に変換すればいいじゃん。


06556402007/03/26(月) 19:09:04ID:???
>>647さん
DoCoMo絵文字はお教えいただいたやり方で変換まで出来ました。
ただauがんなぜかできません…
$moji = mb_convert_encoding($moji, 'sjis-win', 'UTF-8');
これをpackでチェックしているんですがうまく変換されず??になってしまうんです。
今一度知恵をお貸しください。
06566472007/03/26(月) 19:13:35ID:???
>>655
いや出来るからw
06576402007/03/26(月) 19:27:40ID:???
>>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');
0658nobodyさん2007/03/26(月) 19:50:08ID:???
シェル操作のほうが楽なので、PHPのexecでサーバのファイルを管理したいのですが、
PHPの関数でできることはなるべくそちらでやったほうがいいですか?
0659nobodyさん2007/03/26(月) 19:57:57ID:???
教えてください。
まだアイディアレベルなので作っていないのですが、
下記のような事をphpで行いたい場合何かいい方法はないでしょうか?
サイトA
サイトB
サイトC
サイトD
に対して チェックボックスで選択した所にのみ
その他のinputやradioで入力したデータを
変換してpostしたいと思っているのですが何かいい方法はないでしょうか?

一応自分なりに考えてみたのですが、
1、いったんDBに格納する
2、cronで60秒ごとに新しいデータが入ってるかどうかをチェックする
3、2で新しいデータが入っていれば各サイトにデータを登録しに行く

以上 拙い文章ですがご指導おねがいします。
0660虚弱PHP2007/03/26(月) 20:20:15ID:???
>>646
SJISでもデリミタをオーバーライドすれば大丈夫だと思うけど?
まあ、SJISは出力だけにしといた方がいいのは確かだけどね。
0661nobodyさん2007/03/26(月) 20:32:30ID:???
>>659
文章が拙すぎてわからない
0662nobodyさん2007/03/26(月) 20:35:45ID:???
JavaからPHPに入ってきた者です。

Javaの場合はCSVデータや画面の入力項目・設定ファイルなど、データ構造があるものはほぼなんでもクラスにして操作するのが基本ですが、PHPの場合は連想配列で済ますケースが多い気がします。
というか、今僕が引き継いでるソースが正にそうで、フィールドが20個以上あっても配列で操作していて違和感を感じます。
JavaでHashMapを使うときは相当の理由がないと嫌がられるんですよね。

ただ、PHPだとアクセッサ書くのも面倒だし(いちいち$thisとかありえない)、静的初期化子はなかったりで不便な点が多いこと、配列は配列でimprodeとかmergeとか色々便利なメソッドがあるので連想配列の意義も十分あると思います。

要するにPHPのスタイルがよく分かっていないのですが、値を格納する目的のみでクラスを作成することはほとんどないのでしょうか?
0663nobodyさん2007/03/26(月) 20:46:40ID:???
>>662
そんなもんケースバイケースってのはおまえもわかってるんだろう
引継いだ担当に文句を言え
一般的な事を言うとPHPはJavaと違って純粋なOOPじゃなくネイティブな型もあるから
ハッシュで済ませれるものに無理にクラスを作成する必要がない
郷に従うためにPHPのライブラリやフレームワークのソースでも嫁
0664nobodyさん2007/03/26(月) 20:57:51ID:???
>アクセッサ書くのも面倒だし(いちいち$thisとかありえない)、静的初期化子はなかったり
実装すればいいじゃん。そんなに配列嫌いなら。たいした手間じゃないでしょ
06656472007/03/26(月) 21:02:33ID:???
>>657
あのさ、そもそもEZweb絵文字の出力の仕方が間違ってると思うんだわ?
それくらい確認してから質問しろよw
0666nobodyさん2007/03/26(月) 21:15:46ID:???
>>improdeとか
どういうメソッドなんだろう
0667nobodyさん2007/03/26(月) 21:21:26ID:???
>>659
普通にPOSTリクエストを投げればいいんじゃないの?
なぜcron?
0668nobodyさん2007/03/26(月) 21:25:36ID:???
わかりにくい文章を理解するとすれば
クライアントから直接じゃなくて、そのスクリプトが動いてるホストから投げたいんだろう。
でも、そんなのも簡単だから、もっと深遠な理由があるのかとも思うが。
0669nobodyさん2007/03/26(月) 21:43:50ID: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の場合はどうすればいいでしょうか。
0670nobodyさん2007/03/26(月) 22:00:43ID:???
>>669
foreachでループさせてmb_convert_encodingしてみたら?
0671nobodyさん2007/03/26(月) 22:18:07ID:???
>>669
面白そうなスクリプトなのでFeed2jsをダウンロードして試してみた。
のぞいた限り、サーバー側のヘッダの送出コードがUTFを明示指定してないだけだと思うよ。
たとえば
>アドレスバーにそのURLを打った場合も同様
時にブラウザの文字コード指定をUTFに変更してみて直るようだったら
そこらへんの問題だとほぼ特定できる。
0672nobodyさん2007/03/26(月) 22:39:52ID:???
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するだけ

06734322007/03/26(月) 22:42:22ID:???
レンタル鯖で同じ症状に陥ったorz
my.ini編集できないからオワタwwwwww
0674nobodyさん2007/03/26(月) 22:50:46ID:???
オワテねーよwwwwwwww
ユーズキャラクタセットすれwwwwww
0675nobodyさん2007/03/26(月) 22:54:50ID:???
>>674
PHPはいけるが、MySQLは殆どダメなんだorz
kwsk教えてくだしあ
0676nobodyさん2007/03/26(月) 23:03:35ID:???
MySQLもろくに使えないのにPHPはいけるか(プッ
0677nobodyさん2007/03/26(月) 23:10:12ID:???
>>676
勘違いしないでくれ
MySQLよりはいけるってことだ
0678nobodyさん2007/03/26(月) 23:11:50ID:???
どうみてもMySQLの問題じゃなくてPHPの問題だろ
0679nobodyさん2007/03/26(月) 23:14:45ID:???
>>677
ほほぅ。小僧!貴様も中々言うようになったのぉ!
0680nobodyさん2007/03/26(月) 23:43:33ID:???
こんな問題一人で解決出来ない様じゃレベルはたかが知れてるよw
0681nobodyさん2007/03/26(月) 23:44:24ID:???
>>680
承知の上
0682nobodyさん2007/03/26(月) 23:48:18ID:???
>>675
マチガッテタwwwwユーズじゃなかったwww
PHPで接続した直後にSQLを打つwwww
SET NAMES キャラクターセット名でwwwwww
てかここもうテンプレ要れようぜwwww
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ
0683nobodyさん2007/03/26(月) 23:50:36ID:???
お前ら仲良いな
0684nobodyさん2007/03/26(月) 23:51:10ID:???
>>682
あ〜、それやったけど、無意味だった・・・
phpMyAdminに入れるのか?
0685nobodyさん2007/03/27(火) 00:10:13ID:???
>>684
ほほぅ。偉い自信だな?ん?
06866692007/03/27(火) 00:40:13ID:???
>>670
調べてやってみます。

>>671
エンコードを何にしても、「?????」のままです。
全角数字は半角数字に、「!」は「!」になっています。

>>672
やってみましたがダメでした。
#build.phpが吐き出すタグをそのまま貼った場合は大丈夫です。
0687nobodyさん2007/03/27(火) 00:41:56ID:???
>>685
まぁね、心の中では「教えて下さい」って土下座してるがな
06886692007/03/27(火) 00:46:10ID:???
>>669
>別のJava Scriptから読み出すと
これで何をやってるかと言うと、
Shift_JISのHTMLファイルに、セレクトボックスを設置してあり、
そのセレクトボックスに複数のRSSを設定、選ぶとそのHTMLファイルの
特定の場所に表示させる形をとっています(この切り替えがJavaScript)。
これで表示させようとすると日本語が「??????」になってしまうのです。
この切り替え自体はうまくいっていて、「RSSリ○ティング」等似たような
サービスを利用した場合はこのような文字化けはありません。
ただし何も表示されないことがあるので、自鯖に・・・と・・・。
0689nobodyさん2007/03/27(火) 01:00:45ID:???
*ここは初心者が戯れる憩いのオアシスです。
0690nobodyさん2007/03/27(火) 01:05:16ID:???
>>687
ほら、今のうちに謝っちゃえよ?な?
今なら皆ゆるしてくれるかもしれないよ?ね?
0691nobodyさん2007/03/27(火) 01:06:45ID:???
ごめんなさい、調子乗ってました、許してください
0692nobodyさん2007/03/27(火) 01:18:38ID:yzdV0dte
ボタンを2つ配置した場合各ボタンで違う処理をしたいのですがどのようにすればいいのでしょうか?
ASP.NETから移行しようと現在勉強中です。
ASP.NETで言うと各ボタンヲクリックしたときのイベントをそれぞれ記述すればOKですがPHPですと
POSTで処理しようとするとどのボタンを押しても同じ処理が行われるみたいで困ってます。
そういった仕様なのでしょうか?
あるいは各ボタンのイベント処理はできるのでしょうか?
0693nobodyさん2007/03/27(火) 01:20:02ID:z8CJxUFK
preg_matchの第三番目に書くやつは省略することができますか?
preg_match($pattern,$text)ってかいても大丈夫でしょうか?
0694nobodyさん2007/03/27(火) 01:20:59ID:???
やってみれば?
0695nobodyさん2007/03/27(火) 01:27:49ID:???
四角い仁鶴、いやカッコがあれば省略しておk
0696nobodyさん2007/03/27(火) 01:36:31ID:???
>>692
ヒント:押すボタンによって格納される値が変わる
0697nobodyさん2007/03/27(火) 01:43:09ID:???
>>694
とっくにやったよ氏ね

>>695
ありがとうございます
0698nobodyさん2007/03/27(火) 02:02:20ID:???
>>692
<input type="submit" name="btn1" value="submit1">とすりゃ$_POST['btn1']に"submit1"が入る。
06996922007/03/27(火) 02:08:05ID:???
>>696のヒントを元に調べても判らず、もう一度ソースを見ていたら試していない事をぼんやりと思いつき
なんとなくイメージしたものをやってみたら出来た
そしてお礼を言おうとこのページを開いたら>>698と同じだった
いまいち自信がなかったのですがこれで安心して先に進めます。

各位ありがとう御座いました。
0700nobodyさん2007/03/27(火) 02:38:10ID:tdPy0bax
自分で書いてみたCGIを鯖にUpしないでプレビューしてみたいんですが
何かいいソフト無いでしょうか
くだらない質問ですみませんorz
0701nobodyさん2007/03/27(火) 02:41:51ID:???
つXAMPP
0702nobodyさん2007/03/27(火) 02:44:23ID:???
>>701
ありがとうございました。
0703nobodyさん2007/03/27(火) 02:52:23ID:???
曜日と日付がわかっているデータから2007年以前で一番近い年数を割り出すのに良い方法ってないでしょうか?
いろいろ試してるんですがなかなか上手くいかなくて・・
0704nobodyさん2007/03/27(火) 03:04:05ID:???
>>703
37回のループ
0705nobodyさん2007/03/27(火) 03:19:28ID:???
>>704
やはりその方法しかないですかね・・
データが多かったので出来ればループは避けたかったのですが、
2007から1970まで戻って曜日が一致したらループから抜け出せばそんなに重くならなさそうなのでその方法でやってみます。
ありがとうございました。
0706nobodyさん2007/03/27(火) 03:26:34ID:???
>>698
それだとボタンの表示テキストが不自由だけどな。

     [登録]

だったらvalue="登録"にしないといけない。
そしておまえらの大好きな文字コードの問題にぶちあたるかもね。
0707nobodyさん2007/03/27(火) 03:36:43ID:???
PHPじゃないけど今CentOSってデフォルト文字コードがEUCじゃなくて
UTF-8になってるのね。
ということはやっぱりRedHatもか?
0708nobodyさん2007/03/27(火) 04:14:38ID:???
VineやDebianがモタモタしてるだけ
0709nobodyさん2007/03/27(火) 07:38:00ID:???
>>707
CentはRHLだぞ
0710nobodyさん2007/03/27(火) 10:32:11ID:???
何か最近、Shift-JISのサイトに接続したら、
ブラウザが勝手にエンコードをUTF-8にしてしまう・・・。
なぜだ・・・
0711nobodyさん2007/03/27(火) 10:40:09ID:???
と思ったら設定ミスでした。。。自己解決しました。
0712nobodyさん2007/03/27(火) 10:40:23ID:???
そんな設定ねーよwwwwwww
0713nobodyさん2007/03/27(火) 10:44:17ID:???
>>698
俺はvalueの値に縛られるのが嫌なんで、
無い頭で考えて結局こうしてる。

<input type="submit" name="submit[btn1]" value="登録">
<input type="submit" name="submit[btn2]" value="削除">

で、list($submit,) = each($_POST['submit']) で何が押されたかを取得。
0714nobodyさん2007/03/27(火) 10:51:05ID:???
なるほど、そういう書き方もあるんだね
0715nobodyさん2007/03/27(火) 10:57:02ID:???
list($submit,) これのカンマって何?
0716虚弱PHP2007/03/27(火) 11:00:36ID:???
>>692
一応指摘しておくと、PHPというよりHTMLの仕様の問題ね。

HTMLだけでやるなら、
ちとトリッキーだけど>>713の方法がいいんじゃないかなぁ。
最近はJavaScriptでなんとかする場合が多いみたいね。
0717nobodyさん2007/03/27(火) 11:58:28ID:???
>>715
打ち間違えぐらい多めにみろよ。
0718nobodyさん2007/03/27(火) 12:03:11ID:???
PHPMyAdminのどこにSET NAMEかけばいいんだ?
07197152007/03/27(火) 12:03:23ID:???
いや違う、eachとか俺よく分からんかったので、
Perlの$_みたいに省略とか、何か$submitの値が変わったりとかあるのかとオモタ
0720nobodyさん2007/03/27(火) 12:09:01ID:???
XML使うやつって、何でみんなsimplexml_load_stringとかで一度パースしてオブジェクトに入ってるのを
更に配列に入れようとするん?
そのままxmlオブジェクトのまま扱えばいいのに…。連想配列使えるし、不便は無いような…。
0721nobodyさん2007/03/27(火) 12:11:56ID:???
やり方なんて千差万別
07227182007/03/27(火) 12:30:51ID:???
接続直後に「SET NAMES utf8」で解決しました。
ですが仕組みがわかりませんorz
0723nobodyさん2007/03/27(火) 12:33:34ID:???
スレ違い
0724nobodyさん2007/03/27(火) 12:49:16ID:K1B1Chgw
Webデザイン向けじゃなくて
Webプログラマ向きの月刊誌とかないかな?
0725nobodyさん2007/03/27(火) 13:18:02ID:???
>>722
ちょwww解決したならwww自分で調べろよwwwww
いつまでたってもわかんないぜ?wwww
0726nobodyさん2007/03/27(火) 13:49:49ID:z8CJxUFK
外部から2ちゃんに書き込めるスクリプトって書けますか?
0727nobodyさん2007/03/27(火) 13:54:45ID: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
この場合、どのようにすれば取得できるようになるでしょうか?
0728nobodyさん2007/03/27(火) 14:03:55ID:???
ユーザー任意の定義でソートする方法がわからないので教えてください。

$fruit = array('りんご'・'バナナ'・'みかん'・'メロン'・'スイカ');

といった数字ではない配列があったとき、
任意の順番に常にソートするにはどういったコードを書けばいいんでしょうか?

たとえば必ず

みかん、バナナ、メロン、りんご、スイカ

といった具合にみかんが一番最初で、最後がスイカのように、数字や文字列ではないソート
方法の設定の仕方を知りたいんですが・・・・

usort関数を調べてみたんですが、よくわからないので教えてください。
0729nobodyさん2007/03/27(火) 14:34:29ID:???
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したいのですがどうすればいいでしょうか?
0730nobodyさん2007/03/27(火) 14:35:01ID:???
>>728
usortのサンプルを見れば分かるだろ

というか、そのソートのルールは何だいったい
そのルールを比較関数内に記述しろ
0731nobodyさん2007/03/27(火) 14:37:03ID:???
>>729
無理

hoge::_construct() 内で echo するしかない
07327292007/03/27(火) 14:39:08ID:???
PHPには失望しました…
0733nobodyさん2007/03/27(火) 14:42:48ID:???
>>729
何気ないこの1レスが
PHP衰退の一翼を担うであろうことを、
まだ誰も知らない…
0734nobodyさん2007/03/27(火) 14:49:30ID:???
>>729
あれ、普通にecho $this->dataじゃだめなの
07357292007/03/27(火) 14:52:46ID:???
>>734
729じは例として書いたので求めていることとは若干違います。
やりたいのは$this->dataを継承先の変数で持ちまわしたいのです…
publicだからそのまま持ちまわせばいいだけのことなんですけどね。。
ただ、$this->dataはバッティングしているから面倒くさくて
0736nobodyさん2007/03/27(火) 14:55:22ID:???
>>735
だったら継承させる意味なくない?
0737虚弱PHP2007/03/27(火) 15:18:27ID:???
>>735
よくわかんないけど、$dataをVOにしてSingletonで実装するのがいいんじゃないのかな?
0738nobodyさん2007/03/27(火) 16:26:19ID:???
>>728
ハッシュにして優先順位を数値で付けるのが楽かな
0739nobodyさん2007/03/27(火) 17:36:26ID:???
>>735
PHP は強制的にオーバーライドするから、基底クラスの
プロパティと派生クラスのプロパティが一致してしまう
継承はあきらめて、委譲するしかないだろう



0740nobodyさん2007/03/27(火) 17:40:00ID:???
>>738
なるほど・・・やってみます。ありがとうございました。
0741nobodyさん2007/03/27(火) 17:41:42ID:???
>>739
C++でもメンバ関数はvirtual指定できるけど、それ以外は
継承されるから、>>729 が求めるようなことを実現できる
言語って何?

perl ならできそうだな
0742nobodyさん2007/03/27(火) 17:58:21ID:enVMrSuR
レンタルアクセス解析作るんですけど、データの保存方法で悩んでいます。
書き込み時にサーバーにかかる負荷が小さいのは DB、テキスト形式のどちらでしょうか。
自鯖で運営するので、Apacheからログを生成するという方法もあります。

ご教授よろしくお願いいたします。
0743nobodyさん2007/03/27(火) 18:15:41ID: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];
07446472007/03/27(火) 18:32:44ID:???
$date = "03/27/2007"
list($month, $day, $year) = sscanf($date, "%02s/%02s/%04s");
$date = sprintf("%04d-%02d-%02d", $year, $month, $day);
0745虚弱PHP2007/03/27(火) 18:37:32ID:???
>>743
print date('Y-m-d', strtotime("03/27/2007"));
0746nobodyさん2007/03/27(火) 18:42:22ID:sKfmcrY8
php勉強し始めて4ヶ月
当初はどうしても作りたいサイトがあり、
それを目標にphpの勉強を頑張ってきました
そして先週、ようやく念願のサイトが完成しました

ド素人だった俺にアドバイスをくれた皆さん、
ありがとうございました
0747nobodyさん2007/03/27(火) 19:02:06ID:ci3d2Flj
>>742
Apacheのログから解析が一番問題が少ない
0748nobodyさん2007/03/27(火) 20:15:31ID:???
>>726
http://www.monazilla.org/document/
0749nobodyさん2007/03/27(火) 20:18:46ID:ABEOTI8A
>744
ありがとうです。そうかsscanf($date, "%02s/%02s/%04s"); の%の部分を間違えていたのですね。感謝です。

>745
お見事です。完璧です。使わせて頂きます。ありがとうです。

お二人とも本当に感謝です勉強になりました
0750nobodyさん2007/03/27(火) 20:45:51ID:OGy0aBky
allow_url_fopen = Offにしてあるレンタル鯖なのですが、
どうすれば他鯖のファイルを取得できますか?
申し訳ないですが、ご教授ください
07516692007/03/27(火) 20:58:04ID:???
>>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に直す部分につけてみても変わらないような。
0752nobodyさん2007/03/27(火) 21:00:03ID:GDh/nu2X
echo でSoftBank絵文字を吐き出したいのですが「$G!」とかがPHPでエラーを起こします。
echo で出力する方法はないんでしょうか?
0753nobodyさん2007/03/27(火) 21:03:21ID:???
>>752
\
07547522007/03/27(火) 21:11:19ID:GDh/nu2X
エスケープしても上手く表示できません…
0755nobodyさん2007/03/27(火) 21:20:49ID: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");
}

?>
0756nobodyさん2007/03/27(火) 21:23:38ID:???
>>752
echo '$G!';
07577522007/03/27(火) 21:52:53ID:GDh/nu2X
>>756
シングルクォーテーションでしたか。 盲点でした。
絵文字の始点と終点を表す0x1Bと、0x0fが原因かと思ってましたが、実は$が含まれていたからなんですね、ありがとうございます。
07587562007/03/27(火) 21:57:20ID:???
適当に言ったら大当たりかよ
0759nobodyさん2007/03/27(火) 23:05:23ID:???
>>755
http://jp2.php.net/manual/ja/function.file-exists.php
0760nobodyさん2007/03/27(火) 23:31:47ID:3VONG8xJ
PHPでのソケット通信のサンプルスクリプトを
提供している解説サイトとか無いでしょうか?
公式以外で
0761nobodyさん2007/03/27(火) 23:35:24ID:???
>>760
公式のサンプルの何が不満なんだ
0762nobodyさん2007/03/27(火) 23:37:11ID:???
>>760
http://www.devshed.com/c/a/PHP/Socket-Programming-With-PHP/
07637602007/03/27(火) 23:50:39ID:???
>>760
公式読んで理解できる程、頭良く無いんですよ
ソケット通信に特化してるPHPの書籍があれば良いんですけどね
無いんだよなぁ
書籍でお勧めありませんか?

>>761
d。日本語サイトのところも教えてよ
0764nobodyさん2007/03/28(水) 00:13:22ID:???
お口がひん曲がってるなw
0765nobodyさん2007/03/28(水) 00:30:13ID:???
POST/GET値のサニタイズ関係の関数かクラスでお勧めありますか?
0766nobodyさん2007/03/28(水) 00:34:50ID:???
ない
0767nobodyさん2007/03/28(水) 00:45:44ID:???
>>765
俺の自作クラス
07686982007/03/28(水) 01:31:40ID:???
>>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" の時そのままの名前で取れない。
0769nobodyさん2007/03/28(水) 02:25:18ID:???
レンサバのPHPのバージョンが4.3.Xと指定されています。
PHP5.2や4.4は使えないってことですか?
0770nobodyさん2007/03/28(水) 02:56:17ID:???
>>769
レンサバ業者に聞いてください
0771nobodyさん2007/03/28(水) 03:08:21ID:???
お前ら日ごろの感謝を忘れてないか?
ということで毎日の業務・趣味で一番お世話になってる関数・メソッド・etcを挙げようぜ

俺はもちろんecho

でも彼女にするならprintかな?
0772nobodyさん2007/03/28(水) 03:12:19ID:???
馴れ合いは他所でやれ
0773nobodyさん2007/03/28(水) 03:37:05ID:zfmCNWsQ
>>762
safe-modeにはしていないのですが。
あと、コマンドライン上では、ドライブにマウントすればUNCではなくても問題なく動きますし。
どうなっているのでしょうか?
0774nobodyさん2007/03/28(水) 07:38:21ID:???
質問です。
今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を持つマシンからアクセスしてもカウントが進んでしまいます。
アドバイスよろしくお願いします。
0775nobodyさん2007/03/28(水) 08:05:33ID:???
>>774
print getenv("REMOTE_ADDR");
print $temp_host;

してみれば分かるんじゃね
0776nobodyさん2007/03/28(水) 08:14:22ID:???
>>774
あと $host に何が入ってるのか分からないから決定的なアドバイスがしようが無い
0777nobodyさん2007/03/28(水) 09:23:14ID:???
>>775,776
レスありがとうございます。
条件分岐の記述としては間違いは無いでしょうか?
javaの経験はあるのですがphpは初めてなもので少々心配です。

$hostには前回のホストが入ることになります。
$host = gethostbyaddr(getenv("REMOTE_ADDR"));
と言うのを処理の最後(評価が終わった後)に行っている感じです。
0778nobodyさん2007/03/28(水) 09:26:00ID:???
連投すみません。
$hostは$host = $temp_host;の方が適切ですね。
やり方がスマートじゃないのは初心者なのでご容赦を。
0779nobodyさん2007/03/28(水) 09:31:36ID:???
これだけじゃだめなの?↓

$local = "192.168.0.10";
if (getenv("REMOTE_ADDR") != $local) {
  $total++;
}
0780nobodyさん2007/03/28(水) 09:32:49ID:???
>>774
最後に
print $new_host;
print $host

してよく考えてみろ
0781虚弱PHP2007/03/28(水) 10:07:05ID:???
俺は$_SERVER派なんだけど、
どっち使った方がいいとかってあるのかな?

>>777
ひとまず、デバッグプリントは入れてみたの?
0782nobodyさん2007/03/28(水) 10:16:43ID:???
>>781
自分も$_SERVER使うな。getenv()はISAPI依存しちゃうから
0783nobodyさん2007/03/28(水) 11:37:57ID:???
>>781
関数より変数の方が早そうな気はする
まあ差があっても誤差範囲だろうけど
0784nobodyさん2007/03/28(水) 11:58:28ID:OQ5Djqwf
apacheのaddtypeにPHPの拡張子が付くファイルをPHPスクリプトに
認識させるための設定をしたのですが、

テキストエディタに〜.phpで保存すると
〜.php.text
とテキストファイルで保存されてしまいます。
拡張子を.phpで保存するのにはどうすればいいのか教えていただけないでしょうか?

0785nobodyさん2007/03/28(水) 12:04:39ID:???
OSも書かずに質問とな
0786nobodyさん2007/03/28(水) 12:13:04ID:???
>>784

"index.php"

"←でファイル名をくくる
0787nobodyさん2007/03/28(水) 12:14:09ID:???
>>785
こんな初歩的な質問にOSなんて聞かなくても答えられないとね
0788nobodyさん2007/03/28(水) 12:40:14ID:???
>>784
っつかそれ、PHPとは何の関係もないんじゃない?
0789nobodyさん2007/03/28(水) 12:42:12ID:???
下らなすぎて悪いんだが、整数の1~100までの範囲で条件を指定することって可能?
07907902007/03/28(水) 12:45:27ID:???
やっぱいいや、他いって聞いてくる
0791nobodyさん2007/03/28(水) 12:51:57ID:???
>>787
Windowsしか知らない人発見
0792nobodyさん2007/03/28(水) 13:01:31ID:???
apacheで.textをPHPでパースするように設定すればおk
0793nobodyさん2007/03/28(水) 13:06:06ID:???
>>787
(ノ∀^)アチャー
0794nobodyさん2007/03/28(水) 13:09:20ID:???
そんな糞OSなんて一つしか無いって話だろ
0795nobodyさん2007/03/28(水) 13:18:51ID:???
自演がはげしいな
0796nobodyさん2007/03/28(水) 13:32:19ID:YTytDMNb
>>786
ありがとうございます。
PHPに関する情報が表示されました。
ここから非常に楽しみです。

PHPは、モジュール追加するだけで面倒な文字コード統一とか
自動でやってくれるんですね。
すごくいいと思った。
Perlなんてやってらんね。
面倒臭い。
0797nobodyさん2007/03/28(水) 13:43:14ID:???
>>795
>>796
           ,, -──- 、._
        .-"´         \.
        :/   _ノ    ヽ、_ ヽ.:
        :/  o゚((●))  ((●))゚oヽ:
      :|       (__人__)    |:
      :l        )  (      l:
      :` 、       `ー'     /:
       :, -‐ (_).        /
       :l_j_j_j と)丶─‐┬.''´
          :ヽ   :i |:
             :/  :⊂ノ|:
0798nobodyさん2007/03/28(水) 13:51:44ID:ztAHNf2V
aaa.com/form.htmがあってbbb.com/kakikomi.phpにGET属性でデータを送ると上手く
いきません。外部URLからのデータ受信にPHP側で何か設定しないとダメなのでしょうか?
詳しい方よろしくお願い申し上げます。
0799nobodyさん2007/03/28(水) 13:53:51ID:???
1とか整数の最初に0をつけて「01」としたいんですが、どうすればいいんでしょうか
0800nobodyさん2007/03/28(水) 13:55:19ID:???
form.htm側のform内のソースと、kakikomi.phpのソースをさらせ
0801nobodyさん2007/03/28(水) 13:56:07ID:???
>>799
printf
0802nobodyさん2007/03/28(水) 14:04:48ID:???
<form action="http://bbb.com/kakikomi.php"; method="get">...</form>
kakikomi.php

print_r($_GET);
0803nobodyさん2007/03/28(水) 15:23:04ID: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でデータが送られてないのかなーと思いまして。
どうなのでしょう?
0804nobodyさん2007/03/28(水) 15:31:45ID:???
本家ミラーのマニュアルでは見つからないんだけど、
これってエラー出る?

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 */
}
?>
0805nobodyさん2007/03/28(水) 15:40:00ID:???
>>803
まずは $_GET を print_r してみる。
0806nobodyさん2007/03/28(水) 16:34:37ID:???
昔このスレでCGIとして動作させた場合、
includeが使えないとか書いてたのですが、
今ふと思い出してやってみたら使えました。
普通に使えますよね?
0807nobodyさん2007/03/28(水) 16:58:16ID:1Rz5XCWK
PHPでUNIXとWINDOWSを見分ける方法を教えてください。
0808nobodyさん2007/03/28(水) 17:01:44ID:???
phpinfo見れ
0809nobodyさん2007/03/28(水) 17:03:11ID:???
PATH_SEPARATOR見るとか
0810nobodyさん2007/03/28(水) 17:13:00ID: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の仕様なのか、オブジェクト指向言語全般でそうなのかどちらでしょうか?
0811nobodyさん2007/03/28(水) 17:19:38ID:???
private って書いてあるよ?
getter で取得して出力しなきゃいけないんじゃない?
0812nobodyさん2007/03/28(水) 17:20:03ID:???
>>803
GETだったらURL見れば一発じゃん
0813nobodyさん2007/03/28(水) 17:20:51ID:???
>>812
AjaxのUpdaterとかURLじゃ分からない場合だってあるだろ
0814nobodyさん2007/03/28(水) 17:39:49ID:Wm7Ais9i
>>811
ゲッター使えば出力出来るのは分かってる。
そこで疑問になるのは、
testVarは、
testAbstractClass::testVarとして存在しているだけで、
testConcreteClass::testVarとしては存在していないということなのか?ということ。
じゃあvar_dump($this)とした時になんで自分のメンバのようにでてくるの?と不思議になる。
継承した場合の挙動ってオブジェクト指向言語一般的にこれで正しいの?
0815nobodyさん2007/03/28(水) 17:44:44ID:???
ってprotectedにしろって話だね
失礼しました。
0816nobodyさん2007/03/28(水) 17:45:04ID:???
>>814
正しいよ
privateは継承したクラスの中からはアクセスできない
継承したクラスの中でも使いたかったらprotectedにする
var_dumpは単純にオブジェクト全てダンプするから
privateなメンバもダンプされる、var_dumpが特殊だと思えばいい
0817nobodyさん2007/03/28(水) 17:46:55ID:???
>>813
はぁ?
0818nobodyさん2007/03/28(水) 17:52:59ID:???
何をイライラしてんだか
0819nobodyさん2007/03/28(水) 17:56:56ID:???
>>813
クマー
08208062007/03/28(水) 17:59:00ID:???
馴れ合いしてないで早く答えてくれ
0821nobodyさん2007/03/28(水) 18:06:27ID:???
そもそもCGIに興味が無い
0822nobodyさん2007/03/28(水) 18:09:04ID:???
>>475の意味がやっと理解できた。

CGIモードでもincludeできるよ。
セーフモードだとinclude出来るディレクトリが制限されるよ。
08238062007/03/28(水) 18:22:56ID:???
>>822
>セーフモードだとinclude出来るディレクトリが制限されるよ。
なるほど。ありがとうございます。
どうやら読み間違えてたようです。
0824nobodyさん2007/03/28(水) 21:28:41ID:???
>>821
興味がないってかセーフモード下ではCGIじゃないと使えない
関数なんかもいっぱいあるわけで、
レンタル鯖とかならCGIとして動作させないといけない事情も出てくる。
0825nobodyさん2007/03/29(木) 01:00:26ID:???
PHPってHTTPリクエストが終了した時点で情報が破棄されますよね?
ということはシングルトンパターンでデータベース接続クラスを作った
としても、リクエスト終了毎に毎回データベースとの接続が切られて
いるから、PHPでのシングルトンパターンの実装は意味が無いので
しょうか?
0826nobodyさん2007/03/29(木) 01:07:30ID:???
>>825
Apacheにはリソースプールというのがあって、そこにDB接続を残しておける
PDOなんかだと簡単に出来るハズ
08278252007/03/29(木) 01:26:18ID:m+IoRuW8
sageてました。すみません。

>>826
おぉ!さすがアパチェ!
コネクションをプーリングできるということはPDOでなくても
ネイティブ関数でも出来そうですね!

PDOは凄い便利だけどMySQLで使うと折角の高速SELECT
の効果が薄くなってしまうのが辛いですね・・・
0828nobodyさん2007/03/29(木) 03:25:29ID:???
osCommerceをインストールしましたが日本語が
表示しません。
PHP3環境からPHP4に移行したいのですが
方法を教えてください。
0829nobodyさん2007/03/29(木) 08:35:06ID:???
>>827
mysqlは接続も速いよ
0830nobodyさん2007/03/29(木) 11:44:56ID:???
MVCモデルで作ってみようとコントローラの中でactionを基に各ページへの分岐を書いたんだけど、
そのページの中での表示や登録や確認はモデルの中で分岐していいの?それとも全部コントローラでやるべき?

前者だと中途半端で変わらないような気もするけど
後者だとswitchの中にswitchが入ったりしてコントローラが複雑になりすぎるんじゃないかと思いまして。
0831nobodyさん2007/03/29(木) 12:53:01ID:???
>>830
actionを基に各ページへの分岐ってさぁ、普通コントローラじゃなくてディスパッチャの
仕事じゃないのかな。

で、各ページっていうのがコントローラのことじゃない?
0832nobodyさん2007/03/29(木) 12:56:04ID:???
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] が存在しない、という意味かと思いますが、
どうすれば修正できるでしょうか?

0833nobodyさん2007/03/29(木) 13:04:07ID:???
>>831
そうなんですか?
ディスパッチャとは初耳でした
どこか参考になるサイトはありませんか?
0834nobodyさん2007/03/29(木) 13:16:50ID:???
>>832
多分
$match_list = array();

つかエラーレベル高くない?
08358322007/03/29(木) 13:42:45ID:???
>>834
だめでした、同じエラーが出ます orz
0836nobodyさん2007/03/29(木) 13:44:22ID:???
そもそも$match_list[1][0]ってなんやねん
var_dumpしてみろ
0837虚弱PHP2007/03/29(木) 13:48:52ID:???
>>830
俺はmodule&actionの2パラメータで分岐。
moduleとクラスを関連付けて、actionとメソッドを関連付け。
ビジネスロジックは全部メソッドに。
可変クラスと可変関数使ってるから、かなりシンプルになってる。
実際は複数アクションを繋げて実行したい場合もあるから
アクションチェーンみたいなの実装してて、
モデルとコントローラーの分かれ目は曖昧になっちゃってるね。

↑もちろんこんな実装がいいのかは不明w
0838nobodyさん2007/03/29(木) 14:25:15ID:???
if (isset($match_list[1][0])) {
$hoge_data[$i] = $match_list[1][0];
}
08398322007/03/29(木) 14:27:15ID:???
>>838
それもやってみたんですよ、、、、
でも今度は if (isset($match_list[1][0])) {
の行で同様のエラーが発生するんです・・・・
0840nobodyさん2007/03/29(木) 14:27:17ID:???
$hoge_data[$i] = isset($match_list[1][0]) ? $match_list[1][0] : null;
0841nobodyさん2007/03/29(木) 19:03:41ID:???
ひとつのphpの中でforeachいっぱい使う場合
foreach($array as $key => $value )
の$keyや$valueって名前かぶらないほうがいいのかな?
0842nobodyさん2007/03/29(木) 19:36:46ID:???
被ったらえらいことになるやん?
0843nobodyさん2007/03/29(木) 20:09:42ID:???
>>841
別に平気だけど可読性が低下する
0844nobodyさん2007/03/29(木) 22:14:05ID:???
判ってない奴発見=>>842
0845nobodyさん2007/03/29(木) 22:17:32ID:???
ああごめん多重配列を回す場合の話かと思った
0846nobodyさん2007/03/29(木) 23:21:50ID:hIHbostN
OS/FreeBSD
httpd/apache2.2.4
php/5.2.1(php.ini)はなし(デフォルト)。

bbs.logにログ(名前や書き込み)を入出力する簡単な掲示板を作ったのですが
bbs.logのサイズが約1MBを超えると、ケツの方が途中で切れてしまいます。

これはスクリプトが原因なんでしょうか?サーバ側が問題なんでしょうか?

0847nobodyさん2007/03/29(木) 23:37:37ID:???
>>846
いや、php.iniあるだろ

ケツの方がきれるってのはどういう状態だ?
書き込んだbbs.logを見てみたら最新の書き込みの途中以降が
無くなっちゃってる事?
0848nobodyさん2007/03/30(金) 00:04:20ID:???
>>846
処理に時間かかりすぎて途中で強制終了でもされてるんじゃないの
0849nobodyさん2007/03/30(金) 00:08:20ID:JMCAPSTS
記事番号,名前,書き込み
2,bar,kakiko
1,foo,kakiko

と新しい書き込みがファイルの最初の行になるようなCSVファイルなんですが
bbs.logが1MBくらいを超えたあたりから、一番最後の行が
1,foo
で切れてる状態なんです。
0850nobodyさん2007/03/30(金) 00:12:06ID:???
1MB程度なら問題ないと思うけど、サーバーが重いのでは?
0851nobodyさん2007/03/30(金) 00:16:28ID:???
>>849
というコトはワザワザ毎回ソートしてるのか。

・・・でもそんなに時間がかかるわけではなさそうだしな。
ここはソースを晒してみたらどうだろう?
0852nobodyさん2007/03/30(金) 00:21:09ID:???
>>846
追記だよね?
まさか全部読み込んで全部書き出してないよね?
0853nobodyさん2007/03/30(金) 00:21:25ID:???
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のような書き方はあるのでしょうか?
0854nobodyさん2007/03/30(金) 00:22:02ID:???
>>852
毎回先頭行に書き込むんだから全部読み込まないと
だめじゃない?
08558522007/03/30(金) 00:23:06ID:???
>>849,>>851
ごめん、やっぱり全読み込みだったか。
それが1MBでキレる理由にはならんけどね。
0856nobodyさん2007/03/30(金) 00:26:42ID:???
読み込みを取るか書き込みを取るかだからな、
SQLなら問題ないだろうけどさ。
0857846&&8492007/03/30(金) 00:27:51ID:???
もう一度スクリプトを見直したら解決しました。
fread()の読み込み長さを自分で1MBにしていました・・・。

みなさんありがとうございました☆
0858nobodyさん2007/03/30(金) 00:36:53ID:???
>>853
1行目読むのに何で全部読むよ
perlだと $test = <handle>; で終わり
phpだとwhile文消して終わり
0859nobodyさん2007/03/30(金) 00:41:31ID: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'=>'えええ')

としたいのですが、うまい方法がみつかりません。
配列の中の配列の要素値でソートできるのでしょうか。
0860nobodyさん2007/03/30(金) 00:42:10ID:???
>>859
できる関数あったはず
0861nobodyさん2007/03/30(金) 00:45:02ID:???
>>858
あぁすいません、後出しになりますが1行目とそれ以降別々に使うのです。
0862nobodyさん2007/03/30(金) 00:45:17ID:???
>>859
よく分からん
二次元配列だよな?

nameの値でソートしていいのならある。
08638592007/03/30(金) 00:51:39ID:VBqWPw4O
>>862
そうです二次元配列です!
nameの値やnumの値でソートをしたいです
08648592007/03/30(金) 01:07:15ID:VBqWPw4O
発見! これでいけたかもしれない。

foreach($a as $key=>$value){
 $sort_result[$key]=$value['num'];
}
array_multisort($sort_result,SORT_DESC,$a);
0865nobodyさん2007/03/30(金) 01:42:18ID:???
>>859
こんなんどうですか。

function cmp($a, $b)
{
 return ($a['num'] - $b['num']);
}
usort($a,"cmp");
0866nobodyさん2007/03/30(金) 08:38:04ID:TajlMWGS
質問です

PHP + Sqlite で select count(*) from tablefoo というSQLを実行したときに、 count の結果として 
返される値を参照するにはどのSQLITE関数を使用すればよいのでしょうか。
最初はsqlite_num_rowsかと思ったんですが、なんか違うみたいです。。。
よろしくお願いします
0867nobodyさん2007/03/30(金) 08:50:06ID:???
http://jp.php.net/manual/ja/function.sqlite-query.php>>866
0868nobodyさん2007/03/30(金) 09:02:42ID:???
>>866
SQLiteに限らずDBでselectした結果の取得は、fetchやresultと相場が決まってる。
SQLiteに関して言えばfetch*だけでresultってのは無いみたいね。
0869nobodyさん2007/03/30(金) 14:25:31ID:hAwrbtsF
メール受信時の処理で、
標準入力を受け取る処理をwindows上でテストするのに
どのようにしたら良いでしょうか?
0870nobodyさん2007/03/30(金) 14:55:00ID:???
そういうとこは妥協せずにLinux環境とか作るのが遠回りなようで近道。
使ったことないけどWin環境ではCygwinでいけるんかな?
0871nobodyさん2007/03/30(金) 15:05:26ID:MYIOcGpU
恥ずかしい質問です

123465789バイトを、キロやメガにする場合… どうしたら出来るのでしょう?
関数があった気がするのです。でもすこーんと忘れました;;
すみません、ぐぐっても、ピンポイントなキーワードではないので… 分かりませんでした…
0872nobodyさん2007/03/30(金) 15:07:06ID:???
>>869
xmailでも入れてperlで処理したら良いかもね

>>871
そんな関数あったっけ?
08736472007/03/30(金) 15:11:35ID:???
>>871
普通に割算すればいいだけだろうがw
0874nobodyさん2007/03/30(金) 15:40:41ID:???
>>870
Linux環境が使えそうなら無理してでも使っておく方が近道と思うよ。
少なくともCygwinは性能が悪いし妙な癖はあるしで結構ストレスになる。
Windows環境であればcoLinuxでも使っておけばいいんじゃないかな、
とかいって使ったことないけど。VMwareもお勧め。
0875nobodyさん2007/03/30(金) 15:40:56ID:???
iframeで呼び出されたPHPで呼び出し元のURLって取得できませんか?
08768692007/03/30(金) 15:49:07ID:hAwrbtsF
了解しました。
Linux環境はあるんでそちらでやることにします。
ありがとうございました。
0877nobodyさん2007/03/30(金) 17:04:07ID:???
巨大なファイルの行数を数えたいのですが、
ファイルを一気にメモリに読み込まずに数えるには、
while文でfgetsを繰り返すしかないのでしょうか?
0878nobodyさん2007/03/30(金) 17:10:08ID:???
>>877
フィルの行数を返してくれる関数なんて知らないので。
一行ずつカウントするしか思いつかない。
0879nobodyさん2007/03/30(金) 17:17:18ID:???
>>877
俺もそれ以外の方法は思いつかない
というかそれしかないのでは
0880nobodyさん2007/03/30(金) 17:19:44ID:???
wc で数えたら?
08818772007/03/30(金) 17:31:18ID:???
>>878-880
レスありがとうございます。

wcはUNIXのコマンドなんですね。
試してみようと思います。ありがとうございます。
0882nobodyさん2007/03/30(金) 18:53:07ID:???
>>877
バイナリデータとして
「1バイトずつ読み取ってそれが改行コードなら行数を+1」
をループ。まあwcがやってるのがそうだけど。
マルチバイトとか改行コードに相当するのは何かとかで
処理で考慮しないと駄目なところはあるとは思うけど。
0883nobodyさん2007/03/30(金) 18:53:41ID:???
>>880
なるほど便利そうだ
なんだかんだ言ってLinux系を知っているかどうかは大きく違うな・・
0884nobodyさん2007/03/30(金) 19:03:45ID:jc39Z612
SQLITEを使う時のデータベース用ファイルについてなのですが、
本やサイトを見て回ってもファイルロックに関して何もかかれていません。
sqlite_openやsqlite_query等は排他処理を行ってくれるのでしょうか?
0885虚弱PHP2007/03/30(金) 19:07:48ID:???
>>884
ファイルベースといってもデータベースなんだし、
ファイルロックとかはSQLiteに任せていいよ。

というか、SQLite以外からデータベースファイルにアクセスするわけじゃないよね?
0886nobodyさん2007/03/30(金) 20:05:33ID:???
最近、ふと思うのですがブログとか色々とファイルにアクセスするサイトって
大きくブログ全体としてファイルロックするのってどうなんでしょうか?。
やはり効率悪いのかな?。
0887nobodyさん2007/03/30(金) 20:18:56ID:jc39Z612
>>885
アクセスするのはSQLITE関数のみです。
必要ないんですね。ありがとうございました。
0888nobodyさん2007/03/30(金) 20:43:32ID:???
>>886
ブログ全体を1ファイルにはしないでしょ?
でもなんでブログってファイルに保存するんだろ。
DB使ったりもしてるの?
0889nobodyさん2007/03/30(金) 20:53:07ID:oAaV+hqa
質問
ttp://pc11.2ch.net/test/read.cgi/php/1174217841/l50
この「l50」のlって何の略?
PHP詳しい人ならわかると思うのでよろしくです。
0890nobodyさん2007/03/30(金) 21:00:20ID:???
>>889
それくらい自分で考えろカス


ラスト50レスって意味だ
0891nobodyさん2007/03/30(金) 21:07:11ID:oAaV+hqa
>>890
なんだとコラ!
ありがとう。
0892nobodyさん2007/03/30(金) 21:29:05ID:???
.htaccessでupload_max_filesize変更できるよね?
じゃあ、php.iniに設定あっても意味なくね?
0893nobodyさん2007/03/30(金) 21:39:35ID:???
OOP初心者です。
abstractクラスで単純なセッタ($this->propertyするだけ)の
abstractメソッドが8個もあるのって、気持ち悪いというか、
悪い例ですか?(^ω^;)
0894nobodyさん2007/03/30(金) 21:41:45ID:???
>>893
VIPPERくさいし、ID出さないので教えません
0895nobodyさん2007/03/30(金) 21:44:23ID:???
>>890
最新50件だから
latestだろうとマジレス
0896nobodyさん2007/03/30(金) 21:57:39ID:???
>>893
いいんじゃないですか?
0897nobodyさん2007/03/30(金) 22:02:53ID: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個とか連なるだけどコレってサーバ負荷やばいですか?
0898nobodyさん2007/03/30(金) 22:20:37ID:oAaV+hqa
>>890
てめーうそおしえてんじゃねーぞこら!

>>895
まじありがと
0899nobodyさん2007/03/30(金) 22:33:09ID:???
>>869
いきなりLinux使えとか意味不明な展開になってるけど、
コマンドプロンプトで
type test.eml | php hoge.php
とか?
0900nobodyさん2007/03/30(金) 22:45:43ID:???
うへへえwww
0901nobodyさん2007/03/30(金) 23:55:35ID:ZWxCZPyt
windows+Apache+PHP+MySQLという環境ですがDBから日本語のデータを引っ張るときに文字化けしています。
これはApacheの文字コードを変更すれば解決されるのでしょうか?
0902nobodyさん2007/03/30(金) 23:57:01ID:???
>>901
いいえ。解決しません。
0903nobodyさん2007/03/30(金) 23:57:08ID:???
デコードすればいいじゃん。
0904nobodyさん2007/03/30(金) 23:57:49ID:???
>>901
全部の文字コードを同じにすれば解決します。
0905nobodyさん2007/03/30(金) 23:58:39ID:???
Apacheの設定で文字コードってあったっけ?
0906nobodyさん2007/03/31(土) 00:11:25ID:SBQP0EHi
今も見直していたけどApacheの文字コードの設定は無いっぽいですね
DBから引っ張ってきた文字は日本語の部分だけ?????と表示されるだけです。
DBから引っ張ってきた文字以外の日本語は文字化けしない

う〜ん・・・
0907nobodyさん2007/03/31(土) 00:17:52ID:???
0908nobodyさん2007/03/31(土) 00:20:31ID:???
>>892
サーバ内の全スクリプトに設定したいならどっちを使ってもいいってだけの話。

>>897
A. 携帯機種判別ライブラリを使う。名前は"mobile"が入ってた気がする。
B. UAから機種を意味する部分を切り出してそっちを検索のキーにする
C. 機種リストを無理やりくっつけて正規表現にする
お勧め順

それにしてもまどろっこしいコーディングだな
0909nobodyさん2007/03/31(土) 01:10:46ID:???
>>906
俺はエスパーじゃないからまともに答えるよ。

mysqlへの書き込み時と読み込み時で文字コードが違っているなら
「mysql 文字コード 自動変換」あたりでググるかmysqlのマニュアル読め。

それすらよく分からないレベルなら
お話にならないから文字コードについて最低限の勉強をしてから再チャレンジ。
0910nobodyさん2007/03/31(土) 01:23:30ID:???
自己解決
my.cnfにskip-character-set-client-handshakeといれるかSET NAMES ujis;と入れたら無事取り出せました。
ありがとうございました。
0911nobodyさん2007/03/31(土) 01:25:04ID: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);
?>
0912nobodyさん2007/03/31(土) 01:30:31ID:???
どういうロジックなのか自分で説明できるかい?
1行ずつ説明してみそ。
0913nobodyさん2007/03/31(土) 01:40:11ID: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);
?>
0914nobodyさん2007/03/31(土) 01:41:09ID:H5fz3SsO?2BP(396)
for($i={$items[0]};$i<{$items[0]}-5;$i--){
ここがおかしいのはわかるのですが・・・・・・・
-5だと5行以下のログだと成立しませんものね。
0915nobodyさん2007/03/31(土) 01:46:33ID:???
ログから1行目しか抜き出してないように見えるんですが
2〜5行目はどこで抜き出してんの?
0916nobodyさん2007/03/31(土) 01:54:05ID:H5fz3SsO?2BP(396)
あ、fgetsをfor以降に入れないとポインターが動かないので
成立しないですよね。
でもそれだとログのナンバーを取り出すのはどうすればいいのやら・・・・・・
0917nobodyさん2007/03/31(土) 01:56:36ID:H5fz3SsO?2BP(396)
>>915
for構文で5回処理を繰り返すようにしてるつもりなのですが・・・・・・
私の予想では>>916のことを言ってらっしゃると思うのですがどうでしょうか?
0918nobodyさん2007/03/31(土) 01:57:00ID:???
沢山ある行の中から特定の5行分を取り出したいってこと?
それとも先頭の5行分を取り出したいの?
0919nobodyさん2007/03/31(土) 01:59:36ID:H5fz3SsO?2BP(396)
ログの中から最新書き込み→古い書き込みへの新しい5行分をプリントしたい
と思っています。
0920nobodyさん2007/03/31(土) 02:03:29ID:???
だったらforの中にfgets入れるってこと分かってるんだから
1行取ってその中身を表示すればいいじゃん?
0921nobodyさん2007/03/31(土) 02:11:15ID: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);
?>
0922nobodyさん2007/03/31(土) 02:20:09ID:???
ロジックの意味が全く分からないんですが・・・
もしかしてfgetsは列(縦)方向のデータを取ってくると考えてる?
もしくは全データを取ってくると考えてる?

もしそうなら、マニュアルの関数リファレンス見てみるとか、
そもそもどんな値が返ってきてるかprint_rやvar_dumpで見てみるといいよ。
0923nobodyさん2007/03/31(土) 02:27:30ID:???
ロジックに無理があるよ。こねくりまわせばできるけどさ。
俺だったら
system( "tail -5 card-walin/card-walin.txt" );
だな。Winではうごかないけど。
0924nobodyさん2007/03/31(土) 02:40:29ID:???
いま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";
}

よろしくお願いします
0925nobodyさん2007/03/31(土) 02:47:14ID:???
>>924
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_10.htm
0926nobodyさん2007/03/31(土) 02:54:59ID:???
文字化けブームの次は丸投げブームか
0927nobodyさん2007/03/31(土) 03:02:00ID:???
>>926
PHPユーザ会のML入ってる奴居る?
09289212007/03/31(土) 03:09:08ID:H5fz3SsO?2BP(396)
出直してきます、ありがとうございました。
0929nobodyさん2007/03/31(土) 04:07:50ID:i1eCprk+
想定して無い値が帰ってくるときにどうするかのエラー処理?の仕方がよくわからない。
わからなくはないけど入れ子で頭がこんがらがっちゃう。

「この処理でこういう値が来たらどうするんだい?」って
先生みたいにチェックしてくれる機能無い?
"PHP エラー"や"PHP テスト環境"でぐぐってみたけどいまいちジャストミートなものにぶつからない。
うまくググるキーワードやそれの初心者向けの説明あったら教えてください。
09309212007/03/31(土) 04:46:38ID:H5fz3SsO?2BP(396)
すいません、質問を変えてもう一度お聞きします。
ログから最新の発言を5人分(5行分)抜き出して
printで提示する場合具体的にどのようなプログラムを書けばよいのでしょうか?
何度もうざいと思われてると思うのですがどうしても自力で思い通りに出来ませんで。

下記はログで半角スペースは実際はタブでスペース付けてます。
実際にログには行ごとに番号割り振るようにしてます。
-------------------------------------------------
22 名前 タイトル コメント パス 日付
21(22行目と同じ形式で格納)
20(22行目と同じ形式で格納)
19(22行目と同じ形式で格納)
.
.
1(22行目と同じ形式で格納)
-------------------------------------------------
09319212007/03/31(土) 04:55:19ID:H5fz3SsO?2BP(396)
>>922
fgetsは横の列一行を取得するものと理解してます。
>>930のログを使うとfgets($log); で

22 名前 タイトル コメント パス 日付

の行が取り出されるんですよね?
0932nobodyさん2007/03/31(土) 05:13:15ID:???
>>929
PHP5だと例外が使えるけど。
個人的には、自分でエラー用クラス作って処理させるのがやりやすいけど…。
0933nobodyさん2007/03/31(土) 05:40:39ID:???
PHPの入門本を一からやってから自分の好きな物を作れって言いたくなる質問が多いな。
遠回りのようだが、基本的なことをいちいち聞いてるより早いよ。
0934nobodyさん2007/03/31(土) 05:51:10ID:???
>>927
入会したはずなのにメールが一度もおくられてこない
0935nobodyさん2007/03/31(土) 05:59:53ID:???
>>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);
?>
09369352007/03/31(土) 06:01:51ID:???
fopenは使わないでfile関数使った場合fcloseはいらないからな。
おまいのコードコピペして消し忘れたから書くなよ
09379212007/03/31(土) 06:35:44ID:H5fz3SsO?2BP(396)
あ、ありがたやーーー。
0938nobodyさん2007/03/31(土) 09:19:54ID:???
やっぱ初心者にはヒント出しつつ自分でロジックの問題点を気づかせるのはまず無理で
さっさと正解出して真似で学ばせたほうがいいのかね
0939nobodyさん2007/03/31(土) 09:20:23ID:???
Winで動かなくていいのなら、俺も923に1票。
最新ログが上ならhead、下ならtail。
0940nobodyさん2007/03/31(土) 10:14:54ID:???
DL販売出来るようなものってフリーでありますか?
0941nobodyさん2007/03/31(土) 10:21:48ID:???
ありますよ。大抵のフリーソフトは販売してもOKです。
少なくともGPLとBSDライセンスのものは販売しても構いませんよ。
ライセンスに直接当たってみましょう。

もちろんそれを買う存在があるかどうかはまた別の話ですが。
0942nobodyさん2007/03/31(土) 11:56:18ID:???
ではなくて、DL販売関係スクリプトでフリーのものはないか
と聞いてるのじゃないのか?
09439402007/03/31(土) 12:07:57ID:???
言葉足らずですみません。
>>942
その通りです。
osCommerce系も一通り見てみたのですが自分の希望にあうものがなく・・・・・。

言語 :PHP
DB :PostgreSQL又はMySQL(バージョン問わず)
やりたいこと:ポイント管理ができ、ポイントでの購入が出来るもの。

現在自分で作っているのですが、サンプルになるようなフリーのものがあればと思い・・・。
回答のほど宜しくお願い致します。
0944nobodyさん2007/03/31(土) 12:28:39ID:???
>>943
>やりたいこと:ポイント管理ができ、ポイントでの購入が出来るもの。
これのサンプルを探すことと
>DL販売ができること
とはまったくべつでしょ。条件としてDL云々という必要はない。

上なら普通のshop-cart softwareで、いくらでもある。
www.scripts.comあたりを一通り見てみればいいんじゃ?
0945nobodyさん2007/03/31(土) 12:32:21ID:???
>>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なら例外使う
0946nobodyさん2007/03/31(土) 12:35:02ID:???
- echo 'error : '
+ echo 'error : ';
0947nobodyさん2007/03/31(土) 12:37:33ID:???
>>943
PHP(mysql関数)、SQL、正規化

2番目までのサンプルならMysql 掲示板 あたりでググレば出てくる
どんなの作るかよくわからんが小規模〜くらいになるなら正規化について調べておいて損はない
0948nobodyさん2007/03/31(土) 12:44:42ID:???
それは意味無いだろ
0949nobodyさん2007/03/31(土) 13:36:16ID:???
$var_dump変数なんてどこにも定義されてないんだが
0950nobodyさん2007/03/31(土) 13:57:39ID:???
このスレのクオリティを甘く見ると火傷するぜ
0951nobodyさん2007/03/31(土) 14:01:48ID:???
>>924

//掲示板データの再現
$pg = intval($_GET["id"]);
if (!$pg || !$pg < 0) {
$pg = 0;
}

$sql = "select * from bbs order by renban desc limit $pg, 10";

09529512007/03/31(土) 14:02:54ID:???
if (!$pg || !$pg < 0) {



if (!$pg || $pg < 0) {
0953nobodyさん2007/03/31(土) 14:56:59ID:yBXFleD+
配列の質問です

$a = array('key1' => 'abc', 'key2' => 'def', 'key3' => 'ghi');
で、key2をその配列から消したい(取り出す)場合はどうすればいいのでしょうか?

最初、array_diffで異なっているものを抽出して、DBに格納しようと思ったのですが… 結果にプライマリキーなどが残ってしまい困っております。
簡単な質問ですみません
0954nobodyさん2007/03/31(土) 15:50:45ID:???
>>953
unset($a['key2']);

なんで配列の質問でDBが出てくるのか知らんが
結局のところSQLでDELETEやINSERTで済む場所だと思うな。
09559292007/03/31(土) 15:55:13ID:i1eCprk+
>>932 >>945
ありがと
例外処理ってのがあるのね あとエラー処理
例外使うためにクラスの使い方覚えるのが結局一番早そうってとこまで理解した
0956nobodyさん2007/03/31(土) 16:24:35ID:???
海外の鯖を使っているので日本の時間と時差が生じてしまします。
プラス14時間後の時間を表示したいです。

方法を教えてください。

$date = date("Y/m/d H:i:s");
echo $date;
0957nobodyさん2007/03/31(土) 16:39:31ID:???
かけざんとたしざんをしてください
0958nobodyさん2007/03/31(土) 16:56:14ID:???
>>956
PHPマニュアルのdate関数を見るべし
0959nobodyさん2007/03/31(土) 17:02:46ID:???
>>957-958 できました。ありがとうございます。

$date = date("Y/m/d H:i:s", strtotime('+14 hours'));
echo $date;
0960nobodyさん2007/03/31(土) 18:05:40ID:H5fz3SsO?2BP(396)
ログが

名前 コメント 種類A
名前 コメント 種類B
↓続く

と並んでいて種類Bのみを抜き出す場合
どういう方法があるのでしょうか?
ログ自体を種類ごとに分けないと難しいですか?
0961nobodyさん2007/03/31(土) 18:08:55ID:???
AとBの違いは何?
0962nobodyさん2007/03/31(土) 18:09:20ID:???
ちったぁ頭使えよw
0963nobodyさん2007/03/31(土) 18:16:09ID:???
grep 種類B ログファイル
0964nobodyさん2007/03/31(土) 18:17:41ID:H5fz3SsO?2BP(396)
>>961
データベースを作ろうと思うのですが
書き込みをデータベースとして有意義な”情報”か
ただの”コメント”かで別々に取り出したいのです。
なので種類Aは情報、種類Bはコメントとしたいと思います。

>>962
すいませんw
まじで頭が回らなくて・・・・・・・
htmlとcssのデザイン関連は直感的にできるのですが
こういうロジックになると他人の猿真似空はいらないと理解できませんで・・・・・
0965nobodyさん2007/03/31(土) 18:22:38ID:???
>>964

有意義な”情報”とただの”コメント”違いの判断基準は?
あなたの主観?
0966nobodyさん2007/03/31(土) 18:26:12ID:H5fz3SsO?2BP(396)
>>963

$logA=grep("種類A","log.txt");//ここで該当文字を検索しその行を抜き出し
$lines=file($logA);]//抜き出した行を配列化

grepの使い方が詳しくわからないのですがこんな感じですかね。

0967nobodyさん2007/03/31(土) 18:27:59ID:H5fz3SsO?2BP(396)
>>965
有意義な情報(雑誌インタビューなどで見た開発者のインタビューなど)か
ただのコメントかは書き込んだ当人がラジオボタンで選択できるようにしてます。
0968nobodyさん2007/03/31(土) 18:29:03ID:yBXFleD+
>954
ありがとうございました〜
これでがんばれます〜
0969nobodyさん2007/03/31(土) 18:33:32ID:???
>>966
exec("grep 種類A log.txt", $lines);
0970nobodyさん2007/03/31(土) 18:40:16ID:????2BP(396)
>>969
ありがとうございます、試してみますー。
0971nobodyさん2007/03/31(土) 19:30:30ID:???
>>969
ここは犬糞のくだ質じゃねーんだよ
0972nobodyさん2007/03/31(土) 19:48:06ID:???
学校で習ったばっかりで使いたくて仕方ないんだろ。
shでCGIでも書いてりゃいいのに。
0973nobodyさん2007/03/31(土) 21:03:01ID:???
春休みだからな
0974nobodyさん2007/03/31(土) 21:06:43ID:???
毎日がエブリデー。
09759702007/03/31(土) 22:00:27ID:????2BP(396)
すいませんw
なんか無理でした。
0976nobodyさん2007/03/31(土) 22:11:24ID:???
>>975
じゃあお詫びに次スレを建てとけ
0977nobodyさん2007/03/31(土) 22:46:30ID:tPhD7muH
携帯電話でのログイン・ログアウトの機能を作ろうと思っています。
自分の使用している機種では、セッションを使ってログイン・ログアウト
出来るのですが、セッションを使う方法で問題ないのでしょうか?

携帯の場合はCookieは使えないと思うのでセッションしかないと思っているのですが、
果たして古い機種でも利用できるのかどうかわからず、質問しました。
ご存知の方は教えていただければと思います。
0978nobodyさん2007/03/31(土) 22:51:13ID:???
セッションとCookieを排他的に書いてること自体が間違い。
勉強しなおしてから質問しましょう
0979nobodyさん2007/03/31(土) 22:51:30ID:???
申し訳ありませんが、全ての実機にて検証した訳ではありませんので、
お答え致しかねます。
0980nobodyさん2007/03/31(土) 22:58:54ID:???
>>977
そのセッション情報をどうやって保持するんだ
0981nobodyさん2007/03/31(土) 23:02:08ID:???
それはURIで保持すんだろ
0982nobodyさん2007/03/31(土) 23:04:19ID:???
質問者に対して勉強のための問いかけと思われるものにマジレスする奴がいるよな
0983nobodyさん2007/03/31(土) 23:06:48ID:???
日本語不自由だな
0984nobodyさん2007/03/31(土) 23:55:27ID:????2BP(396)
独習phpという本を買ってきたのですが初心者にはわかりにくすぎますー!
プログラミング系の本て独り善がりな内容結構多くないですか?
なぜか。
0985nobodyさん2007/03/31(土) 23:56:29ID:???
内容を見れる状態で買ってきて文句言うのはどうかと思う
0986nobodyさん2007/04/01(日) 00:09:56ID:???
どう見てもスレ違い。

独習PHPは別に分かり辛いとは思わなかったがな。
0987nobodyさん2007/04/01(日) 00:38:22ID: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()関数をオーバーライドさせています。
これ以外でポリモーフィズムを表現する方法が思いつかなかったのですが、
よりスマートな方法があればご教授お願いいたします。
0988nobodyさん2007/04/01(日) 00:43:42ID:???
>>987
基底クラスは抽象クラスかインターフェイスでいいんじゃない?
で、FactoryMethodパターン適用。
09899872007/04/01(日) 01:00:33ID:MxiyK9aH
>>988
回答ありがとうございます。
PHP5.xが使えれば抽象クラス使ってやろうかと思ったのですが、
使用している鯖がPHP4.xなのでこんな回りくどいことしなきゃなのかな、と考えたのですが…
やっぱ無理がありましたか。
今使ってる鯖に見切りつけたとしても、今後の費用対効果を考えたら
今のうちにPHP5.xに移ったほうがよさそうな気がしてきたので、ちょっと検討してみます。
0990nobodyさん2007/04/01(日) 01:25:21ID:???
PEAR DBのクラス設計でも見ろ
0991nobodyさん2007/04/01(日) 02:19:24ID:???
P H P 映 画 化 決 定
0992nobodyさん2007/04/01(日) 03:51:43ID:???
>>989
OOP的に作るならもう4は見捨てるべき。
それでも4に対応させたいなら>>988
09939922007/04/01(日) 03:52:16ID:???
安価間違えた>>990
0994nobodyさん2007/04/01(日) 04:00:11ID:???
PHP5も無理やりOOPだけどな
型のない言語なのにExceptionだけ型みたいになっててキモイ
0995nobodyさん2007/04/01(日) 04:09:14ID:???
>>484
これって読んだ人いる?
オブジェクト指向をPHPで勉強しようって人に向いてる?
0996nobodyさん2007/04/01(日) 04:10:22ID:???
PHPもVBみたいに基本適には型なしで
おまけで型宣言をつけると型が適用され
るとかにしてくれたらな〜
0997nobodyさん2007/04/01(日) 04:23:53ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 42
http://pc11.2ch.net/test/read.cgi/php/1174217841/
0998nobodyさん2007/04/01(日) 04:39:13ID:???
echo 'u';
0999nobodyさん2007/04/01(日) 04:39:54ID:???
echo 'm';
1000nobodyさん2007/04/01(日) 04:40:38ID:???
echo 'e';
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。