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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2006/12/08(金) 04:22:54ID:???
PHPに関する質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

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

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc8.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc8.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
 しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0002nobodyさん2006/12/08(金) 04:23:36ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 27
http://pc8.2ch.net/test/read.cgi/php/1156262092/
【PHP】下らねぇ質問はここに書き込みやがれ 28
http://pc8.2ch.net/test/read.cgi/php/1157284868/
【PHP】下らねぇ質問はここに書き込みやがれ 29
http://pc8.2ch.net/test/read.cgi/php/1158434799/
【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/
0003nobodyさん2006/12/08(金) 04:24:04ID:???
関連リンク
■本家マニュアル   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さん2006/12/08(金) 04:24:17ID:???
関連スレ
注:昔は本スレ(PHP質問スレ)というのが別にあったけど、今はここが本スレです。

◆超初心者を自覚してる方ははこちらへどうぞ
くだすれPHP(超初心者用)2
http://pc8.2ch.net/test/read.cgi/php/1164617202/

◆その他
http://pc8.2ch.net/php/subback.html
PHP関連スレは非常に多いのでこの中でブラウザのCTRL+F等で「PHP」を検索!
0005nobodyさん2006/12/08(金) 04:24:36ID:???
【簡易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プログラムとして実行された結果になる。
0006nobodyさん2006/12/08(金) 04:24:50ID:???
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に保存?
 → 好きにしてください
0007nobodyさん2006/12/08(金) 04:39:48ID:???
>>1
乙華麗
0008nobodyさん2006/12/08(金) 04:55:22ID:???
>>1
乙
0009nobodyさん2006/12/08(金) 05:05:39ID:???
>>1
市ね
0010nobodyさん2006/12/08(金) 07:02:32ID:???
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
目の前で生じている現象をそのまま具体的に書くなどもっての外。
事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
"どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
絶対に避ける。
8. 情報は小出しに。

「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」
なんて痛い質問するな。つうか氏ね。
0011nobodyさん2006/12/08(金) 08:08:07ID:UlcPY8MZ
スレが切れてしまたので再掲です

PHPにてディレクトリ内のファイルの数を取得するにはどう記述すれば良いのでしょうか?

ディレクトリ内に他のディレクトリは有りません。ファイルだけです
0012nobodyさん2006/12/08(金) 08:10:38ID:???
>>11
http://jp.php.net/manual/ja/ref.dir.php
この辺の関数使って、配列の数でも取得汁。
0013nobodyさん2006/12/08(金) 09:54:02ID:ewFyIfPg
http://www.matubusi.com/cart/cgi-bin/kaitori.cgi?id=5
ここの買取口数とメールフォームの口数を買い取り口数にマイナスする計算の連動
似たようなスクリプトありませんか?もしくは作れますか?
よろしくお願いいたします
0014nobodyさん2006/12/08(金) 10:01:26ID:???
>>11
$d = new DirectoryIterator('path');//調べたいディレクトのパス
$c = 0;ファイル数
for ($d->rewind(); $d->valid(); $d->next())
{
if ($d->isFile()) $c++;
}
0015nobodyさん2006/12/08(金) 10:06:57ID:???
>>13
RMT業者には教えてあげません^^
0016nobodyさん2006/12/08(金) 10:08:01ID:???
>>13
こんな意味不明なことがビジネスになる時代か...
気持ち悪い。はっきり言って異常。

>>15
お前の考えに一票。
0017nobodyさん2006/12/08(金) 10:08:29ID:O/tUI87z
明示的に変数を宣言しないと使えないようにはできませんか?
よく変数名をちょっと間違えたまま気づかず、
バグを発見するのにすごく時間がかかることがあるので。
0018nobodyさん2006/12/08(金) 10:27:46ID:???
>>17
無理だねえ。
PHPのいい所でもありいい加減なところでもあるから、
仕様だと思って、IDEでの開発をお勧めする。
宣言されてない変数だとエラー出るようなIDEも結構あると思うから。
0019nobodyさん2006/12/08(金) 10:30:48ID:???
>>17
統合環境でやれって話だな。
0020nobodyさん2006/12/08(金) 10:36:03ID:???
>>13
>>ここの買取口数とメールフォームの口数を買い取り口数にマイナスする計算の連動
何をしたいのか良く分からんのだが

>>17
error_reporting(E_ALL)は?
0021nobodyさん2006/12/08(金) 11:05:22ID:???
正規表現による置き換えついて質問なんですが、
\t<p>あいうえお</p>
(\tのとこはタブ)
これの、タブと、<p></p>をとりのぞいて
あいうえおと表示する正規表現を書きたいのですが、

$a = "\t<p>あいうえお</p>";
$b = preg_replace("/<(.|)p>/", "", $a);
$c = preg_replace("/\x09/", "", $b);
print $c;

今のところこんな感じで、$bで<p></p>を、$cでタブをといった感じで
分けて処理しています。
$bで、両方とも一緒に取り除くような書き方はできませんでしょうか?
今後似たようなことをしたい場合、さらに取り除きたい条件が増えた時、
どのように対処するのかが知りたいので、
一緒にとりのぞくやり方があったら教えていただけませんでしょうか?
ちなみに$bの<(.|)p>というのは、勘で書いたらできていたので、
もっと適切な書き方があれば教えていただきたいです。
0022nobodyさん2006/12/08(金) 11:06:59ID:???
>>21
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
http://pc8.2ch.net/php/subback.html
0023212006/12/08(金) 11:09:46ID:???
>>22
すみません。
一応そこで「正規」「表現」「正規表現」のキーワードで探したのですが、
みつからなかったもので・・・
あと正規表現って言語を超えて全て共通なのでしょうか?
0024nobodyさん2006/12/08(金) 11:19:34ID:???
>>23
>あと正規表現って言語を超えて全て共通なのでしょうか?
違う(ついでに、スレも)。
0025222006/12/08(金) 11:29:59ID:???
他にもあるかもしれないけど2つ程紹介しておく。

>>23
正規表現 part 3
ttp://pc8.2ch.net/test/read.cgi/tech/1156413899/l50

正規表現
ttp://pc8.2ch.net/test/read.cgi/unix/1039165754/l50
0026nobodyさん2006/12/08(金) 11:37:09ID:???
そもそもタブは、タブ除去関数あるだろうが
0027nobodyさん2006/12/08(金) 11:39:38ID:vLtHeZoc
mysql_query("update table_$t set col_$r = '$q' where col_1 = '$max2'");

上のように、table_$tのcol_1の値が$max2である場所のcol_$rに、$qというデータを挿入する
というコマンドを書いたのですが、データが挿入されません。
$qと$max2を囲っているクオートの使いかたを間違っている気はするのですが、どう直せばいいのか解かりません。
誰か教えてください。m(_ _)m
0028212006/12/08(金) 11:40:37ID:???
>>24-25
どうもありがとうございます。
誘導先が参考になりそうなのでまずはちょっとスレを眺めてみたいと思います。

>>26
そんなもんがあるんですね。後ほどマニュアルひいてみます。
0029nobodyさん2006/12/08(金) 11:42:55ID:???
ややこしいから次スレの1のテンプレ
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc8.2ch.net/php/subback.html
じゃなくて
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
だけでいいよ
0030nobodyさん2006/12/08(金) 11:52:13ID:???
>>13
宣伝はよそでやれ、クズ。
0031nobodyさん2006/12/08(金) 12:13:42ID:UlcPY8MZ
>>12
>>14
ありがとうごさいます。
0032nobodyさん2006/12/08(金) 12:18:10ID:EP/lKf3+
指定したディレクトリ内のファイルを削除して
最後にそのディレクトリも削除するという仕組みを作っています。

$dir_name="test";
if(file_exists($dir_name)){
$dh = opendir($dir_name);
while($file = readdir($dh)){
if ($file != "." and $file != "..") {
unlink($dir_name./.$file);
}
}
rmdir($dir_name);
}

画像は削除されるものの、どうやってもディレクトリが削除されず、
パーミッションエラーになります。
(ちなみにローカル上でテストしているので、サーバはWinXPです)

ディレクトリ作成時はmkdir($dir_name,0777);
などにしているので、特にパーミッションの指定はしていません。

上記のソースの書き方が悪いのでしょうか?
0033nobodyさん2006/12/08(金) 12:26:23ID:???
知ってるかい?
Windowsにはパーミッションの概念はないんだぜ。
0034322006/12/08(金) 12:27:04ID:???
知ってます。だからパーミッションエラーと言われても??って感じです。
ちなみにアクセス権はWindowsでもありますが。
0035322006/12/08(金) 12:31:25ID:???
連投ですが、、Permission denied エラーメッセージが出ます。
0036nobodyさん2006/12/08(金) 12:52:23ID:???
                     _.. - .._
                   _.. - ,ニ-冖 ⌒ 冖-ニ - _
               / ノ´,. .‐.: : : ̄: :、:‐. 、`ヽ \
            /   //: :./: : : : : : :l: : : :.\ヽ \
             <  ヽ/: : : :/: : : : : : /: :.l: : :、: : :ヽ/   >
              丶、/: : : ::/: : : : ::::〃:/:.|:: : :.l: : : :.', /
              l:l: :-:、l.: :::::::://://:∧:::._;l:-!: l:.|!
             ,l:l: : : ::|><__/ ' / '_,. へ:.|: l: :|::!l
             l:.|:|: : : ::lz=ュ   ′ z=ュ.リ:://: l
            l: :Nヽ: : :ヽ     '       /:://: : :.l  下らねぇ質問はここに
             l: : /il ヽ、ヽヽ   /二ヽ  / '// ̄`ヽ!  書き込みやがれ、ちび。
             l: /   il  li、``  |   |  /' li:.   ヽ
              l:/    il   li `丶、ヽ-- ,' ィ .il  li::.    ヽ
            ,/     il.※.li    ,.ィ`不ヽ、 il.※.li::::::..   ヽ
.        //     .:il  li   // //'{l:l ヾ、il  li\::::::...   l、
      / l/    ..::::il  li  ヽヽ//l>ィll:l__,ノイ   li:::::::丶、:::::::...l \
       |:  l:::.  ..:::::::::il.※.li   `イl:l. {.l:「´ il.※.li:\:::::::. `` ┘ \
      l::  l::::::_:::-:':´il  li    {l:l,><{ l:l   il  li\_l\::::.     .::/
    /,l:::.  ̄   ::::::il  li、,.、,、,、{.l:ト、イ.l:l、,、,il  li::::::::l:::::ヽ::.   .::::/` 丶、
  ,. '"´,.-l::::::::::::::::::::::/il.※.li、,、,、,、,、l:l::::::::{_l:l,、,、il.※.li、:::::::l:::::::..........:::::/ニ、ヽ、
0037nobodyさん2006/12/08(金) 13:13:13ID:???
>>13
その会社の従業員数、ホントかよ。
たかだか数百円の売買してるのに、どうやってその人数を維持するんだかwww

>>27
自分でいろいろ直して試してみてから質問しろチンカス。
ちょっと考えれば数通りしかないだろ。
0038nobodyさん2006/12/08(金) 13:21:43ID:???
RMT関連の会社は"自称"が多いからね。
会社自体の存在がなかったり、
登記してるだけで実体がないものがほとんど。
客の信用寄せのためだが、扱ってるものがオンラインゲームのデータと滅茶苦茶。
しかもほとんどが中華絡みで、海外への不正送金が後をたたない。
世間ではニートまたは、ニート予備軍という部類だな。
まぁドブネズミがやるような商売なんて>>13は相手にしないでやってくれ。
0039nobodyさん2006/12/08(金) 13:42:08ID:???
xmlファイルを読み込むxml専用の関数みたいのってありましたよね?
どの関数かちょっとわからなくて迷ってるのですが、
どなたか心当たりありませんでしょうか?
file()のような関数で、よりxmlファイルを扱いやすくするような関数だったかと・・
0040nobodyさん2006/12/08(金) 13:48:57ID:???
>>39
2chに書き込む暇があるなら、PHPマニュアルで検索くらいしたらどうか?

PHPロゴの下の検索バーで、search for [XML] in the [function List]▽
0041nobodyさん2006/12/08(金) 13:52:15ID:???
>>32
開けたら閉めろってよく怒られなかったかい
0042322006/12/08(金) 14:04:34ID:???
>>41
最後から2行目のrmdirの前に
closedir($dh);を追加したのですが、testディレクトリ内のファイルは削除されるものの
ディレクトリ自体を削除しようとするとDirectory not empty inというエラーが出て
削除出来ません・・。
0043nobodyさん2006/12/08(金) 14:06:36ID:???
質問なんですが
参照ダイアログや保存ダイアログで拡張子指定やファイル名に規則性をもたせる方法ってありますか?
0044nobodyさん2006/12/08(金) 14:46:53ID:???
>>32
$dir_name./.$file

エラーになるはず
0045nobodyさん2006/12/08(金) 14:49:14ID:???
RMTって何ですか?
0046nobodyさん2006/12/08(金) 15:01:55ID:???
>>45
つ google
0047nobodyさん2006/12/08(金) 15:31:23ID:???
携帯用のHPを作っているのですがauでセッションが引き継げないエラーが出て困っております。
hoge.phpで端末認証してからhoge2.phpにheaderで飛ばしています。
その際、session_id()をURLにいれて飛んだ先でも引き継ぐようにしているのですがauだと引き継げていないのです。
私の持っているDoCoMo機種だと問題なく動きます。
ご教示お願い致します。
0048nobodyさん2006/12/08(金) 15:38:53ID:???
>>42
試してみたら、ちゃんと消えたよ

そのエラーを見る限り、なにかファイルが残っているんだろ
0049nobodyさん2006/12/08(金) 15:41:16ID:???
>>11
UNIXとWindowsで多少変わるのと「.」から始まるファイル名を含む場合に注意が必要だが
echo count(glob("$dir/*"));
でファイル数は取れるんじゃなかろうか。
0050nobodyさん2006/12/08(金) 16:18:37ID:???
>>35
Windowsの場合、操作対象のファイルを使用中にスクリプトを実行(例えば
メモ帳で編集しているファイルを削除しようとする)するとそんなエラーが
出たような気がする。
0051nobodyさん2006/12/08(金) 16:32:14ID:???

<?php
echo file_get_contents("http://www.ugtop.com/spill.shtml?useragent=";.$_SERVER['USER_AGENT']= 'Mozilla/4.0';);
?>
こいつでuseragentをMozilla/4.0にしたいんだがどうしてもうまく行かない
0052nobodyさん2006/12/08(金) 16:45:27ID:DDnDD/EO
長文失礼
PHPを使って画像をアップ後、move_uploaded_fileで移動(保存)という流れの
プログラムを作っているのですが、アップした画像が見れないですし、
さわれない状態になってしまってます。

調べてみると、どうもアップされた画像のパーミッションが
600になっていて、これを chmod 755等としてやると問題ないです。

毎回アップのたびにファイルをexec(chmod ・・)すれば一応動くのですが、
根本的な解決はどのようにすればよいのでしょうか?

環境は
fedora core 6
PHP 5.1.6 をApacheモジュール
Apache 2.2.2
ファイルをアップするディレクトリは755で所有者はApache
ちなみに、アップしたファイルも所有者はApacheです。

でもコレってもしかして、Apache板?
0053nobodyさん2006/12/08(金) 16:54:24ID:???
>>50
だから>>35のエラーはちゃんとクローズしたら回避できたんだろ。
いちいちむしかえすなよ。
空じゃないから削除できないってのは隠しファイルか
システムファイルでもあるんじゃないの
0054nobodyさん2006/12/08(金) 17:06:44ID:???
>>53
だからいちいちむしかえしに抗議すんなよ。>>50の指摘だって当たってるんだから
後で誰かの役に立つこともあるだろ。
0055nobodyさん2006/12/08(金) 17:34:58ID:???
DBクラスのインスタンスを保持するには
singletonパターンやcontainerパターンなどがあるそうですが
どんな方法がいいですか?
0056nobodyさん2006/12/08(金) 17:44:10ID:???
>>55
普通はsingletonだろうね。
0057nobodyさん2006/12/08(金) 18:20:32ID:Y02nKAI9
PEAR等のクラスでよく以下の様にメソッド名の先頭に&がついているものを
見かけますがこれは何を表すのでしょうか?

function &method(){
...
}
0058nobodyさん2006/12/08(金) 18:29:21ID:???
マニュアル(ry
0059nobodyさん2006/12/08(金) 19:10:21ID:La6qVtX7
if($a & $b){
print "true";
}
といったif文でどういったときにtrue判定されるのか分かりません。
マニュアル等でもかまいませんのでお教えください。
0060nobodyさん2006/12/08(金) 19:23:46ID:???
ビット演算子についてぐぐれば分かるかもしれない
0061572006/12/08(金) 19:28:38ID:Y02nKAI9
>>58
マニュアルは一通り探してみたのですが見つからないのです。
0062592006/12/08(金) 19:35:53ID:La6qVtX7
自己解決しました。
下記のようなソースを書いたのですが、結果が検索等した内容と不一致でしたので悩んでいたのですが・・。
$_GETの内容が文字列として扱われていることを忘れていました・・。
intval($_GET['a']) という風に数値として扱うことによって正しい解が得られ理解の裏づけも出来ました。

$a = intval($_GET['a']);
$b = intval($_GET['b']);

print "十進数<br>";
echo $a;
print ":";
echo $b . "<br>";


$c = $a & $b;
if($a & $b){
print "true!";
}else{
print "not true!<br>";
}

print "二進数<br>";
printf("%'_8b",$a);
print "<br>";
printf("%'_8b",$b);

print "<br> 二進数結果:" . base_convert($c,10,2);
print "<br>十進数結果:" . $c;
0063nobodyさん2006/12/08(金) 19:37:03ID:DDnDD/EO
>>52 解決しました。
apacheですね。m(_ _)m
0064nobodyさん2006/12/08(金) 19:46:16ID:???
>>51
その方法じゃ無理

ini_set('user_agent', $user_agent);
echo file_get_contents("http://example.com/index.php";);
0065nobodyさん2006/12/08(金) 19:53:21ID:???
>>37
RMTの市場規模知ってていってるんだろうか
おまい、ネトゲーしたことないだろ。

数百円ってのは最低単位。
$1 = 120円 っていってるようなもの。

廃人が1人あたり 毎月5万近くのゲーム通貨を買ったりするのが普通の世界だよ

http://ascii24.com/news/i/topi/article/2006/02/11/660504-000.html

>>38
わざわざリスク犯して 「自称」 する意味ないじゃん
国内業者なら、違法行為でもないんだから、堂々とやって、堂々と儲けたほうがいいにきまってる

ここもマツブシもTVの取材を受け付けたりとちゃんと会社として存在していることをアピールしてるからね
http://www.gm-exchange.jp/index.html
0066nobodyさん2006/12/08(金) 20:00:15ID:???
>>65
そんな「キモヲタ業界の常識」を得意げに語られてもねぇ・・・

俺はネトゲーにはまるで興味わかないからどうでもいいが、
まぁ、キモヲタはキモヲタどうし、仲良くやってれば?
0067nobodyさん2006/12/08(金) 20:23:28ID:???
>>66
だよな。
しょせんキモゲーマーはキモゲーマーでしかない。せいぜい
自分が死ぬ間際になって「あぁ、オレは人の役にも立たず、
キモゲーマーとして一生を終えてしまった。」と後悔すればいいさ。

>>65
おまいネトゲーしたことあんの?たかがネトゲーしたことあるのを
自慢するなんて相当肝いよ^^
>ここも
宣伝丸出し乙。
0068nobodyさん2006/12/08(金) 20:23:53ID:???
>>38
まぁ漏れは業界関係者だから分かるけど国内で登記しているRMT業者ってのは結構健全なもんだよ
TVでは海外への不正送金やら脱税やらバーチャル徒労やらと散々言われててネガティブなイメージはあるだろうけど

> RMT関連の会社は"自称"が多いからね。
> 会社自体の存在がなかったり、
> 登記してるだけで実体がないものがほとんど。
よくも平気でこんな嘘が言えるね。
国内の大手RMT会社は の 「ほとんど」 は VeriSign + 帝国データバンク のステッカーを貼ったりと信頼性をアピールしている。
いっとくが、帝国データバンクの実在証明は登記書類等が必要で、偽装するのは極めて困難だ。

> しかもほとんどが中華絡みで、海外への不正送金が後をたたない。
海外のRMT業者ってのは確かにそうだね。
海外のRMT業者と国内のRMT業者の大きな違いは、どっちで登記しているか(あるいはしていないか)の違い。

国内RMT業者ってのはいたってシンプル。
売りたい人からゲーム内通貨を買い取り、買いたい人に買値の倍ぐらいの値段で売る、それだけ。

ゴールドファーマーといった海外の中華組織と絡むメリットは無い。

個人間のRMT、海外のRMT業者に比べて、国内RMT業者の価格は1.8倍ぐらいするわけよ。
何故、そんな高い値段で買ってくれるかわかる?
信頼があるから。
BOT生産やらチートで生成したお金を取得した人は、ゲーム内アカウント剥奪などのリスクがあるわけで、
「あの会社で買ったら垢BANされた」 なんて噂がながれたら、会社としての存続に関わる。

不正送金ってのは留学生がやって逮捕された例があるけど、全体の市場規模からしたらそんなのは一部だし、
会社としての規模が大きくなればなるほど調査も入りやすくなる。

あと、脱税については、RMTは(最も?)脱税がしにくい業界と言える。

だって、収入:客からの振込み 支出:社員の給料+事務所代+PCなどの経費+客への振込み と、銀行振込を通して税務署にほぼ全て把握されるから、収入を隠したり支出を多く見せかけたりするのは困難。
0069軟式PHP2006/12/08(金) 20:27:45ID:???
あれ、スレ間違えたかな?^^;
0070nobodyさん2006/12/08(金) 20:28:01ID:???
>>68
長文はやめようね。RMTの業界自慢は ス レ 違 い だから
消えろ。
業界が健全?はぁ?
ゲームの金を現実の金に変えるなんていう低俗極まりないことを
商売にしてそれで満足なのかって話だよ。
金さえ手に入れば満足なつまらない人生送りたいなら勝手にやれ
ばいいけど。
0071nobodyさん2006/12/08(金) 20:28:06ID:???
>>47
auはcookie使えるからヘッダが被っちゃっているんだろうね
0072nobodyさん2006/12/08(金) 21:01:12ID:???
マクドナルドの携帯サイト(mdj.jp)で登録とかすると
パスワードを入力するように求められるけど、
このパスワード入力欄は、入力したパスが伏字にならない。

input typeをpasswordにしてないせいだろうけど、
これって脆弱性・・・とまでは言わないのかな??
0073nobodyさん2006/12/08(金) 21:03:21ID:???
>>72
ユーザビリティの観点からパスワードを非表示にするとデメリットが生じるじゃん。
パスワードをいれるときに覗き見されないようにユーザが工夫すればいいだけでしょ。

何を入力したか分からないよりよっぽど親切。
0074軟式PHP2006/12/08(金) 21:15:28ID:???
親切よりセキュアなほうがいい。
0075nobodyさん2006/12/08(金) 21:19:41ID:???
>>57>>61
じゃあ、君はヘタレ決定。
ttp://www.php.net/manual/ja/language.references.return.php
0076732006/12/08(金) 21:19:49ID:???
>>74
だったらパスワードの安全性を確保できるような仕様にすることが優先だな。
大抵の人 (9割以上) が 4桁の数字をパスワードにしているから、
ブルートフォースアタックで簡単にやぶれるぞ。

必ずアルファベットを使わないと駄目とか、数字なら8桁以上とか、制約をつけて安全性を高めた方がいいね。
0077nobodyさん2006/12/08(金) 21:25:45ID:???
>>76
それでたまに普段使ってるパスワードが使えないサイトがあったりして困るんだよな。
勝手にセキュアと思い込んだルールをユーザに押し付けつけるなよと。
0078nobodyさん2006/12/08(金) 21:25:59ID:???
ケータイで桁数が多いとそれだけ会員になってもらえないw
0079nobodyさん2006/12/08(金) 21:32:52ID:???
>>77
> それでたまに普段使ってるパスワードが使えないサイトがあったりして困るんだよな。
> 勝手にセキュアと思い込んだルールをユーザに押し付けつけるなよと。

パスワードを使いまわしするという行為自体がセキュアでないことをお分かりですか?


パスワードの入力欄に入力した文字が ****** に変換されないことが原因でクラックされる例なんてそんなにないでしょ。
0080nobodyさん2006/12/08(金) 21:37:19ID:???
>>79
だから?全サイト1つずつパスワードを変えて100以上ものパスワードを暗記してられるとでも?
覚え切れなくてメモ残す羽目になったらもっとセキュアじゃないだろう。
0081792006/12/08(金) 21:41:56ID:???
>>80
メモを残すことがセキュアじゃないか。
漏れはパスワードを手帳にメモするときは、独自のルールで暗号化している。
Fkkh8D なら 最初の3文字はアルファベット数字を2回進め、最後の3文字はアルファベットと数字を3回戻す、みたいにね。
メモを安全に管理すれば、メモを残しておいても問題ないだろう。
ISPのパスワードなどの重要なのは、独自のルールで暗号化したものを、さらに家の金庫にいれて保管してるよ。

パスワードを使いまわししていたら、どこか1箇所から漏洩しただけで、全てのサービスがクラックされる可能性があるわけだが。
その管理の何処がセキュアなんだ。

もし、独自ルールでの暗号化が面倒ならば、サイト毎に違うパスワードにしてメモして、
メモしたパスワード + In@2 (暗記するパスワード) みたいにすれば問題なし。
0082軟式PHP2006/12/08(金) 21:43:32ID:???
>>76
仕様とかそういう以前に俺はtype=passwordにする。
ただ、そんだけ。

>>78
ケータイでpasswordにしてたら古い機種はキツイよなw
何打ってるか分からんやつがあるw
0083nobodyさん2006/12/08(金) 21:44:04ID:???
ttp://www.livedoor.com/blogでアクセスできるのですが、
http://www.livedoor.com/blog/だとできません。
これはPHPでクエリ文字でページを制御しているのでしょうか?
0084nobodyさん2006/12/08(金) 21:46:42ID:???
>>83
無理やりPHPにからめるな。スレ違い。
0085nobodyさん2006/12/08(金) 21:47:19ID:???
>>81
そんな独自のルールじゃ、攻撃者がメモをたまたま見つけてコンピュータで暗号解読を試みたら、短時間で見破られる可能性あるんじゃ・・・
0086812006/12/08(金) 21:52:03ID:???
>>85
あ、説明が不十分だった・・・。
独自のルールに変換した文字列に 4桁ぐらいの共通パスワードをいれたものが実際のパスワードになってる。

ただ単に4桁の共通パスワードを加えただけでも、ランダムな英数字にしているから、
62^4 = 14776336 通りを試さなければならない。

そして、もし、サイト運営者が悪用しようとしても、メモを奪わないと他のサイトのパスワードを知ることができない。
0087nobodyさん2006/12/08(金) 21:56:32ID:???
>>85
マクドナルドの件から始まった幼稚なセキュリティの話は
どうにか我慢してたけど、おまえの発言はさすがにばかば
かしすぎるぞ。

>>86
おまえも自慢げに説明するな。読んでるほうが恥ずかしく
なる。
0088軟式PHP2006/12/08(金) 21:57:13ID:???
すげぇ・・・俺も見習ってパスワードをメモって暗号化して
ライオン像を斜めに傾けると本棚が開いて出てくる金庫にしまうぜ。
0089nobodyさん2006/12/08(金) 21:58:03ID:???
>>86
パスワードを忘れたときに、自分自身が解読できなかったら、元も子もない罠
0090nobodyさん2006/12/08(金) 21:59:17ID:???
そんなパス管理を世の中の全てのユーザができると思い込んでる辺りが…
0091nobodyさん2006/12/08(金) 22:01:24ID:???
>>90
それも全て<input type=text>のため。
見えて入力しやすいフォームのためなら、ユーザーは僅かながらの労力を惜しんではならんのだ。
0092nobodyさん2006/12/08(金) 22:02:45ID:???
>>89
残念ながら、そこまで記憶力わるくねーよ
毎日何度も使っているパスワードをどうすれば忘れられるんだ
0093nobodyさん2006/12/08(金) 22:04:01ID:???
それならメモしなければよろし
0094nobodyさん2006/12/08(金) 22:04:58ID:???
ねぇ、このくだらないコキブリレベルのぱしゅわーどにょのおはにゃしは
いちゅまでつじゅくんでちゅか?
ここはあくまでもPHPのしゅれでしゅよ?
0095nobodyさん2006/12/08(金) 22:18:10ID:???
おまえらってなんで難しく考えるんだろうパスワード項目を多重に増やせばいいだろ。
これでID入力1つ、パスワード入力5つあれば問題ない。
0096nobodyさん2006/12/08(金) 22:19:36ID:???
>>95
はいはい。お前が実践して便利だと思ったら使えば。
0097nobodyさん2006/12/08(金) 22:25:24ID:???
>>43は無理?
0098nobodyさん2006/12/08(金) 22:32:28ID:???
>>95
リアルで茶吹いたじゃねーかwww
0099972006/12/08(金) 22:51:12ID:???
はやく答えろや人力検索ども
0100nobodyさん2006/12/08(金) 22:52:01ID:???
セッションってもうワッシワッシ使っちゃっていいの?
何処かが作ったCMSのスクリプトを覗いたらメニューの文字からリンク先まで
全部セッションに突っ込んであったりしたんで・・・
0101nobodyさん2006/12/08(金) 22:54:33ID:???
>>97
そもそもダイアログって何の話?
ファイルアップロード?
あそこはPHPじゃ制御できない。
JavaScriptでも無理。
ActiveXならできる。
0102nobodyさん2006/12/08(金) 22:57:29ID:???
>>100
有限だけどメモリが確保できる限りは大丈夫。
ただ、遅くなるけど。
0103nobodyさん2006/12/08(金) 22:59:37ID:???
>>102
ありがとうございます
とりあえず基本的なセキュリティとメモリを念頭に使えば良いみたいですね
0104nobodyさん2006/12/08(金) 23:00:44ID:???
同一人物かどうかは知ったこっちゃないが、

>>99
氏ね
0105nobodyさん2006/12/08(金) 23:23:12ID:???
同一人物じゃないから安心して叩け
0106nobodyさん2006/12/08(金) 23:24:41ID:???
同一人物だったとしても、

>>99
氏ね
0107nobodyさん2006/12/08(金) 23:32:52ID:???
すみません
「56664,123,1,32,0,96,moji」
のように一行で書かれていているものを
「,」で区切ってそれぞれ変数に格納するには
どうしたらいいでしょうか
0108nobodyさん2006/12/08(金) 23:33:58ID:???
explodeで区切ったらいいです
0109nobodyさん2006/12/08(金) 23:34:38ID:???
ありがとうございます
0110認定回答者2006/12/09(土) 00:51:07ID:ohlkT/vm
>>107
斬鉄剣のようにきれ。しかし、文字の中に「,」が付いていた場合、間違えた場所を切るぞ
0111nobodyさん2006/12/09(土) 01:16:45ID:???
>>110
山田くん、認定を取り消しておいて〜
0112nobodyさん2006/12/09(土) 01:29:57ID:???
$array=array("あああ","いいい","ううう");

配列に上記の3つの値が入っているとします。
ここで指定の値(例えば「ううう」)を削除して出力するには
どうしたらいいのでしょうか?
0113nobodyさん2006/12/09(土) 01:33:34ID:???
>>112
削除して出力?出力は「ううう」を表示すればいいの?
01141122006/12/09(土) 01:37:12ID:???
>>113
いえ、「ううう」を削除して$arrayには「あああ」と「いいい」が入っている
状態にしたいのです。
unsetも試してみたのですが、違うみたいで・・。
0115nobodyさん2006/12/09(土) 01:45:15ID:???
>>100
>全部セッションに突っ込んで

それが超ウンコな実装方法だという自覚があって、
それでも使うというのなら、無理に止めはしない。

しかしアクセス数が少ないうちはそれでもいいが・・・
0116nobodyさん2006/12/09(土) 01:53:24ID:???
>>114
いや、unset()でいいと思うよ。
ちょっとどうやってやろうとしたのか見せてみ。
01171122006/12/09(土) 01:56:28ID:???
>>116
$array=array("あああ","いいい","ううう");
$del_val="ううう"; //削除する値
unset($array['$del_val']);

こんな感じです
0118nobodyさん2006/12/09(土) 01:59:44ID:???
PEARでの認証がどうしてもできずに困っています。
入力フォームは現れるのですが、入力してログインボタンを押すと真っ白な画面になってしまいます。
ソースは以下の通りです・・。
01191182006/12/09(土) 02:00:18ID:???
require_once "./common/PEAR/Auth.php";
function drawLogin($username, $status, $objAuth) {
if (isset($_SERVER)) {
$server = $_SERVER;
}else {
$server = $GLOBALS['HTTP_SERVER_VARS'];
}
echo '<form method="post" action="' . $server['PHP_SELF'] . '">' . "\n";
echo '<label for="username">ユーザー名:</label>';
echo '<input type="text" name="username">' . "\n";
echo '<label for="password">パスワード:</label>';
echo '<input type="password" name="password">' . "\n";
echo '<input type="submit" value="ログイン">' . "\n";
echo '</form>' . "\n";
}

$params = array(
'dsn'=>"mysql://root:admin@localhost/db_bbs",
'table'=>"auth",
'usernamecol'=>"username",
'passwordcol'=>"password",
'cryptType'=>"md5",
);

$objAuth = new Auth("DB", $params,"drawLogin");
$objAuth->start();

if($objAuth->getAuth()) {
echo "ようこそ!" . $objAuth->username . "さん<br>";
}
0120nobodyさん2006/12/09(土) 02:01:12ID:???
>>117
そもそも '〜' 内では変数を参照できないから、
それ$array['ううう']の参照になってない、って突っ込みもあるけど、

$idx = array_search($del_val, $array);
if($idx !== FALSE) unset($array[$idx]);
って感じかな。
0121nobodyさん2006/12/09(土) 02:02:33ID:k1+g2Cld
大変恥ずかしい質問なのですが、どなたかお答え頂けると嬉しいです。

phpMyAdminを導入したのですが、基本的な操作方法がわかりません。
ググって色々なサイトを見たのですがいまひとつ理解ができないです。
どなたか参考になるサイトなどあれば教えていただけないでしょうか。
0122nobodyさん2006/12/09(土) 02:07:09ID:???
引数の数が動的な関数で、
かつ 参照渡ししたいと考えています。

change()
{
$args_num = func_num_args();
$args = func_get_args();
for( $i=0; $i < count($args_num); $i++ ){
$args[$i] = "修正後";
}
}
と関数を作って、
使用する際に
change(&$var);
としても $var が参照渡しされず、「修正後」になりません。

https://www.stackasterisk.jp/tech/php/searchAction.do;jsessionid=aa3Tn-HfMu3c?cid=11
ここを参照すると、
関数定義時に&をつける、使用する際に引数に&をつける、
どちらでもOKと書いてありますが、どこが問題かどなたかご教授くださいませ。
01231212006/12/09(土) 02:17:25ID:k1+g2Cld
今、自分で参考になるサイトを見つけました。
なので、なんとか設定をすることができましたm(__)m
0124nobodyさん2006/12/09(土) 02:20:52ID:???
>>122
可変引数は参照渡しに対応してないらしーです。
01251222006/12/09(土) 02:28:44ID:???
>>124

そうですか・・・
ありがとうございました。
01261242006/12/09(土) 02:30:36ID:???
同じ話は過去にも悩んだ人が結構いるらしく、いくつかの記事が散見される。
ttp://ml.php.gr.jp/pipermail/php-users/2002-Decem
ttp://labs.unoh.net/2006/07/php_3.htmlber/012279.html
ttp://je-pu-pu.jp/blog/archives/2006/03/php_4.html
しかしいずれも無回答もしくは「無理」で結論されている模様。
0127nobodyさん2006/12/09(土) 03:40:48ID:pb/pWspH
PHP5 + SQL Server 2000でHTMLを保存しようとしているのですが、
SQL Serverのtext型のデータの出し入れの方法がわかりません。

VBとかのサンプルは見かけるのですが、PHPでのやり方をおしえてください
0128nobodyさん2006/12/09(土) 06:57:35ID:???
>>127
何がしたいのかよくわからないが、
http://www.php.net/manual/ja/ref.mssql.php
ここ眺めてたら答え出るんじゃないかな
0129nobodyさん2006/12/09(土) 09:33:05ID:???
>>127
何がどうわからないのか書いたほうがいいと思うよ。
数値や日付は普通に取れるってことなのかな?
mssqlはSJISで保存されるので、mb_convert_variablesとかしないといけないけど。

ついでにODBCの方も紹介しとこか。
http://www.php.net/manual/ja/ref.uodbc.php
PEAR::MDB2とかADOdbとか使った方がいいかもだけど。
0130nobodyさん2006/12/09(土) 10:04:30ID:YIF875cZ
ウィルスセキュリティソフトで、サーバー化ソフトを使ってるPCには使えないものが歩けど
みんあはどうしているの?
0131nobodyさん2006/12/09(土) 10:05:00ID:???
そもそもLinuxで動かしてるし>Apache
0132nobodyさん2006/12/09(土) 10:16:20ID:???
>>130
サーバ用のあるでしょ。
まぁ他人にスペース貸したりしてるわけじゃないし、
最低限のセキュリティー対策してれば、
外部から感染することは少ない。

>>131
Linuxならウィルスにかからないとか思ってるわけじゃないだろうな?
0133nobodyさん2006/12/09(土) 10:56:03ID:???
>>132
ハァ!?
ウイルスにかからないPCなんてない。最大限に対策をしつづける。
こんなの常識だろクズ
01341302006/12/09(土) 11:01:53ID:???
レスありがとうございました
僕のためにみんなけんかをしないでください
0135nobodyさん2006/12/09(土) 11:33:29ID:???
>>102
セッションがメモリっておまw
0136nobodyさん2006/12/09(土) 11:59:39ID:???
>>133
何ふぁびょってんの?半島の方でしたかw
0137nobodyさん2006/12/09(土) 12:19:19ID:???
>>136
そういうあおり方しかできませんか?
0138nobodyさん2006/12/09(土) 12:26:13ID:FhkAh91m
PHPというかWebProgの初心者です
掲示板の管理画面を作ろうとしています。
1ページ20件ずつ表示する掲示板で
20件を超えると<a>リンクで2ページ目が出現する仕組みです。
管理者がログインしている状態でこの掲示板を開くと
各書き込みに対し編集ボタンが表示されるようにしたいのですが
2ページ目に<a>リンクで飛ぶと、当然POSTでパスワードを
受け渡すことができず、こまってしまいました。
こういうのってどうやって実装するものなのでしょうか。

もしスレ違いでしたら誘導よろしくお願いします
0139nobodyさん2006/12/09(土) 12:34:39ID:???
>>138
認証したらセッションを開始して管理者であることを
示すキーかなんかを放り込んでおけばいいのでは?

各画面ではセッション変数を読み出し、管理者なら編集用の
リンクを張るなどする。
0140nobodyさん2006/12/09(土) 12:42:57ID:???
>>138
一つ前の過去ログに同じ質問がございますので、肉ちゃんねる等で参照してください。
0141nobodyさん2006/12/09(土) 12:43:19ID:???
>>138
>当然POSTでパスワードを受け渡す

当然そういう危ないことは止めていただきたい。
>>139の言うとおり、セッションで管理者ログインフラグとか立てる。
0142nobodyさん2006/12/09(土) 12:43:53ID:???
>>139
レスありがとうございます
セッション管理について無知でした
調べてみたら、まさにこれだ!って感じです。
かゆいところに手が届きました
感謝です
01431382006/12/09(土) 12:45:39ID:???
>>141
POSTでパスワードはまずいのですね・・・なるほど
セッション管理を使ってみます
本当にたすかりました
0144nobodyさん2006/12/09(土) 12:49:46ID:???
mb_http_output あたりのせいだと思うのですが、
SJISの文字列AとEUC-JPの文字列BをブラウザへGET送信した際、
B側を echo すると
表示させるphp側で
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
と指定しているにもかかわらず、文字列BのみがSJISで表示されます。
(このため文字化けします、ブラウザの文字コードを再度EUC-JPに指定してやれば、
文字化けが解けます)
文字列AをEUC-JPにしたら、文字化けせずに正常にEUC-JPで表示されます。

おそらく、GETで受け取る際に文字コードを判定、
その後、その文字コードで表示、みたいなことを
PHPのmbstring側が勝手にやってるような感じですが、
php.ini を弄る以外で何か解決方法はないでしょうか?

ちなみに mb_http_out("EUC-JP") をしても変わりませんでした。
お願いします。
0145nobodyさん2006/12/09(土) 12:52:22ID:???
>>144
とりあえずmb_*関係の設定をすべてさらすこと。
次に表示するソースの文字コードを確認。

こっちはエスパーじゃないんだから。
0146nobodyさん2006/12/09(土) 13:04:57ID:???
肝心のmbstringの現在の設定値を言い忘れてました、失礼しました。
Directive Local Value Master Value
mbstring.detect_order auto auto
mbstring.encoding_translation On On
mbstring.func_overload 0 0
mbstring.http_input auto auto
mbstring.http_output SJIS SJIS
mbstring.internal_encoding EUC-JP EUC-JP
mbstring.language Japanese Japanese
mbstring.substitute_character no value no value
となっています。
ソースの文字コードはEUC-JPです。
この問題以外は文字化けは発生してません。
文字化けが発生するのも文字列Bのみです。

宜しくお願いします
0147nobodyさん2006/12/09(土) 13:16:10ID:???
auto autoとかjapanとかなんで二重に書くの?
0148nobodyさん2006/12/09(土) 13:17:07ID:???
>>138
>>140はスルーですかそうですか
0149nobodyさん2006/12/09(土) 13:19:50ID:???
>>147
phpinfo()の表記でしょ
01501462006/12/09(土) 13:21:47ID:???
表記もわからない人は答えなくていいです。
それではよろしくお願いいたします。
01511382006/12/09(土) 13:21:57ID:???
>>148
ごめんなさい、過去ログをあさるに必死で
レスつけきれていませんでした
感謝ですm(__)m
0152nobodyさん2006/12/09(土) 13:35:24ID:???
>>146
mbstring.http_output SJIS SJIS
01531462006/12/09(土) 13:40:26ID:???
>>152

>文字列AをEUC-JPにしたら、文字化けせずに正常にEUC-JPで表示されます。
という部分の理由は分かるでしょうか?
また、mb_http_out("EUC-JP") をしても駄目なのはなぜでしょうか。
0154nobodyさん2006/12/09(土) 13:42:32ID:???
$string_contents = file_get_contents
でコンテンツが見つからなかったときに
エラーを吐かせず$string_contentsに別の数値を入れるにはどうすればいいですか
01551462006/12/09(土) 13:43:10ID:???
一応補足しておきますが、
>>150 は私じゃないです、
暇人は羨ましいです
01561462006/12/09(土) 13:44:08ID:9A0i8Wu2
ID出す(age)なきゃならないのですね・・・
01571462006/12/09(土) 13:59:24ID:gM+cEjaM
150と156は偽者です。
たいへん恐縮ですがはやく教えていただければと思います。
こちらも暇ではないので。
0158nobodyさん2006/12/09(土) 14:02:42ID:???
めんどくせーからいちいち偽者でるんじゃねえよタコ
0159nobodyさん2006/12/09(土) 14:07:38ID:???
最初からIDを出さないからこうなる。
ローカルルールも意味無くあるわけじゃないんだよ。

文字列をEUCに変換して出力するならそのままEUCで出力される。
何もしなければお舞さんが設定したとおりSJISに変換してEUCの
HTMLに出力する。
これがAとBの違いだろ。
01601462006/12/09(土) 14:09:51ID:gM+cEjaM
どの設定をかえたらよろしいのでしょうか?
01611462006/12/09(土) 14:25:55ID:9A0i8Wu2
> 文字列をEUCに変換して出力するならそのままEUCで出力される。
> 何もしなければお舞さんが設定したとおりSJISに変換してEUCの
> HTMLに出力する。
> これがAとBの違いだろ。

文字コード自体は文字列BもEUCなのです、
SJISになってるわけではないです、あくまでブラウザ出力の
文字列B部分がSJISになっているだけであって。
だから
>(このため文字化けします、ブラウザの文字コードを再度EUC-JPに指定してやれば、
文字化けが解けます)
となります。
0162nobodyさん2006/12/09(土) 14:28:55ID:???
この板にお前の質問に答えられるやつは居ないと思うよ
159も根本的に勘違いしてるし
0163nobodyさん2006/12/09(土) 14:31:51ID:???
>>162
ならお前が説明すればいいだろ。
0164nobodyさん2006/12/09(土) 14:32:41ID:???
>>162
お前のような難癖つけるだけの馬鹿はすっこんでろよ。
01651462006/12/09(土) 14:35:30ID:gM+cEjaM
文字コードの設定ってアパッチの設定とPHPの設定だけですよね?
0166nobodyさん2006/12/09(土) 14:42:07ID:???
回答にはなってないけど。

送信されてきた文字列がSJISかEUC-JPかはどうやって
判断したの?
mb_detect_encodingで調べてみた?
0167nobodyさん2006/12/09(土) 14:44:52ID:???
もうほうっとけよ。
なんか2人146がいるし、めんどくさいから相手にすんな。
0168nobodyさん2006/12/09(土) 14:54:54ID:???
>>144
ID:9A0i8Wu2が本物であると予想して相手してみる。

とりあえず再現するコードを書いて(特にform部分と、文字コード関連の操作)。
そうすれば、内容が明確になるだろうし、回答も得られるはず(>>146の設定内容は了解した)。

少なくとも、文字列Aと文字列Bというのが、どういう操作の対象なのかがわからん。
同時に送信しているのか、別の送信の仕方をしているのか。ブラウザの通常の使用で再現されるものなのか。

まーとにかく、再現するコードを書いてくれ。
言葉だけで説明されると、曖昧さが出てくる。

>>154
$string_contents = @ file_get_contents("ファイル名") or $string_contents = デフォルト値;
01691542006/12/09(土) 14:59:31ID:???
>>168
ありがとうございます
01701462006/12/09(土) 15:29:44ID:9A0i8Wu2
>>166
はい、mb_detect_encoding で調べてます。

>>168
$vara = "シフト";
$vara = mb_convert_encoding($vara, "SJIS", mb_detect_encoding($vara));
$vara = urlencode($vara);

$varb = "イーユーシー";
$varb = mb_convert_encoding($varb, "EUC", mb_detect_encoding($varb));
$varb = urlencode($varb);
header("Location: index.php?vara=".$vara."&varb=".$varb);

して、
index.php(文字コードEUC、HTML出力EUC) 側で
echo mb_detect_encoding($_GET['varb']);
echo $_GET['varb'];

です。
EUC と表示され、$varb 自体は文字化けします。
0171nobodyさん2006/12/09(土) 15:40:14ID:???
>>170
そのindex.phpで、

mb_http_output("EUC-JP");
header("Content-type: text/html; charset=EUC-JP");
<meta http-equiv="content-type" content="text/html; charset=EUC-JP" />
echo $_GET['varb'];

を全部やっても化ける?
01721462006/12/09(土) 15:45:08ID:9A0i8Wu2
>>171
化けますね・・・
0173nobodyさん2006/12/09(土) 16:06:09ID:???
$strがA〜Z、a〜z、1〜9と-_の時にもTRUEを返したいのですが、
どのようにすればよいのでしょうか?
01741732006/12/09(土) 16:08:40ID:???
すみませんミスです
$strがA〜Z、a〜z、1〜9と-_の組み合わせでできているとTRUEを返したいのです。
($str = 'abc123'; =TRUE)
($str = 'abc1$3'; =FALSE)
0175nobodyさん2006/12/09(土) 16:13:20ID:???
>>172
ブラウザに何使ってる?
デフォルトの文字コードを自動判別になってなくて、
ヘッダーの指定を無視するなんてオチだったりして。
0176nobodyさん2006/12/09(土) 16:18:36ID:???
173応援あげ
01771732006/12/09(土) 16:21:46ID:???
>>176
有難うございます


if(!ereg("[0-9a-zA-Z]",$str)){
//エラー処理
}

ここまでは分かったのですが、「-」と「_」はどのようにすればよいのでしょうか・・・?
0178nobodyさん2006/12/09(土) 16:24:43ID:???
>>172
>mbstring.encoding_translation On

原因はこれだわな。varaがsjisだから、クエリストリング全体にsjis→eucの変換がかかってる。
だからeucでエンコードされてるvarbがおかしくなる。
php.iniがいじれない状況なら、クエリストリングの先頭に常にeucとして解釈される短い文字列でも埋め込んでおけば?
0179nobodyさん2006/12/09(土) 16:29:12ID:???
>>177
eregなんか使うなよ。

preg_match('/^[a-zA-Z0-9_-]+$/', $str);
01801792006/12/09(土) 16:30:29ID:???
最後の「-」の前に「\」な。
01811732006/12/09(土) 16:33:03ID:???
>>179-180
有難うございます。
その方法で解決できました。

差し支えなければ、eregとpreg_matchについての違いなど教えていただけないでしょうか。
本には同じ説明文で記載されていたので・・・
0182nobodyさん2006/12/09(土) 16:36:07ID:???
>>181
http://www.php.net/manual/ja/ref.pcre.php
http://www.php.net/manual/ja/ref.regex.php
0183nobodyさん2006/12/09(土) 16:47:14ID:???
すみません、PHP+MySQLなんですが、ここでも大丈夫ですかね?

$db = 'database';
mysql_db_query($db,'SELECT FORM database . table WHERE id LIKE abc');

『database』というデータベースの『table』というテーブルの『id』というフィールドを検索して
『abc』と同じものがあればTRUEを返したいのですが、上記の方法では何も返されませんでした。
どのように記述すれば良いですか。御指摘お願い致します。
また、スレ違いなら誘導していただけると嬉しいです。
0184nobodyさん2006/12/09(土) 16:49:19ID:???
eregを使うなってのは確かセキュリティ的にあれだからですよね?
mb_ereg なら問題ないって聞いたんですが。
個人的にはなぜかereg系使いやすいんですよね・・・
0185nobodyさん2006/12/09(土) 16:56:01ID:???
>>183
$dbにはデータベースへ接続したときに得られたリソースを入れる。
後、セレクト文で何もセレクトして無いでしょ。 count(*) でも入れとけば?
0186nobodyさん2006/12/09(土) 16:57:10ID:???
>>183
mysql_connecthost,user,pass)
mysql_select_db("database")
mysql_query("SELECT * FROM table WHERE id = 'abc'")

mysql_db_query
http://jp.php.net/manual/ja/function.mysql-db-query.php
変更履歴
バージョン 説明
4.0.6 この関数は廃止予定です。使用しないでください。かわりに mysql_select_db() あるいは mysql_query() を使用してください。
0187nobodyさん2006/12/09(土) 17:02:46ID:???
>>185-186
有難うございます。

$dbHandle = mysql_connect("localhost","root","root");
mysql_select_db("database");
echo mysql_query("SELECT * FROM table WHERE id = 'abc'");

「リソース」というのが少しわからなかったので上記の方法でしてみました。
すると、「Resource id #5」という値が返ってきました。
もうリソース怖いです、やめてください。
0188nobodyさん2006/12/09(土) 17:07:31ID:???
>>187
マニュアル読めよ
$result = mysql_query("SELECT * FROM table WHERE id = 'abc'");
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
0189nobodyさん2006/12/09(土) 17:07:48ID:???
>>187
つ ttp://jp2.php.net/manual/ja/function.mysql-query.php
0190nobodyさん2006/12/09(土) 17:07:50ID:???
>>187
ちゃんとマニュアル見てる?

返り値
SELECT, SHOW, DESCRIBE や EXPLAIN 文では、 mysql_query() は成功した場合に resource を返します。エラー時には FALSE を返します。
それ以外の SQL 文 UPDATE, DELETE, DROP などでは、 mysql_query() は成功した場合に TRUE 、エラー時に FALSE を返します。
返された結果にアクセスするためには、結果リソースを mysql_fetch_array() やその他の関数に渡します。
SELECT 文によって返された行の数を知るには mysql_num_rows() を用います。また DELETE, INSERT, REPLACE, または UPDATE 文で変更された行の数を 知るには mysql_affected_rows() を用います。
クエリが参照するテーブルにアクセスする権限がない場合も mysql_query()は失敗し、FALSE が返されます。

使い方に対するとても丁寧でわかりやすい説明があって、サンプルソースまでついてて、
しかもほぼ完全に日本語化されてるなんて恵まれた環境そうないと思うんだけど。
0191nobodyさん2006/12/09(土) 17:16:53ID:???
>>135
スーパーグローバル$_SESSION配列に確保できるメモリサイズが有限で
これを超える格納はこけるでしょ
0192nobodyさん2006/12/09(土) 17:23:53ID:???
>>184
バイナリ対応もアレだけど、基本的にはereg系はpreg系に比べて数倍遅いからpreg推奨なだけ。
ただ、それなら何故ereg系があるかっつーと、昔からある正規表現で使い慣れた人が多いから。
性能的にそこがボトルネックになってるわけじゃなきゃ使いやすい方を使えばよろしい。
0193nobodyさん2006/12/09(土) 17:42:45ID:???
JAVAでポップアップメニュー作ってますが、ボタンを押してリンクに飛ぶ代わりに
そこから<?php include("sample.html"); ?>みたくPHPを呼び出すことできます?
さらにブラウザに表示するアドレスをsample.htmlにできますでしょうか?

0194nobodyさん2006/12/09(土) 18:00:11ID:???
>>193
JAVAのスレで聞けよ
0195nobodyさん2006/12/09(土) 18:14:04ID:???
>>193
君は1度、
サーバーサイドとクライアントサイドのプログラムの違い、
それぞれのプログラムがどのマシン上で動いているか、
includeでどこのファイルが呼び出されているか、
そして恐らくはJavaとJavaScriptの違い、
を勉強してみた方がいい。
ものすごくとんちんかんなことを言っていることに気づくはずだ。
0196nobodyさん2006/12/09(土) 19:31:55ID:???
ajaxればできるんじゃね
0197nobodyさん2006/12/09(土) 19:43:16ID:???
普通にリンク先をsample.htmlにするのと何違うんだ
0198nobodyさん2006/12/09(土) 19:49:44ID:???
>>196
>>193が言ってるのはJava(Script?)からPHPのPerlバインディングみたいにPHPコードを
使えるかってことだろ。説明がちんぷんかんぷんでよくわからないが、HTTP経由ではないだろ。
0199nobodyさん2006/12/09(土) 20:01:08ID:???
ポップアップメニューってことはクライアントで動いてるんだろ。
HTTPも使わずにネット越しのファイルをどうやって読み込むんだよ。
0200nobodyさん2006/12/09(土) 20:57:20ID:???
[f1][f2][f3][f4][f5]のフィールドがあって
そこのf1とf2に$f1、$f2の入れたいのですが
insert into user values('$f1','$f2');
だけでは入ってくれず、他のところに
insert into user values('$f1','$f2','','','');
というように空白を入れないと入ってくれません
f1->$fi、f2=>$f2のように指定することはできないのでしょうか?

MySQL+PHPですが、向こうに質問スレがなかったのでこっちで聞いてみました
0201nobodyさん2006/12/09(土) 21:12:12ID:???
>>200
SQLのマニュアルくらい読もうよ。
insert into user (f1, f2) values ('$f1', '$f2');
ってすれば対象カラムを指定できるでしょうが。
めちゃめちゃ基本の文法だと思うよ。
0202nobodyさん2006/12/09(土) 21:13:43ID:???
向こうに質問スレあるよ
>>201もしくは
insert into user f1='$f1', f2='$f2'
でもいけるよ
丸っきりSQL文の話でPHP関係ないけどね
02032002006/12/09(土) 21:15:13ID:???
>>201-202
ありがとうございます!
今日からDBはじめたヒヨッコなので・・・
もう少し勉強してから手をつけていきたいと思います
0204nobodyさん2006/12/09(土) 21:26:06ID:???
>>201-202の方法でも格納されなす(ノД`)

ちなみに文は
function mdq($sql){
mysql_db_query($db,$sql);
}
$sql = "insert into account id='$id',password='$pass',name='$name',addr='$add',id='$age',id='$age',sex='$sex'";
mdq($sql);

$sql = "insert into user id='$id',name='$name'";
mdq($sql);
なんですが・・・
0205nobodyさん2006/12/09(土) 21:29:55ID:???
・・・エラー文は?
0206nobodyさん2006/12/09(土) 21:30:34ID:???
>>205
エラー文は返ってきません
ちなみにphpMyAdminで確認しています
0207nobodyさん2006/12/09(土) 21:35:02ID:???
>>202の文法って正しくは
insert into user set f1='$f1', f2='$f2';
じゃないの?
0208nobodyさん2006/12/09(土) 21:38:10ID:???
>>204
> function mdq($sql){
> mysql_db_query($db,$sql);
> }
あとこれだと$dbがどこにも定義されてない状態になるから
いくらSQL文が正しくても動かないんじゃなかろうか。
それとmysql_db_query()は旧バージョンの関数名なので使わない方がいい。
いったいどんな古い本で勉強してるんだ。
>>206
エラー文は返ってくるものではなく取得するもの。
mysql_query()実行後にmysql_error()で得る。
0209nobodyさん2006/12/09(土) 21:43:56ID:???
>>208
$dbはその上に書いてます。
($db = "database";)

さきほどまではmysql_db_queryでも正常に動いていました
(>>200の状態の時のことです)

mysql_db_queryをmysql_queryに変えると
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource
というエラーが返ってきました(PHPで)
mysql_error()と記述しても、それのエラーは返ってこない状態です。
0210nobodyさん2006/12/09(土) 21:51:53ID:???
>>209
とりあえずmysql_queryは引数とかも変わってるのでそこの修正は後にしろ。
マニュアル読み直して書き直しが必要。
それより>>207の方は?
0211nobodyさん2006/12/09(土) 21:54:14ID:???
>>210
setは加えても変化はありませんでした。
最初から書き直すのですかorz
マニュアル見て頑張ります
0212nobodyさん2006/12/09(土) 21:58:20ID:???
>>211
>>201の文法ならどうよ?
つーか、ひょっとしてMySQLのバージョンが相当古かったりするか?
0213nobodyさん2006/12/09(土) 22:07:45ID:???
mysql_query($db,$sql);

これを

mysql_select_db($db);
mysql_query($sql);

で解決できました。
本当にありがとうございました。
0214nobodyさん2006/12/09(土) 22:10:34ID:???
つーかね。PHPマニュアルのMySQL関数のところを
読めば、やりたいことの例文が全部載ってるわけ。
2chで質問する暇があったら、マニュアル読んだ方が
早いから。絶対。
0215nobodyさん2006/12/09(土) 22:14:02ID:???
その本家マニュアルの所在を2chで質問するまで知らなかったようだがw
0216nobodyさん2006/12/09(土) 22:14:47ID:???
>>214
これをいったら質問こない罠
0217nobodyさん2006/12/09(土) 22:51:10ID:???
別に誰もいなくなるならそれはそれで良いことの気がするけど。
0218nobodyさん2006/12/09(土) 22:57:16ID:???
くだスレだとしても、もう少しレベルの高い話がしたいな。
0219nobodyさん2006/12/09(土) 22:59:17ID:???
例えば?
0220nobodyさん2006/12/09(土) 23:07:47ID:???
>>141
>>143
POSTでパスワードを送受信することの危険性はたいしたもんじゃないよ。

0221nobodyさん2006/12/09(土) 23:10:01ID:???
>>218
レベルの高い話しましょうか。
来年売れそうなWEBアプリケーションてどんなだろう?
このくらいの話ができないようなら消えてください。
0222nobodyさん2006/12/09(土) 23:11:01ID:???
>>221
出会い系システム
0223nobodyさん2006/12/09(土) 23:11:59ID:???
>>221
じゃ先ずあんたからどうぞ。
できないなら消えてください。
0224nobodyさん2006/12/09(土) 23:15:30ID:???
マニュアルに例文がそのまま載ってるような質問に
苦言を呈しただけなのに、何でそんな話になるの?
0か1かまで単純化しないと話が理解できないの?
極論過ぎ。小学生の言い訳かよ。
0225nobodyさん2006/12/09(土) 23:16:01ID:???
おまえら質問スレで何勝手に議論はじめてるんですか?
誘導だけで回答できない雑魚はいらないので、
答える意思がないやつor議論はじめるやつは消えてくれ。
0226nobodyさん2006/12/09(土) 23:16:29ID:???
だから当人の持ってる本にはあれしか例文が無かったんでしょ。
0227nobodyさん2006/12/09(土) 23:20:22ID:???
>>218
じゃあ普通の質問スレいけばいいんじゃね?
くだらない質問だからくだスレであって
そうでなかったら意味ない
0228nobodyさん2006/12/09(土) 23:22:32ID:???
>>227
その普通の質問スレが無くなってこのスレに統合されたんよ。
経緯を知らんやつは半年ROMてろ。
0229nobodyさん2006/12/09(土) 23:59:49ID:???
だからタイトルから「下らねぇ」を消せとあれほd(ry
0230nobodyさん2006/12/10(日) 00:16:14ID:???
別にレベルとかどうでもいいじゃん。
くだらねえのもくるし普通のもくる。
低レベルから高レベルの質問でも答えられるやつがいるなら問題ないだろ。
わざわざ拘ってるのに理解できん。
0231nobodyさん2006/12/10(日) 00:23:50ID:???
スレタイが下らなくなくなれば、そもそも下らなさに言い及ぶ奴も減るということか。
0232nobodyさん2006/12/10(日) 01:05:52ID:???
PHPによるデザインパターン入門
http://www.amazon.co.jp/exec/obidos/ASIN/4798015164/
これどうなん?買った人いる?
0233nobodyさん2006/12/10(日) 01:10:46ID:???
>>227-229
つーか、下らなくない質問がある&聞きたいというなら
改めてそういうスレを自分で立てればいいんだよ。
ニーズがあると本気で思ってるならさ。
0234nobodyさん2006/12/10(日) 01:28:21ID:???
質問です>>221はどうして消えたんですか?
0235nobodyさん2006/12/10(日) 01:29:44ID:???
PHP part2
ttp://pc8.2ch.net/test/read.cgi/tech/1127806509/l50

これをくだらく無い質問用にしたらどうか。
0236nobodyさん2006/12/10(日) 01:30:50ID:???
>>233
この板スレ立てられなくね?
0237nobodyさん2006/12/10(日) 01:33:36ID:???
>>235
あなたがそっちの方がいいと思ったらそっちに書き込めばいい。
根本的に板からして違うとこを姉妹スレにするのはどうかと思う。
>>236
は?
じゃあ、どうやってこのスレは立ったんだよ。
0238nobodyさん2006/12/10(日) 01:36:09ID:???
>>233
新しく立てたって需要があるわけないでしょ。すでにこのスレがあるわけだし。
ただ、実質この板でメインなスレとして機能しているのに、質問や回答が下らないだの質問者や回答者が下らないだのの議論になるのはバカらしいから、せめてスレタイから「下らない」を削除たらどうよ?って話。
0239nobodyさん2006/12/10(日) 01:37:13ID:???
>>238
外したら今度は「下らない内容しか無いんだからスレタイを戻せ」と
逆のアンチが騒ぐだけ。そのくらいも想像できないお子ちゃまですか。
0240nobodyさん2006/12/10(日) 01:39:12ID:???
>>238
…なんで「下らなくない」本スレ側が消えたか理解してる?
0241nobodyさん2006/12/10(日) 01:40:43ID:???
>>237
>は?
>じゃあ、どうやってこのスレは立ったんだよ。

何回かこのくだ質スレの過去スレ立てようとしたけど、立てられなかった。
エラーメッセージ見た限りでは、ホスト規制とかではなく、「この板ではしばらくスレが立てられません」みたいに出てたから、てっきり一般人には立てられないのかとおもた。
0242nobodyさん2006/12/10(日) 01:41:24ID:???
>>240
質問スレが重複してたからじゃね?
0243nobodyさん2006/12/10(日) 01:42:11ID:???
>>241
そのメッセージは「そのホストでは」この板ではしばらくスレが立てられません、だ。
同じホストからの連投が規制されているだけ。
0244nobodyさん2006/12/10(日) 01:43:45ID:???
>>242
だから、あえて本スレ側を消して下らない側を残したのに、
わざわざ「下らない」というタイトル消したら意味ないじゃんか。
旧本スレがどれだけ荒れて質問も来ないスレになってたか知らんのか。
0245nobodyさん2006/12/10(日) 01:43:50ID:???
>>243
あーそうだったのか。でも今のホストからこの板にスレ立てはしたことないお。
0246nobodyさん2006/12/10(日) 01:44:51ID:???
>>245
プロバイダどこさ。
0247nobodyさん2006/12/10(日) 01:47:10ID:???
本当にくだらねえなお前等wwww
0248nobodyさん2006/12/10(日) 01:47:30ID:???
ま、そういう連中が集うスレだしw
0249nobodyさん2006/12/10(日) 01:49:59ID:???
>>238
需要が無いとは言い切れないよ。
元々は本スレと言われた「PHP質問スレ」があったのに
後から下らない質問スレが別に立って、しまいには
そっちが本スレになっちゃったくらいなんだから。

必要とされる方が残る。これが真理。
そしてPHPに関して「下らなくない」質問スレは敷居が高くて生き残れない。
0250nobodyさん2006/12/10(日) 01:56:02ID:???
HTTP_Requestでデータを読み込み、そのデータを加工してfwriteでファイルに書き出すPGを作成しています。

レンタルサーバ上(PHP4.4.2)では正常に終了するのですが、
自宅サーバ(PHP5.2.0)では途中で処理が止まってしまいます。(どこで止まっているかわかりません)
どう対処したら良いでしょうか?
0251nobodyさん2006/12/10(日) 01:59:43ID:???
>>250
プログラムを段階的に区切ってみてどこで止まるか検証しましょう。

せめてソース見せてくんなきゃ他に何も言えんよ
0252nobodyさん2006/12/10(日) 02:00:57ID:???
>>239
そういう輩にはこのスレでも勧めとけ。
つーかこのスレの存在も知らんやつは黙ってろ。

くだすれPHP(超初心者用)2
http://pc8.2ch.net/test/read.cgi/php/1164617202/l50
0253nobodyさん2006/12/10(日) 02:05:14ID:???
>>252
は?超初心者用くだすれは本スレが消える前からあったろ。
なんでそれで下らない質問スレを残したか意図理解してる?
0254nobodyさん2006/12/10(日) 02:06:09ID:???
>>249
いや、くだスレが最初に立ったときにすでに本スレは荒れてたんだよ。
それで、煽り文句として「くだ質池」ってのがちょくちょく書き込まれ、さらに悪化。
そんな折にくだ質に人が移っていって、しばらく荒れた末に本スレは終了。

別にくだ質が残った理由は「くだらないから」だったとは思わんな。
それよりも、そもそも「レベルが高いとか低いとか」そういう話題が出てくること自体が、常にデメリットしか生み出さないので問題かと思う。
むしろ過去の本スレがどうのこうのっていう話題が出てくることも無駄以外の何物でもないってのが本当のところだな。
0255nobodyさん2006/12/10(日) 02:07:14ID:???
>>252
それで済むと思うならこのスレも消して超初心者用スレに全部統合で終わる。
スレの使い分けの実情も理解できないやつは黙ってろ。
0256nobodyさん2006/12/10(日) 02:08:55ID:???
下らないってスレタイを外したがってるやつが
ちゃんと下らなくない質問をここに投下すれば話は済むよ。
実際問題、下らなくない質問なんて1つも出てないんだから
スレタイから外す必要なんて全然ないでしょう。
0257nobodyさん2006/12/10(日) 02:11:20ID:???
>>256
そういう、質問 or 質問者 or 回答 or 回答者に「くだらない」 or 「レベルが低い」というレッテルをいちいち貼る奴が出てくるとき、一番スレが荒れる。
0258nobodyさん2006/12/10(日) 02:12:27ID:???
>>255
じゃあ次からそうしろよ。
文句ばかりで実行が伴わない池沼にはもううんざり。
0259nobodyさん2006/12/10(日) 02:13:00ID:???
>>254
「下らない質問」というスレタイには「スレタイがそうなんだから回答側もあまり文句言うな」
っていう、荒れ防止の役割があるんじゃないかな。
実際、このスレの過去スレ読むと、頻繁に文句は出ても全部それで止められてる。
そうでもないと「下らない質問はやめれ」ってとにかく荒れまくる。

PHPは開発者のユーザレベルが他所より低いのはもう避けて通れない事実なんだから、
こういった自虐でもないとまともに質問スレなんて運用できないと思うよ。
本家MLとかまっとーなコミュニティでさえ滅茶苦茶なんだから2chで自制できるわけないじゃん。
0260nobodyさん2006/12/10(日) 02:15:10ID:???
>>256
なんで回答側が質問しなけりゃいけないんだよw
馬鹿かお前はwww
質問する側に最低限のマナーを求めているだけだろうが。
お前みたいなあほ質問者は一生ROMるか金払ってコンサル雇え。
0261nobodyさん2006/12/10(日) 02:16:30ID:???
>>260
いや俺回答しかしたことないんだが。

> 質問する側に最低限のマナーを求めているだけだろうが。
無理だろ。ありえない不可能なものを要求するお前が悪い。
0262nobodyさん2006/12/10(日) 02:17:18ID:???
>>259
「下らない」が自浄作用になっているような部分ってあったか?
むしろ「下らない」をキーワードに、レベルの高低の話が出てきて、終いには「俺以外レベル低い」と言わんばかりの奴も出てくるなど、荒れる原因になっているところばかりだった希ガス。
0263nobodyさん2006/12/10(日) 02:20:54ID:???
>>262
アホか。だったら本スレは荒れてない。本スレと下スレの過去ログを比較してみろ。
「下らない」のスレタイを外すと同時に>>260みたいなやつが質問のことごとくにケチをつけ始めて
まったくスレが機能しなくなって終わるだけだ。
0264nobodyさん2006/12/10(日) 02:20:55ID:???
>>250
エラーでないのかな?
どこが原因なのかよく分からないときは、とりあえずどこまで進んでいるか
きりのいいところに適当に print "aa"とかしてみたりとか、
変数や配列に期待通りの値が入っているか print_r($arr) とかしてみると
原因特定しやすいよ。
0265nobodyさん2006/12/10(日) 02:24:08ID:???
>>261
> >>260
> いや俺回答しかしたことないんだが。
それが何か?

お前が、
>下らないってスレタイを外したがってるやつが
>ちゃんと下らなくない質問をここに投下すれば話は済むよ。

なんて頓珍漢なレスをしてるんだろうがw

この2行と冒頭の1行がどう繋がるのか説明を求む。
0266nobodyさん2006/12/10(日) 02:25:13ID:???
>>263
本スレが荒れたのは、スレタイが下らなくないからなのかwww
意味わかんねwww
0267nobodyさん2006/12/10(日) 02:29:06ID:???
>>266
涙目での必死な反論なんです。
生暖かい目で見守って上げてくださいw
0268nobodyさん2006/12/10(日) 02:31:20ID:???
>>267
自己言及お疲れ様です。
0269nobodyさん2006/12/10(日) 02:32:25ID:???
単なる煽りに走るようになったか。程度が知れたな。
02702502006/12/10(日) 02:33:09ID:???
>>251
すみませんがソースはちょっとみせられないです。(プーチン大統領が見せるなというので。まだ死にたくありません・・・)

>>264
エラーは表示されず、5分くらい画面はそのままです。
ひたすらループしてるPGで全体のループ回数の1/3くらいでとまります。
(画面におおまかにどこまで進んだかは表示させています)
0271nobodyさん2006/12/10(日) 02:34:09ID:???
>>268
反論できないなら無理にしなくていいからww
0272nobodyさん2006/12/10(日) 02:34:44ID:AKRcc5I/
傍から見てて気になったんだが、スレタイの改変を求めてる人に
・今の内容がスレタイと合ってないから外そう
って言ってる人と
・今のスレはスレタイ同様に酷いからスレタイ直して内容も改めよう
って言ってる人の2種類がいない?
なんか論点がぐちゃぐちゃだよ。
0273nobodyさん2006/12/10(日) 02:38:04ID:???
>>270
画面への表示は表示毎にフラッシュを入れないと、バッファリングされちゃって
正確な位置が特定できないよ。
実行位置をログファイルに出力するか、flush(); ob_flush(); などを入れて
出力直後に確実にブラウザに表示されるような工夫をしないとデバッグにならない。
0274nobodyさん2006/12/10(日) 02:38:40ID:???
なんか「下らねぇ」に愛着持ってる奴がいるみたいね。へんなの。
荒れる原因になるなら、さっさと外せばいいのに。
0275nobodyさん2006/12/10(日) 02:39:27ID:???
とりあえず、下らない質問は禁止させたい人へ

>>270 <こいつどうにかしてみせろ。
0276nobodyさん2006/12/10(日) 02:39:55ID:???
>>274
外した方がもっと荒れる
0277nobodyさん2006/12/10(日) 02:41:16ID:???
>>276
自分でスレを立てて実証してからほざけ。
02782662006/12/10(日) 02:41:29ID:???
煽りは無視するとして。
>>266の書き込みが稚拙すぎたので書き直す。

>>263
本スレのタイトルに「下らねぇ」が入っていなかったから荒れたと言いたいの?
下スレが出来る前から荒れてたのに。
0279nobodyさん2006/12/10(日) 02:41:44ID:???
>>270
だからその止まる直前の処理は何よ?
0280nobodyさん2006/12/10(日) 02:41:50ID:???
>>274
荒れる原因になるから「下らねぇ」をスレタイにつけないとダメ。
0281nobodyさん2006/12/10(日) 02:43:53ID:???
>>270
Apacheのエラーログか何かにメッセージは吐かれてないのか。
吐かれてないなら吐くように設定を変えてみたらどうだ。

なんかループしすぎてメモリを食いすぎただけじゃないのかって気がする。
PHPのバージョンが変わればその辺の仕様も変わるだろ。
0282nobodyさん2006/12/10(日) 02:43:57ID:???
>>276
外したら荒れる理由とは?
外さないと荒れる理由は、例えば「下質だからxxx」→「質問者のレベルはxxx」→「お前のレベルはxxx」となって水掛け論が始まることなんだが。
0283nobodyさん2006/12/10(日) 02:54:48ID:???
>>282
外す→そんな下らない質問をするな→この質問のどこが下らない→水掛け論どころか喧嘩騒ぎ

少なくとも今のスレの質問内容にも相当不満を持ってるのが何人かいる状況で
スレタイの変更は自殺行為にしか見えないが。
>>278への回答にもなるけど、元々の本スレが荒れたのも質問内容に対して
その是非を問うようなアホな連中がいたから。
質問と回答の流れに対してフレームが発生するくらいなら、回答者同士で
レベルの水掛け論が起きるくらいなら全然問題があるようには感じない。
(下らない質問スレでの騒ぎはいつも回答者同士だけであって、質問者を巻き込むことは少ない)
そんなのは横目でスルーすればいい話で、本来の質問と回答の流れが機能するなら全然問題のうちに入らないよ。
0284nobodyさん2006/12/10(日) 02:56:44ID:???
おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
まままままままままままままままままままままままままままままままままままま
んんんんんんんんんんんんんんんんんんんんんんんんんんんんんんんんんんんん
ここここここここここここここここここここここここここここここここここここ
0285nobodyさん2006/12/10(日) 03:10:31ID:???
>>283
なんで質問者に最低限のマナーを求めることが
これほど非難されるのかさっぱりわからん。

文句を言うやつはどんな下らない質問にで親切丁寧な
レスをつけてからほざけ。
0286nobodyさん2006/12/10(日) 03:16:39ID:???
・外す→そんな下らない質問をするな→この質問のどこが下らない→水掛け論
・外さない→そんな下らない質問をするな→わざわざスレタイ通りの質問をする必要はない→それじゃお前がレベル高いこと言えば→水掛け論
・外さない→スレタイ通りの下らない質問だな→答えられない無能は引っ込んでろ→やはりこのスレはレベルが低いな→水掛け論
・外さない→下らねぇってどこからが下らないんだ?→PHPの質問には下らない質問しかない→PHP使ってる奴はレベルが低い→水掛け論

うーむ・・・
0287nobodyさん2006/12/10(日) 03:20:45ID:???
妙に伸びてると思ったらスレタイ論争か

>スレタイ変更云々言ってる人
新しく立てるんじゃなくてスレタイ変更するのか?
0288nobodyさん2006/12/10(日) 03:27:48ID:???
俺がお前たちのために、最高のスレタイを提案してやるぞ。

【PHP】下らねぇ質問「も」ここに書き込みやがれ 35
0289nobodyさん2006/12/10(日) 03:28:35ID:???
>>288
ワロチwwww
0290nobodyさん2006/12/10(日) 04:06:43ID:???
>>289
全然面白くないけど。
0291nobodyさん2006/12/10(日) 04:22:14ID:???
>>290
何にでも噛み付く奴だな。少しは落ち着け
0292nobodyさん2006/12/10(日) 04:23:48ID:???
>>288
これはいいかも
0293nobodyさん2006/12/10(日) 05:02:34ID:???
$hoge = !$hoge
としてるのって何ですか?
0294nobodyさん2006/12/10(日) 05:03:59ID:???
>>293
bool値の反転じゃない?
0295nobodyさん2006/12/10(日) 06:32:55ID:???
【PHP】質問は全てここに書き込みやがれ 35
0296nobodyさん2006/12/10(日) 08:41:10ID:???
【PHP】いじわるしないで教えてください(><) 35
0297nobodyさん2006/12/10(日) 09:30:36ID:???
【PHP】くだらねぇかどうかもわからねぇ質問
0298nobodyさん2006/12/10(日) 09:31:38ID:???
【PHP】くだらねぇかどうかもわからねぇ質問【要は全部】
0299nobodyさん2006/12/10(日) 10:01:43ID:???
【PHP】くだらねぇ質問か。いいだろう、ここに書き込うわ何をすry 35
0300nobodyさん2006/12/10(日) 10:46:37ID:???
$string_contents = @file_get_contents("http://外部") or $string_contents1 =file_get_contents("ローカルファイル ");
という構成なんですが、http://外部のアクセスに2秒以上かかるときに
$string_contentsにローカルを入れるためにはどうすればいいでしょうか
0301nobodyさん2006/12/10(日) 10:49:25ID:???
タイムアウトを2sにしろ
0302nobodyさん2006/12/10(日) 10:49:54ID:???
普通にfsockopen使ったほうが楽だと思うよ
0303nobodyさん2006/12/10(日) 11:04:25ID:???
>>301
set_time_limit()を
〜〜〜("http://外部")set_time_limit()
この形で置けばいいでしょうか
0304nobodyさん2006/12/10(日) 11:36:45ID:???
set_time_limitはCPU時間
0305nobodyさん2006/12/10(日) 12:32:02ID:???
あるサイト参考にCSVからデータ抽出を挑戦しているのですが一つ教えてください

<?php
$Cid=$_GET['cid'];
$Data=file('top.csv');
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",", $Data[$i]);
if($line[任意]==$Cid){
$CatTitle=$line[任意];
break;
}
}
?>

cidで渡された値を$Cidに納めた後、
$line[0]と$Cidが同じならば、$CatTitleに$line[1]を
$line[1]と$Cidが同じならば、$CatTitleに$line[5]を
$line[3]と$Cidが同じならば、$CatTitleに$line[2]を
という風に条件を別れさせたいのですが、どうやったらよいでしょうか?
わかりにくくてすいません。
0306nobodyさん2006/12/10(日) 12:54:07ID:???
>>305
ifでもswitch caseでも使って条件分岐するしかないのでは?
空行を読んだときやexplodeした配列が4つも無かった場合の
処理を追加した方がいいね。
あと、forでまわすよりforeachで回す方が毎回sizeofしなくて
いいような気がするが、ここら辺はPHPが最適化してくれるのかな?
0307nobodyさん2006/12/10(日) 13:54:43ID:???
つfgetcsv
03082702006/12/10(日) 14:52:34ID:???
$req =& new HTTP_Request($url);

で処理が止まっているようです。
尚、$urlは可変で60回位までは正常に処理でき、その後で止まるようです。
>>250でも書きましたがレン鯖ではOKなのでHTTP_RequestのVerの違いでしょうか?
03092702006/12/10(日) 14:54:41ID:rl/pga4Z
すません間違いました

$req =& new HTTP_Request($url);
if (!PEAR::isError($req->sendRequest())){       ←この行
    処理・・・
}
0310nobodyさん2006/12/10(日) 14:55:34ID:???
php5とか?
つかエラー文吐かせらんないの?
0311nobodyさん2006/12/10(日) 14:59:12ID:???
file_get_contents で、http のリソースを手に入れています。
このときのタイムアウトを設定したいと思うのですがどのように記述すればいいでしょうか?
03122702006/12/10(日) 15:06:03ID:???
>>310
PHP5.2.0です。
Apacheのエラーログには何もでてきません。

エラー文吐かせる方法を知りません _| ̄|○
0313nobodyさん2006/12/10(日) 15:11:08ID:???
php.iniの設定変えてみたら?
error_reporting = E_ALL & ~E_NOTICE
display_errors = On

全然関係ないけどPHP5だと"&"は必要ないね
互換性のために使えるはずだけど(うちの環境では現に使えてるから)
0314nobodyさん2006/12/10(日) 15:18:59ID:???
俺pear使わないから知らんけど
書き方間違ってんじゃないの?
つかApacheのエラーじゃなくてPearのエラーだけど
0315nobodyさん2006/12/10(日) 15:21:01ID:???
getMessage()メソッドがあるんやん
0316nobodyさん2006/12/10(日) 15:40:36ID:q972gna1
PHP初心者です。
先達のお力を拝借できると助かります。
EUCで動く環境のPHPでDBの内容をクライアントにCSVをダウンロードする際に
マルチライン可能の項目に改行コードが混じると
SHIFT-JISに変換する際に(mb_convert_encodingを使用)
\r\nに変換されてしまい困っています。

うまいこと改行コード(CRLF?)を出力方法は無いものでしょか?

今のところ
�@nl2brを使い改行の前に<br />を差込
�Astrtokで<br />で分解し\r\nを\\nに変換
�B再度strtokで\\nで分解し 分解されるたびに mb_convert_encodingで
改行コードを出力

ここまでで一見上手く行った様に見えたのですが
小文字でn が来るとmb_convert_encodingで出力される際に
改行が出力されてしまいます。

参考になるような資料はないでしょうか?
0317nobodyさん2006/12/10(日) 16:01:13ID:???
>>316
DBに改行コード(LF)を含むテキストをEUC-JPで格納し、
出力する際はShift-JIS+LFで出力したいの?

まず、DB上でその情報を利用して検索などをしないなら、
適当にエンコードして格納しておけば?

検索する場合は、格納時に適当なキーワードを抽出して
別テーブルで管理し、本文はやはり適当にエンコードして
格納すれば?

というのがぱっと浮かんだ。

後は識者の光臨を待てw
03182702006/12/10(日) 16:23:33ID:???
解決しました。

原因はPHP.iniのmax_execution_time=30に引っかかり30秒で止まってました。

途中のPGをちょっといじると
「 Maximum execution time of 30 seconds exceeded」のエラーメッセージが表示されたので、
set_time_limit(300);を追加してOKになりました。
03193162006/12/10(日) 16:33:01ID:q972gna1
>>317
>DBに改行コード(LF)を含むテキストをEUC-JPで格納し、
>出力する際はShift-JIS+LFで出力したいの?

こういう事です。
残念ながらDBに適当にエンコードして格納して置くことは
許してもらえないのです(泣
0320nobodyさん2006/12/10(日) 16:35:50ID:tstv0UFr
無名関数を定義する方法を教えてください。
Perlならsub{}、これだけですよね?
0321nobodyさん2006/12/10(日) 16:36:37ID:???
>>320
create_function()
0322nobodyさん2006/12/10(日) 16:50:34ID:???
\r\nでなんでだめなの?
0323nobodyさん2006/12/10(日) 16:51:05ID:???
>>321
どうもありがとうです。でもこれなんか使いにくいですね。
文字列の配列で渡すんですか…
0324nobodyさん2006/12/10(日) 16:52:10ID:???
クラスの静的メソッドって名前空間に関数を詰め込んだだけのような気がするんだけど、もっと何か違いがあるの?
03253162006/12/10(日) 16:53:10ID:q972gna1
>>322
ダウンロードしたcvsをExcelで扱いたいもので…
0326nobodyさん2006/12/10(日) 16:57:48ID:???
\r\n → \n
に全部置換すりゃええんじゃないの?
0327nobodyさん2006/12/10(日) 17:01:07ID:???
>>324
たとえば、singletonパターンを利用するときはgetInstance()と
いう静的なメソッドから内部でクラスのインスタンスを生成するし、
SQLクエリの結果を静的なプロパティに格納しておいて静的なメソッ
ドから取得することもある。

どーでもいいけど、名前空間という言葉の使い方を間違えてるよ。
0328nobodyさん2006/12/10(日) 17:04:15ID:???
>>324
継承ができる。
ただし基底クラスの静的メソッド内で、派生クラスを指定して呼び出したのかどうか、という情報が復元できない難点があるので、それを補う場合は引数にクラス名を渡すなどの工夫が必要。
0329nobodyさん2006/12/10(日) 17:08:53ID:???
>>324
クラスというスコープ内に定義されるわけだから、静的・非静的にかかわらず、privateなメソッドやプロパティを使用可能な点は、「ただ詰め込んだだけ」以上の利点だとは思わんのか?
0330nobodyさん2006/12/10(日) 17:09:55ID:???
ところで、PHPの名前空間サポートは今のところどうなってんの?
0331nobodyさん2006/12/10(日) 17:11:44ID:???
>>330
そういうミーハー的なネタは自分でMLでも漁ってください。
03323162006/12/10(日) 17:22:54ID:q972gna1
>>326
!!!

エンコードするタイミングと置換のタイミングが味噌だったようです。
�@EUC(DBの値)⇒SJISに変換
�A改行コードが「\r\n」と言う文字列に変換される
�BSJISで\r\nを\nに置換  
�C出力

↓な感じで解決しそうです!

$hoge = mb_convert_encoding (hogedb($item[$hoge]),"SHIFT-JIS", "auto");
$hoge = str_replace ("\\r\\n","\n",$hoge);
print $hoge;

ありがとうございました。
0333nobodyさん2006/12/10(日) 17:30:32ID:???
>>332
>$hoge = str_replace ("\\r\\n","\n",$hoge);
これだとバックシュラッシュ多すぎじゃない?
03343332006/12/10(日) 17:31:43ID:???
誤)シュラッシュ | 正)スラッシュ
03353332006/12/10(日) 17:33:57ID:???
>>332
あぁ、これでいいんだ。よく前を読んでなかった。何度もすまない。
0336nobodyさん2006/12/10(日) 17:44:12ID:???
kakasiをsoとしてインストールしたいのです。
どうしてなのですか?
0337nobodyさん2006/12/10(日) 17:47:02ID:???
>>330
http://www.atmarkit.co.jp/flinux/special/php5/php5c.html
これ?
0338nobodyさん2006/12/10(日) 17:56:34ID:???
>>336
日本語でおk
0339nobodyさん2006/12/10(日) 18:05:34ID:???
>>337
これ、古い記事だけど実際はサポートされなかったんだから、その
旨の文章をちょこっと追加してほしいよな。紛らわしい。
まぁ、なくても 特 に 困らない機能だけど、サポートされたらちょっと
嬉しい気もする。
0340nobodyさん2006/12/10(日) 21:38:29ID:???
<?php
require_once("PEAR/Info.php");
$info = new PEAR_Info();
$info->show();
?>

上記のソースでPEARのインストール済みのものが表示されますが、
なぜか一覧にMDB2とHTTP_Requestだけが表示されません。コマンドプロンプトの[pear list]では表示されます。
何が問題なのでしょうか?
0341nobodyさん2006/12/11(月) 00:03:39ID:???
>>323
PHPでPerlより楽に書けるパターンなんて
欲しい機能そのまんまな関数があったときくらいで
それ以外は全部面倒な書き方を強いられる。
Perlは言語仕様が強力すぎだからあきらめれ。
0342nobodyさん2006/12/11(月) 00:22:33ID:???
file_get_contents (http) でタイムアウトの設定するにはどうすればいいのでしょうか?
ためしにini_set('default_socket_timeout','4');
と設定してみたのですが、変わらないままでした。
使用している php は 4.4.4 です。よろしくお願い致します。
0343nobodyさん2006/12/11(月) 00:23:43ID:???
そんなんできたっけ?無理だったと思ったけど。
0344nobodyさん2006/12/11(月) 00:41:47ID:???
fsockopen使えば?
関数作ればfile_get_contentsと同じように使えるし
PEAR使えばもっと楽
0345nobodyさん2006/12/11(月) 00:47:07ID:???
fsockopenの使い方があまり分からないんです
0346nobodyさん2006/12/11(月) 00:52:07ID:???
例えば
ini_set('user_agent', $user_agent.'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)');
$string_contents = @file_get_contents("$url1") or $string_contents =file_get_contents("$local");
$string_contents = str_replace(",", "\n", $string_contents);

をfsockopenで記述するとどうなりますか?
0347nobodyさん2006/12/11(月) 01:10:31ID:???
ヒント:マニュアルのユーザーノート
0348nobodyさん2006/12/11(月) 02:51:15ID:U3obhrAG
今実行しているスクリプトファイル名を取得するにはどうすればいいですか?
0349nobodyさん2006/12/11(月) 03:15:57ID:???
>>348
<?php phpinfo(); ?>で調べて見れ
0350nobodyさん2006/12/11(月) 03:16:10ID:???
__FILE__
0351nobodyさん2006/12/11(月) 07:08:34ID:???
>>349
>>350
THX!!
0352nobodyさん2006/12/11(月) 10:13:46ID:T7VRNufo
質問です。

$fp = fopen("./file.txt");

としたあとに、既に"./file.txt"が開かれているかどうかを確認するのに、
if(is_set($fp))
で確認してるんですが、この方法で確認するのは果たしてOKなのか疑問です。
どのように確認するのが、一般的なんでしょうか?
if($fp)
とかでもいいんでしょうか?
0353nobodyさん2006/12/11(月) 10:15:07ID:T7VRNufo
訂正
×is_set
〇isset
0354nobodyさん2006/12/11(月) 10:27:56ID:???
>>352
マニュアル嫁。

オープンが失敗すると、関数は FALSE を返し、 E_WARNING レベルのエラーを発行します。
@ を使ってこのwarningを抑制することもできます。

と書いてあるから、それを確認したらいいのでは。
0355nobodyさん2006/12/11(月) 10:41:20ID:???
>>352-353
>オープンが失敗すると、関数は FALSE を返し、 E_WARNING レベルのエラーを発行します。 @ を使ってこのwarningを抑制することもできます。
03563522006/12/11(月) 10:44:26ID:T7VRNufo
>>354-355
なるほどありがとうございます。そこまでの意味を掴み切れてませんでしたorz
0357nobodyさん2006/12/11(月) 11:08:35ID:???
$fp = fopen("./file.txt") or exit("File open error.");
0358nobodyさん2006/12/11(月) 11:29:13ID:???
おれはif文で開けることが多いな。
0359nobodyさん2006/12/11(月) 15:00:11ID:???
ファイルをアップしている間に 「少々お待ちください」 の画面を出したいのですが
どのタイミングでどの様な処理をすれば良いのか見当もつきません。
良い方法を教示ください。
0360nobodyさん2006/12/11(月) 16:11:58ID:T7VRNufo
なんでもかんでもPHPでやるのはどうかと思いますよ。得手不得手というものがありますから。
0361nobodyさん2006/12/11(月) 16:35:18ID:???
PHPとJavaサーブレットの得手不得手って何?
0362nobodyさん2006/12/11(月) 17:44:08ID:knN2XhtS
セッションについて質問です。

ブラウザのウィンドウを新たに立ち上げた場合は
新ウィンドウは旧ウィンドウのセッションを引継ぎはしませんが、
タブブラウザで新しいタブを開いた場合には
新タブは旧タブのセッションを引き継いだ状態になってしまいます。

同じウィンドウのタブ同士で、セッションを同一に扱わせない処理って出来ますでしょうか?
0363nobodyさん2006/12/11(月) 19:37:01ID:TN4IXMY0
ftp_put( $conn, $remote, $local, FTP_ASCII);
なら動作するんですが、
ftp_put( $conn, $remote, $local, "FTP_ASCII");
だと ftp_put() expects parameter 4 to be long というエラーが
出ます。理由をおしえてくり。

$mode = "FTP_ASCII";
ftp_put( $conn, $remote, $local, $mode);
も同じエラーが出ます。

0364nobodyさん2006/12/11(月) 19:57:20ID:???
>>363
http://jp.php.net/ftp_put
0365nobodyさん2006/12/11(月) 19:59:40ID:???
PHPでエクセルファイルを操作することってできますか?
具体的にはCSVの一枚表だけでなく、一つのファイル中に複数のシートを作ったり
印刷範囲の設定などをしたいと考えています。
0366nobodyさん2006/12/11(月) 20:03:10ID:???
出来るよ。印刷範囲はしらんけど。
0367nobodyさん2006/12/11(月) 20:06:15ID:???
複数のシートを作るのはどうやるんですか?
0368nobodyさん2006/12/11(月) 20:09:45ID:???
addWorksheet関数だよ。
0369nobodyさん2006/12/11(月) 20:28:42ID:???
ありがとうございます。PEARのExcel Writerですね。

ちなみにサンプルではaddWroksheetメソッドのコール時に参照代入になっていますが
オブジェクトのコピーは自動で参照になると思ってましたが
これは必要なんでしょうか?
0370nobodyさん2006/12/11(月) 20:39:19ID:???
>>363
これ "FTP_ASCII" はFTP_ASCIIという文字列。
これ FTP_ASCII は定数。
引用符で囲むと意味がぜんぜん違うものになる。

ためしに $mode = FTP-ASCII; にしてみな。
03713702006/12/11(月) 20:40:29ID:???
間違えた。
$mode = FTP_ASCII;
0372nobodyさん2006/12/11(月) 21:28:03ID:???
こういうミスがデバッグを苦しめるんだなw
0373nobodyさん2006/12/11(月) 21:56:24ID:???
PHP ML 全文検索がなくなったみたいなのですが、どこか代替できるサイトないですか?
http://ml.php.gr.jp/search.html
03743402006/12/11(月) 22:09:45ID:???
誰か>>340お願いします
0375nobodyさん2006/12/11(月) 22:31:43ID:???
>>359
最近PHP5向けのpeclでそういうのが出てた。
なんで出来ないかは「file upload progress php」あたりでググってみると分かる。


>>340
おいらのPEAR/Info.phpはPHPで記述されている
0376nobodyさん2006/12/11(月) 22:41:09ID:???
mb_convert_eocoding()を配列の要素全てに適用するには
array_map()を使うしかないですか?
その場合to_encodingも配列で渡さないといけないようですが
countで数えるなりして同じ数の文字コードを格納した配列を作らなければならないんでしょうか?
数百個になりそうでちょっと気が引けるのですが・・・
0377nobodyさん2006/12/11(月) 22:49:34ID:???
mb_convert_variables()
0378nobodyさん2006/12/11(月) 23:12:23ID:???
おー、ありがとうございます
独自関数とarray_walk_recursiveで作ったところでした・・・
03793402006/12/11(月) 23:43:45ID:???
>>375
俺のもPEAR/Info.phpはPHPで記述されています
0380nobodyさん2006/12/12(火) 00:42:39ID:???
>>359
とても難しいです。それ。
0381nobodyさん2006/12/12(火) 02:10:30ID:zaiE1Sl7
掲示板とか日記とかをPHPで作るとき、
ユーザーからの入力は当然エスケープして表示するわけですが、
このとき、ハートマークとかコピーライト記号とか、そういう特殊記号があった場合に、
それらだけをエスケープせずに表示するにはどういう実装方法を取るべきなのでしょうか?
0382nobodyさん2006/12/12(火) 02:33:01ID:???
>>381
自分で実体参照文字リストとか作って配列に入れといて、
htmlspecilacharsかけた後の文字列とその配列の中身を比較して、
同じのがあればそれをアンエスケープすれば?

たとえば「&#9829;」を見つけたら「?」に戻す(アンエスケープする)とか。
03833822006/12/12(火) 02:43:58ID:???
・・・あ、よく考えたらそれじゃダメか。
エスケープされた「後」に、実体参照文字だけ元に戻したいとなると
これじゃ無理だ・・・
0384nobodyさん2006/12/12(火) 02:51:09ID:???
まあ、要は頑張れってことだ、ということだけはわかった。
0385nobodyさん2006/12/12(火) 02:54:35ID:???
>>383
「&amp;#[0-9]+」を見つけたら「&amp;」→「&」変換するとかじゃ無理かな…
0386nobodyさん2006/12/12(火) 03:56:13ID:???
>>385
一番手っ取り早い力ワザはそれだよね。
ただし、何かセキュリティ的にヤバい穴が出来ないか心配。。。
0387nobodyさん2006/12/12(火) 04:50:41ID:???
>>385
そういう置換をするための正規表現ってどう書けばいいの??
よく分からないから当てずっぽうでこんなの↓書いてみたけど当然ダメだったorz

$text= htmlspecialchars('ハートだよ?');//文字列全体をエスケープ
$regex = "^&{1}[0-9]{3,6};$";
preg_replace("/".$regex."/", "&\1", $text);//実体参照文字だけをアンエスケープ
03883872006/12/12(火) 04:56:10ID:???
あ、しまった。なんか書き込み時に&が勝手に変換されちゃってる。
仕方ないので半角&を全角&にして書き込んでみます。

$text= htmlspecialchars('ハートだよ&#9829;');//文字列全体をエスケープ。&は実際には半角
$regex = "^&amp;{1}[0-9]{3,6};$";//&は実際には半角
preg_replace("/".$regex."/", "&\1", $text);//実体参照文字だけをアンエスケープ
0389nobodyさん2006/12/12(火) 07:23:12ID:???
phpでrss feedを生成したいのですが、うまくいきません。

やりたいことは、出力したい内容をphpでデータベースから一回ごとにリアルタイムでとってきてxml形式のファイルを動的に生成出力したいのです。


単純に
<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
<title>.... という文字列を出力するだけではだめなのでしょうか?

ブラウザでアップロードしたURLを見てみても、見ることができません。
ページが見つかりません やその他のエラーは出ず、
アドレスバーにだけそのURLが入っている状態で、ブラウザの内容は前(任意)のサイトのままになってます。
0390nobodyさん2006/12/12(火) 07:43:33ID:???
>ブラウザの内容は前(任意)のサイトのままになってます。
ブラウザのキャッシュが効いてるんじゃないのか?
0391nobodyさん2006/12/12(火) 09:22:33ID:???
PDOについて、

$db=new PDO($hoge1.":host=".$hoge2.";dbname=".$hoge3,$hoge4,$hoge5);
$stmt=$db->query("SELECT * FROM hogetable");

//$stmt=NULL;

while($row=$stmt->fetch(PDO::FETCH_ASSOC){
$stmt2=$db->prepare("INSERT IGNORE fugatable (fuga) VALUES (?);");
$stmt2->execute(array(row["hoge"]));
}

のようなコードを書きたいのですが、
$stmt=NULL;を入れないと$stmt2->executeが実行されないのは何故なんでしょうか。
0392nobodyさん2006/12/12(火) 10:19:23ID:???
PHPのマニュアルのunserializeに、

>エラーやシリアライズされた FALSE 値をアンシリアライズする場合、
>FALSE が返されます。この特殊なケースは str を serialize(false)
>で比較する、もしくは E_NOTICE をキャッチすることで区別することができます。

と書いてあるのですが、1,2行目は
$str = 'hage';
if (@unserialize($str) === false && $str != serialize(false)) {
echo '1:unserialize error';
}
ということだと理解しました。
で、3行目なんですが、キャッチと言う言葉から
try {
$arr = @unserialize($str);
} catch (exception $e) {
if ($e->getCode() == E_NOTICE) {
echo '3:unserialize error';
}
}
と言う事かなと思ったのですが、どうも違うようです。
「E_NOTICEをキャッチすること」とは具体的にどういうことなのでしょうか?
0393nobodyさん2006/12/12(火) 10:22:57ID:???
PDO::query() を次にコールする前に
結果セット内の全てのデータを取得しない場合、そのコールは失敗します。
PDOStatement::closeCursor() をコールし、次に PDO::query() をコールする前に
PDOStatement オブジェクトに関連付けられたリソースを解放してください。
0394nobodyさん2006/12/12(火) 10:44:29ID:???
マニュアル読まないでアバウトな感覚で使ってるからそういう疑問が出るんだろうね。
サンプル重視のアホばっかだなwww
0395nobodyさん2006/12/12(火) 10:57:10ID:???
>>394
スレタイも読まんと何ほざいてるの?
0396nobodyさん2006/12/12(火) 11:00:18ID:???
>>395
お前こそ>>1も読まずに何をほざいてるの?お前みたいな馬鹿がいるから
>>1も、マニュアルも読まない馬鹿が増えるんだよ。

0397nobodyさん2006/12/12(火) 11:05:42ID:???
>>396
お前のように文句しか言わない池沼はうせろ。
ま、ほんとは答えられないんだよねw
0398nobodyさん2006/12/12(火) 11:07:45ID:???
人のことを言う前に答えろや
0399nobodyさん2006/12/12(火) 11:14:14ID:???
お前が吹っかけてきたんだろうがw
形勢不利と見るや責任転嫁ですか?
分かった分かった。無理すんな。
くだ質スレでケチつけるしかないほど普段の生活で抑圧されてるんだな。
でも次からは雑談スレやチラ裏でやれ。
0400nobodyさん2006/12/12(火) 12:08:06ID:???
フェラチオしたい…
0401nobodyさん2006/12/12(火) 12:10:22ID:???
>>400 は女か!?
0402nobodyさん2006/12/12(火) 13:00:44ID:???
>>391
なんかおかしいならとりあえずエラー出そうよ

$stmt2 = $db->prepare("INSERT IGNORE fugatable (fuga) VALUES (?);");
if (!$stmt2) {
var_dump($db->errorInfo());
exit;
}

こんな感じでいける

$db = new PDO("mysql:host=localhost;dbname=test", 'user', 'pw');
$rows = $db->query("SELECT * FROM hogetable")->fetchAll(PDO::FETCH_ASSOC);

foreach ($rows as $row) {
$stmt = $db->prepare("INSERT IGNORE fugatable (fuga) VALUES (?);");
$stmt->execute(array($row["hoge"]));
}
0403nobodyさん2006/12/12(火) 13:29:59ID:???
>>388
すごい正規表現だなw
0404nobodyさん2006/12/12(火) 14:20:40ID:K9EOWnsJ
テキストファイルの内容を全行読み込んで
それを違うテキストファイルに追加して書き込むにはどうすれば?
書き込むファイルには、すでにテキストが書き込まれていて
その後に、追加したいんですが
0405nobodyさん2006/12/12(火) 14:23:58ID:???
>>404
追記したいファイルを"a"モードでfopenして書き込めばOK
0406nobodyさん2006/12/12(火) 14:30:10ID:K9EOWnsJ
ありがとうございます!!
テキストファイルの内容を全行読み込んで 全行書き込むには
forループさせるしか方法はないんですか?
0407nobodyさん2006/12/12(火) 14:38:54ID:???
つぎのテンプレからこれ入れてよ
http://makimo.to/2ch/pc8_php/index.html
0408nobodyさん2006/12/12(火) 14:39:43ID:???
>>406
ファイルをコピーしたら?
0409nobodyさん2006/12/12(火) 15:13:57ID:???
>>406
file_get_contents(), file_put_contents()とかもアリじゃない?
0410nobodyさん2006/12/12(火) 15:19:37ID:???
サーバの引越しとかDBの調整とかスクリプトのテストとかをするときに、
アクセスしてきた人に対して一時的に「メンテナンス中」と表示するには
どうしたらいいんでしょうか?

イメージとしては、管理者(自分)だけはいつも通りサイトにアクセスできるけど、
一般の訪問者はどのページにアクセスしようとも、
mod_rewriteか何かで、メンテを知らせるページに強制ジャンプさせる…みたいな感じです。
0411nobodyさん2006/12/12(火) 15:33:14ID:j1klqrWE
複数のプログラムの実行についてお聞きしたいのですが。
例えば、A.php,B.php,c.phpというプログラムがあったとして、Aを実行して
処理が終わったら、B,Cの順に実行するということをしたいのですが、どうすれ
ばいいでしょうか?よろしければ、お教えください。
0412nobodyさん2006/12/12(火) 15:38:57ID:???
>>411
execute.phpというファイルに
<?php
require('A.php');
require('B.php');
require('C.php');
と記述して、execute.phpにアクセスするとか、単にそれぞれの
ファイルの末尾にrequire()を追加するのは?
0413nobodyさん2006/12/12(火) 15:46:45ID:???
>>411
そんなことすら自分で分からないレベルなら、
そういうことをやらないほうがいいと思う。

絶対にいろんなバグや予期せぬ動作が起きまくる。
0414nobodyさん2006/12/12(火) 15:46:48ID:???
>>407
今年一杯で終了じゃなかったっけ?カナシス
0415nobodyさん2006/12/12(火) 15:47:21ID:8yL3wR52
issetとemptyの使い分けがわかりません。
どういったときに使い分けるのでしょうか?
0416nobodyさん2006/12/12(火) 15:54:11ID:???
>>415
isset = コップが有るかどうか
empty = コップに水が入っているかどうか
0417nobodyさん2006/12/12(火) 16:00:35ID:8yL3wR52
>>416さんのとてもわかりやすい例えで解決しました。
さしつかえなければ416さんの得意分野をおしえてください。
0418nobodyさん2006/12/12(火) 16:02:00ID:???
くだらんネタは書き込まなくていいよ
0419nobodyさん2006/12/12(火) 16:02:52ID:???
>>413
わからないから>>411は質問したんだろ。
>絶対にいろんなバグや予期せぬ動作が起きまくる。
これは当たり前のことだろうが。それともお前はバグを起こしたことがないのか?
お前がバグさえ起こしたことがない天才プログラマーなのは勝手だが、意味不明な
アドバイスをするな。
0420nobodyさん2006/12/12(火) 16:11:41ID:???
時々沸いてくるね〜。
意味あるアドバイスもせずケチつけるだけのやつ。
答えたくなければスルーすればいいし、お前にこのスレ
読んでくれなんて誰も頼んでないのにね。
ご苦労なこった。

誘導
【総合】 Webprog板質問雑談スレッド 1
http://pc8.2ch.net/test/read.cgi/php/1131016915/l50

こちらへどぞ。
0421nobodyさん2006/12/12(火) 16:14:07ID:???
>>420 = 時々沸いてくる意味あるアドバイスもせずケチつけるだけのやつ。
自戒乙。
0422やっぱり認定回答者2006/12/12(火) 16:15:09ID:???
最初は誰でも知識がないんだから質問して知識をどんどんつけていけばいいじゃないか。
自分の知ってることであれば答えてやるから遠慮せず質問ぶつけてこい
0423nobodyさん2006/12/12(火) 16:16:42ID:???
>>420
まぁ、そういうお前にもこのスレ読んでくれ
なんて誰も頼んでないわけだが。

>>422
だよな。お前みたいのがいてよかったよ。
04244112006/12/12(火) 16:19:50ID:j1klqrWE
先ほどのことなのですが、AとBはそれぞれ単体で動かすと、正常に処理できる
のに、require.phpとして
<?php
require('A.php');
require('B.php');
?>
として実行したら、Aの部分しか処理できていませんでした。
何故なのでしょうか?
0425nobodyさん2006/12/12(火) 16:23:51ID:???
>>424
A/B.phpそれぞれに "<?php" ついてる?

ついでに>>420は
誘導
【総合】 Webprog板質問雑談スレッド 1
http://pc8.2ch.net/test/read.cgi/php/1131016915/l50

こちらへどぞ。
04264112006/12/12(火) 16:27:03ID:j1klqrWE
>>425
ええ、ついています。
0427nobodyさん2006/12/12(火) 16:38:58ID:???
>>426
うーん、わからん。
実は全角の<?phpになってるとか...それはないか。
04284112006/12/12(火) 16:43:36ID:j1klqrWE
そうですか。。。どうもでした。
0429nobodyさん2006/12/12(火) 16:47:28ID:???
>>428
すまんな。役に立てなくて。
0430nobodyさん2006/12/12(火) 16:49:59ID:???
>>411
パターン1

execute.phpからAへ飛ばす
処理が終わったら行の終わりにBへ飛ばす記述
処理が終わったら行の終わりにCへ飛ばす記述

ぱたーん2
execute.phpというファイルに
<?php
require('A.php'); Aの行の終わりに「Aの処理が終了した」変数Aをセット
require('B.php'); 変数AがTRUEならBを処理→変数Bをセット
require('C.php'); 変数CがTRUEならB
0431nobodyさん2006/12/12(火) 16:52:36ID:???
>>413,421,423,425
お前に言ってんだよw読解力無いな。鸚鵡返ししかできんのか。
さっさと失せろ。

0432nobodyさん2006/12/12(火) 16:58:42ID:???
だが断る。
0433nobodyさん2006/12/12(火) 17:00:06ID:???
>>431
必殺「鸚鵡返し」。 お前が
>さっさと失せろ。
0434nobodyさん2006/12/12(火) 17:02:14ID:???
まぁ落ち着けよ
0435PHP出版2006/12/12(火) 17:02:35ID:???
eval("include('A.php')");
eval("include('B.php')");
0436nobodyさん2006/12/12(火) 17:05:14ID:???
>>431
誰が言ってるんだよ。お前が>>420ならちゃんと名前欄に入れろよ。
そもそも>>420がきちんとレスアンカーをつけないから混乱が起き
てるんだろうが。>>420が>>419にケチつけてるのか、>>413にケチ
つけてるのかわかんねぇよ。
0437nobodyさん2006/12/12(火) 17:05:27ID:apzoBj1l
たくさんの入力項目を元に、
ファイルを作成するプログラムを作っているのですが、

$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];

みたいなかんじで変数でごちゃごちゃになっています。
もうちょっと綺麗な書き方あったらぜひ教えてください。
0438nobodyさん2006/12/12(火) 17:09:06ID:???
>>436
素直に読めば>>419にケチをつけているのではないことくらい自明だと思うが?
まあいいや他所でやれ。
0439軟式PHP2006/12/12(火) 17:12:00ID:???
>>437
他人が作ったソースを読んでみるのも勉強になるお。
0440nobodyさん2006/12/12(火) 17:12:58ID:???
>>438
そうか?オレは>>419に対してだと思っていたが。
まぁ、とにかくレスアンカー必須のほうが誤解もなく安全だろ。ということでみなさ
ん、マナーとしてレスアンカーはきちんとつけようね。
0441nobodyさん2006/12/12(火) 17:14:25ID:???
>>437
extract()のマニュアルを調べるといいかも。
0442nobodyさん2006/12/12(火) 17:17:15ID:???
>>437
配列とか。

なんかプログラマって、いちゃもんつける人多いよね。
理系だから、完全な解を求めたがるような印象…
0443nobodyさん2006/12/12(火) 17:18:56ID:???
>>437
$key = array($_POST['a']=>'a',$_POST['b']=>'b',$_POST['c']=>'c');

echo $key['a'];
0444nobodyさん2006/12/12(火) 17:20:08ID:apzoBj1l
みなさんどうもありがとうございます!
さっそく教えていただいた配列でやってみたいと思います。
extractもマニュアルでひいてきます。
0445nobodyさん2006/12/12(火) 17:22:53ID:???
>>443
それはないだろ。
0446nobodyさん2006/12/12(火) 17:23:16ID:8yL3wR52
aaa.txtが存在しまして、file関数で変数$fileに取り込む記述があります。

$file = file("aaa.txt");

ファイルが開けない原因を考えているのですがわかりません。
どなたかアドバイスお願いいたします。
0447nobodyさん2006/12/12(火) 17:24:24ID:???
パーミッション
0448nobodyさん2006/12/12(火) 17:27:54ID:???
>>446
>>447。か、まれに>>50。
わかってると思うけど$fileは配列になってるので注意。
0449nobodyさん2006/12/12(火) 17:41:25ID:8yL3wR52
<<447-448さんありがとうございます。
やはりパーミッションですよね。
windowsでテストしているのですが、この環境でlinuxと同じように
パーミッションをいじくる方法ってありませんか?
0450nobodyさん2006/12/12(火) 17:47:39ID:???
$aが0のとき、empty($a)がTRUEになるのですが、
マニュアルだとnullや0はFalseを返すと書いてあるのになぜでしょうか?
04513912006/12/12(火) 17:48:07ID:???
>>393
>>402
超ありがとう!!
やっぱり、いったんfetchAllしてforeachで回すのがいいか。
0452nobodyさん2006/12/12(火) 17:49:40ID:???
>>450
よく嫁。まったく逆。
0453nobodyさん2006/12/12(火) 18:07:44ID:???
>>452勘違いしました(汗
クエリーから送った0だと空扱いにならないんですがなぜでしょうか?

この記述はAが出力されますが、クエリ文字を$aにおくるとBになるんです。
$a = 0;
if (empty($a)){
echo "A";
}else{
echo "B";
}
0454nobodyさん2006/12/12(火) 18:40:22ID:???
0とnullの違いわかってる?
0455nobodyさん2006/12/12(火) 18:42:34ID:???
>>453
よくわからないので、できればソースを。
0456nobodyさん2006/12/12(火) 18:44:14ID:???
>>453
echo($a)は何が出るん?
0457nobodyさん2006/12/12(火) 18:55:16ID:???
>>454
おい、emptyでは0もnullもいっしょw
04584532006/12/12(火) 19:08:03ID:???
すいません、勘違いしてました。
なるわけないですね。
0459nobodyさん2006/12/12(火) 19:14:38ID:???
>>458
すげぇ、おちだなwwwwwwwwwwwwwwww
0460nobodyさん2006/12/12(火) 19:14:43ID:???
混乱させた罪は重い
04614112006/12/12(火) 19:26:37ID:j1klqrWE
エラーを全表示にしたら、Fatal error: Maximum execution time of 30
というエラーが出ていて、php.iniを修正したら解決しました。
お答えくださった方々、ありがとうございました。
0462nobodyさん2006/12/12(火) 19:45:44ID:???
>>461
おつかれ。
0463nobodyさん2006/12/12(火) 22:08:04ID:???
>>458
どういうことだったん?
0464nobodyさん2006/12/12(火) 22:23:01ID:aSyT8QN3
前スレの >>883 と >>888 に関する便乗質問なんですが、
http://pc8.2ch.net/test/read.cgi/php/1164209222/888
888さんの言うとおりだとすれば、
今現在ブラウザから第三者がUPした任意のファイルをダウンロードできるサービスをやってるところは
全てブラウザによっては脆弱性をはらんでいる、
ということでしょうか?

さすがに大手ではそれはないような気がしますが、
何か回避策ってありますか?
個人的に思いついたのは、強制的に圧縮処理してからダウンロードさせる、
という方法ですが、これ以外に方法はあるでしょうか?
0465nobodyさん2006/12/12(火) 22:34:08ID:???
ある。
0466nobodyさん2006/12/12(火) 22:37:06ID:???
>>465
kwsk
0467nobodyさん2006/12/12(火) 22:48:27ID:???
>>464
あまりにも華麗に入ってきたから気づかなかったが、よく考えたら
その質問は
ス
レ
違
い。
0468nobodyさん2006/12/12(火) 22:54:08ID:???
「第三者がUPした任意のファイルをダウンロード」する時点で、
全てはダウンロードする側の自己責任。
0469nobodyさん2006/12/12(火) 23:01:51ID:???
>>468
つりですか?

>>467
俺も知りたいから教えて栗
0470nobodyさん2006/12/12(火) 23:02:59ID:???
XSS絡みでPHP使用する場合の話だから
あながち完全にスレ違いってわけでもない
0471nobodyさん2006/12/12(火) 23:16:22ID:???
>>464をスレ違いじゃないとすればApacheの設定やJavaScriptの使い方
を尋ねてくる輩まで全部世話しないといけなくなるぞ。
>>464の質問にはPHPに絡むと思われる記述はどこにもないじゃん。
0472nobodyさん2006/12/12(火) 23:42:04ID:Fq05kJcv
SESSIONって使ってますか?
自分でファイルに書き出して、セッション管理する方が
サーバーの設定に惑わされることもなくていいように感じるけど。
0473nobodyさん2006/12/13(水) 00:01:48ID:???
ぱくられたらおわり
0474ID出し忘れてました2006/12/13(水) 02:35:11ID:e6aGkkm7
サーバの引越しとかDBの調整とかスクリプトのテストとかをするときに、
アクセスしてきた人に対して一時的に「メンテナンス中」と表示するには
どうしたらいいんでしょうか? よく大手サイトなどでメンテナンスのときになってるようにしたいです。

イメージとしては、管理者(自分)だけはいつも通りサイトにアクセスできるけど、
一般の訪問者はどのページにアクセスしようとも、
mod_rewriteか何かで、メンテを知らせるページに強制ジャンプさせる…みたいな感じです。
0475nobodyさん2006/12/13(水) 03:04:57ID:???
if ($_SERVER['REMOTE_ADDR'] != "おまいのIP") {
 header('Location: メンテナンス中のページ');
 die();
}
0476nobodyさん2006/12/13(水) 04:28:27ID:e6aGkkm7
>>475
なるほど、その手がありましたか!! 意外と盲点だった・・・。

大規模サイトもそんなシンプルな手法なのでしょうか?
0477nobodyさん2006/12/13(水) 04:37:43ID:???
言っておくけど、この板に大規模サイトなんて触ったことある人はいないよ。
0478nobodyさん2006/12/13(水) 04:41:01ID:???
大規模サイトってどのくらいの規模以上のものを言うの?
yahoo並、とかいうあいまいな基準を出されても分からないから数値でよろ。
0479nobodyさん2006/12/13(水) 04:51:42ID:???
>>477
なんでいないと決め付けるの?
案外身近にいるもんだよw
0480nobodyさん2006/12/13(水) 06:02:04ID:???
>>478
少なくとも、1サイトで「ロードバランサ+Webサーバ2台+DBサーバ1台」
という構成が、大規模サイトの最低基準だと仮定すると??
0481nobodyさん2006/12/13(水) 06:17:25ID:???
>>480
その構成は金の無駄じゃね

ロードバランサなんて使わずに、DNS ラウンドロビン すりゃいいじゃん。


0482nobodyさん2006/12/13(水) 07:18:26ID:???
>>481
問題点
1.耐障害性の欠如
分散先のサーバの障害検知は原則として不可能である。
そのため、分散先のサーバのうちの1つだけがサービス不能な場合等に復旧が遅れがちである。
2.分散先サーバの通信継続性
接続ごとに接続先が違うと、接続の継続性が求められる
サーバの場合に問題が起きる可能性がある(暗号化通信など)。
3.分散先サーバの同期
分散サーバのコンテンツの内容が同一でないと、
接続に問題が起きる可能性がある(Webサーバでのリンクなど)。
4.DNSキャッシングの情報更新の際に生じる時差
5.トラフィック負荷を分散する際の予期せぬ偏り

1〜5の問題があるからロードバランサーなんだろうw
0483nobodyさん2006/12/13(水) 07:30:45ID:???
>>482
見栄を張りたいのはわかるが、「DNSラウンドロビンの意味を調べに行ったら
偶然カコイイ説明を見つけたよ!みんな聞いてよ!」という文とともに引用であ
ることくらいは書こうね^^
http://ja.wikipedia.org/wiki/DNS%E3%83%A9%E3%82%A6%E3%83%B3%E3%83%89%E3%83%AD%E3%83%93%E3%83%B3
0484nobodyさん2006/12/13(水) 07:40:39ID:???
>>477-480
今まで関わったWeb系で一番規模が大きいのは、
Webサーバー6台、DBサーバー2台、メールサーバー1台、SSL処理サーバー1台、ロードバランサー1台だった。
(大規模サイトかわからんがな。ちなみに携帯メインサイト PCサイトもあるけどあくまでも携帯中心だった)
PHPが使われてたのはPCサイトだけだったけど・・・
Perl60% Java30% PHP10%なサイトだった。最初はJavaだけだったはずが、PerlとPHPもやることに/ ,' 3 `ヽーっ

0485nobodyさん2006/12/13(水) 07:42:41ID:???
>>482
>1〜5の問題があるからロードバランサーなんだろうw
他人の文章を丸パクリしたくせに生意気なこと言える立場かよw
0486nobodyさん2006/12/13(水) 07:46:39ID:???
>>483
ちょw そうです。見栄が張りたいんですw
わざわざ検索されたんですねw
乙ですw
0487nobodyさん2006/12/13(水) 07:59:40ID:???
>>486
うわぁw こいつ完全に開き直ってますwww
>わざわざ検索されたんですねw
>乙ですw
余裕あるように見せても、お前、実際かなり恥ずかしいぞwwwww
0488nobodyさん2006/12/13(水) 08:00:48ID:???
>>485
ごめんね、刺激しちゃってw
0489nobodyさん2006/12/13(水) 08:03:04ID:???
>>488
荒れるから知ったかぶり厨は消えてね。
0490nobodyさん2006/12/13(水) 08:11:04ID:???
>>482 ┐(´ー`)┌ ぷっ
まぁ、これは槍玉に挙げられてもしょうがないわな。
0491nobodyさん2006/12/13(水) 09:59:21ID:???
お願いだから、くだらなさ、レベルの高さ、規模の大きさに関連する話題でこのスレを荒らさないでください。
0492nobodyさん2006/12/13(水) 10:10:40ID:???
別に話題としてはしてもいいけど、
煽りにいちいち反応するなよ。餓鬼じゃあるまいし。
0493nobodyさん2006/12/13(水) 11:33:34ID:teIa09dB
教えてください。

$a = array("あ",0,"い","う","え","お");
$b = array("か",7,"き","く","け","こ");
$c = array("さ",9,"し","す","せ","そ");
$d = array("た",1,"ち","つ","て","と");
$e = array("な",5,"に","ぬ","ね","の");
$f = array("は",6,"ひ","ふ","へ","ほ");

という$a〜$fの配列を、数字順に$a,$d,$e,$f,$b,$cという風に
並び替えたいのですが、スマートに書けません。
どんな書き方が負荷のかからないスマートな書き方なんでしょうか?
04944932006/12/13(水) 11:35:08ID:teIa09dB
$list = array($a,$b,$c,$d,$e,$f);
$New_list = array();
$n = 0;

while(count($list) > $n){
 if($n){
  $f = 1;
  $m = 0;
  while($f){
   $x = $list[$n][1];
   $y = $New_list[$n - $m - 1][1];
   if($x < $y){
    $New_list[$n - $m] = $New_list[$n - $m -1];
    $New_list[$n - $m - 1] = $list[$n];
    if($n == $m){ $f = 0; }
   }else{
    $f = 0;
    $New_list[$n - $m] = $list[$n];
   }
   $m++;
  }
 }else{
  $New_list[$n] = $list[$n];
 }
 
 $n++;
}
0495nobodyさん2006/12/13(水) 11:44:20ID:???
配列の2番目($a[1]〜$f[1])を配列にいれて、
sortすればいいだけでは?
0496nobodyさん2006/12/13(水) 11:53:06ID:???
>>492
使い古された論法だが、おまいもいちいち反応してるやんけ。

>>493
usort($list, cmp_arr);
function cmp_arr($a, $b) {
return $a[1] < $b[1] ? -1 : $a[1] > $b[1];
}
04974932006/12/13(水) 12:05:12ID:???
>>495>>496

すばらしく できました。
ありがとう。
0498nobodyさん2006/12/13(水) 12:06:53ID:BBaxillB
テキストファイルをfile()で配列にして、そこからE(全角)で始まる
英数字の文字列を取り出したいのですが、うまくいきません。(処理されない)

$file_array=file("$filename.txt");
for($i=0; $i < 10; $i++)
{
  $str = mb_ereg("[a-zA-Z][a-zA-Z0-9]*",$file_array[$i]);
  if($str)
  {
$gakuseki = $str;
echo "$gakuseki"<br>\n;
  }
//その他の項目
}
このような感じで、Eから始まる文字列を抜き出す処理を加えると、
何も処理されなくなってしまいまして。。。
よろしければ、お教え願いたく。
0499nobodyさん2006/12/13(水) 12:19:07ID:bSWpJk+Q
JpGraphで折れ線グラフ作ってるんですけど、
プロットに適当な文字列を表示することってできるんでしょうか?
プロットの値を表示することしかできないんでしょうか?

返答、お願いします。
0500nobodyさん2006/12/13(水) 12:30:37ID:???
>>498
$lines = new ArrayIterator(file('file.txt'));
for ($lines->rewind(); $lines->valid(); $lines->next()) {
mb_ereg("[a-zA-Z][a-zA-Z0-9]*", $lines->current(), $matches);
list($str) = $matches;
echo ($str ? $str."<br />\n" : '');
}
05014932006/12/13(水) 12:38:04ID:teIa09dB
>>496で教えていただいたものについて、

$x = 1;
usort($list, cmp_arr);
function cmp_arr($a, $b) {
 return $a[$x] < $b[$x] ? -1 : $a[$x] > $b[$x];

}

と書き換えましたが正しく動作しませんでした。
return $a[1] < $b[1] ? -1 : $a[1] > $b[1]; の数字部分は変数ではなく
数字を入れないとダメなんでしょうか?
0502nobodyさん2006/12/13(水) 12:42:54ID:???
関数の中はスコープが違うから$xは未定義だよ
05034932006/12/13(水) 12:43:48ID:teIa09dB
失礼しました。
$x = 1 を書く位置が悪いんですね・・・ すみません
0504nobodyさん2006/12/13(水) 12:52:18ID:???
三項演算子は読みにくいから使わないほうがいいよ
0505nobodyさん2006/12/13(水) 12:53:37ID:???
>>500
Iterator使うならforeachしようよ。そしてforeach使うなら、最初からただのarrayでおk。
0506nobodyさん2006/12/13(水) 14:09:34ID:???
>>484
で、構成は分かったけど、それでユーザー数とかPVとかはどれくらい?
あと1日のトラフィック量とか、そういうのが分からないと
サイトの規模が分からないでしょう。
0507nobodyさん2006/12/13(水) 14:11:45ID:???
三項演算子が読みづらいってことはないでしょ。
使いたい人は使えばいい。
0508nobodyさん2006/12/13(水) 14:16:06ID:???
クンニされたい…。
0509nobodyさん2006/12/13(水) 14:44:06ID:???
三項演算子なんて実務で使ったら上に殺される
0510nobodyさん2006/12/13(水) 14:46:56ID:???
それなら俺は殺されまくりんぐだなw
0511nobodyさん2006/12/13(水) 14:55:56ID:???
>>504, >>509
なにこいつら?たかが三項演算子くらい使いたいところで使えばいいじゃん。
三項演算子くらいで文句言うのはキモイ。

>>505
まぁ確かにOOPも理解できないお前にはIteratorは一生無縁だろうな。
0512nobodyさん2006/12/13(水) 15:04:53ID:???
質問です
php 5.1
mysql 5.0
apache 2.0
zend framework 2.0

AJAX系の非同期通信で、エラーが出たときに、画面を遷移させたいのです。

ただリクエストの戻り値の行き先を<div>タグ内にしていて、
実行すると、エラー画面が、その<div>に全部入ってしまいます
現状、 header("Location: error/index"); みたいなことしています
(zend controller無しだと、headers already sent みたいなエラーで怒られますが…)

PHP内で完結して、画面を遷移or移動させる方法って、他にありませんでしたっけ?
(JavaScript込みなら方法はあるのですが、安全性を求められている所なので使えません…)
0513nobodyさん2006/12/13(水) 15:05:26ID:???
>>511
PHPは言語自体がOOP向きじゃないから>>505みたいなカスが出てきても仕方ないと思うが。

自分が使えないからって
>ただのarrayでおk
とか言いだすのはひどすぎるけどな。
0514nobodyさん2006/12/13(水) 15:10:53ID:???
もうお舞ら可燃度高すぎw
もうちょっと冷静にいこうよ。
0515nobodyさん2006/12/13(水) 15:12:01ID:???
>>512
>・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc8.2ch.net/php/subback.html

オレはsymfony派だからZFは使ったことないが
http://framework.zend.com/manual/ja/zend.controller.rewriterouter.html
が参考になるんじゃないの?
05165152006/12/13(水) 15:18:54ID:???
こっちの方が近いか?
http://framework.zend.com/apidoc/core/Zend_Controller/Zend_Controller_Action.html#_forward
0517nobodyさん2006/12/13(水) 15:30:00ID:???
全角英数字の文字列を取り出して、半角に変換すると文字化けしてしまう
のですが。(文字列を取り出した段階では文字化けしていません)

$get_id = substr($array_id,0,16); ・・・・ex A0103360
$convert_id = mb_convert_kana($get_id,"a");

このようにして取り出した全角英数字の文字列を半角に変換したいのですが
文字化けしてしまいまして。どうすれば正常に変換されるでしょうか?


0518nobodyさん2006/12/13(水) 15:33:43ID:???
>>517
substr() -> mb_substr()にしてみて。
0519nobodyさん2006/12/13(水) 15:35:05ID:???
>515>516
ありがとう〜〜〜 516のメソッドのページは見たことありませんでした〜〜 熟読してみます〜〜



……………やっぱPHPで、ページ遷移させる方法ってのありませんでしたっけ?
05205172006/12/13(水) 15:40:10ID:???
>>518
回答どうもです。
mb_substr()にしてみましたが、文字化けがなおりませんでした。
ほかに手はないものでしょうか?
0521nobodyさん2006/12/13(水) 15:41:12ID:???
Zend_Controller_Actionクラスの_forward()というメソッドで
エラーが発生したときにエラー処理用のActionに処理を移せば
いいかと。

class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
//エラーがあったら他のActionに処理を移す
if ($error) $this->_forward('IndexController', 'errorAction');
}

public function errorAction()
{
//エラー処理
}
}
05225172006/12/13(水) 15:47:48ID:???
mb_internal_encoding を使ったら文字化けなおりました。
0523nobodyさん2006/12/13(水) 15:49:06ID:???
>>522 それはよかった。おつかれ。
0524nobodyさん2006/12/13(水) 15:59:17ID:???
書き込まれたソースは半角スペースが削除されて読みにくいので、よかった
らこれで変換してから書き込んでください。

<?php
$string = <<<END
//code
END;
$string = preg_replace('{ }', ' ', $string);
$string = preg_replace('{\t}', '    ', $string);
echo $string;

できれば誰かJavaScript版を作ってくれると使いやすくていいと
思うんだけど。
0525nobodyさん2006/12/13(水) 16:02:45ID:???
>>524
それはいいけど、preg_replaceよりstr_replaceのほうがいいんじゃね、この場合?
0526nobodyさん2006/12/13(水) 16:31:47ID:???
preg_replaceの第一パラメータは/pattern/にしないと。

preg_replace("/pattern/", "replacement", "strings");
0527nobodyさん2006/12/13(水) 16:32:05ID:???
メール送信について相談なのですが、
BCC送信のように、複数宛先を一括送信する場合は、配列にメールアドレス
を入れて、mail関数の処理をforで回すという考えでいいでしょうか?

また、特別なソフトを使わない場合、PHPでメール送信するには
mail関数やsendmailを使う以外無いのでしょうか?処理速度が心配です。
0528nobodyさん2006/12/13(水) 16:34:25ID:???
{}でもおkだけど//のほうがなじみがあるね
0529nobodyさん2006/12/13(水) 16:36:04ID:???
>515>516>521
返信ありがとうございます〜 勉強させて頂きました感謝です。

結論から言うと、
$this->_forward('IndexController', 'errorAction');
で、確かにページは出ました。 「<div>タグ」の中に;;

クライアント XMLHttpRequestを送信
↓
鯖 forwardで違うアクションのページを出力
↓
クライアント あ、戻り値?何? XMLHttpRequestでしょ? タグの中にinnerHTMLねw

戻り値が何であろうと、根こそぎjs上で指定された場所っぽいです
アクションは、途中で変わったので、正規アクションが動く前に処理できる所まで着ました。
もう少しの所まで来た気がします。

0530nobodyさん2006/12/13(水) 16:36:09ID:+OBhpWUX
2006年12月13日を2006/12/13の形にしたいのですが
どうするのが簡単でしょうか?
0531nobodyさん2006/12/13(水) 16:57:59ID:???
>>530
正規表現による置き換え
0532nobodyさん2006/12/13(水) 17:04:00ID:???
$str = "2006年12月13日";
$str = preg_replace('/年|月/', '/', $str);
$str = preg_replace('/日/', '', $str);

echo $str;
0533nobodyさん2006/12/13(水) 17:05:22ID:???
指定したディレクトリの .txt .pdf のファイルを一括して削除
したいんですけど、何か方法はないでしょうか?
0534nobodyさん2006/12/13(水) 17:25:49ID:+OBhpWUX
>>531-532
ありがとうございました。
0535nobodyさん2006/12/13(水) 17:28:41ID:???
$hoge[$num]
感覚的にこんなことがしたいのですがどうすればいいでしょうか?
$numには英数字が入っています
0536nobodyさん2006/12/13(水) 17:35:20ID:???
>>535
${"hoge".$num}

>>533
ディレクトリなめて
拡張子がそれらか比較
該当したらファイル削除
0537nobodyさん2006/12/13(水) 17:37:15ID:dNCg3wG0
$hoge["{$num}"]
0538nobodyさん2006/12/13(水) 17:41:09ID:F8GTcB6w
ttp://www.spencernetwork.org/memo/tips-5.php

を参考にwebサーバ上にあるtxtファイルをダウンロードさせたいのですが、
ダウンロードダイアログが開かず、普通にブラウザ上で中身が表示されてしまいます。
原因は何でしょうか?
0539nobodyさん2006/12/13(水) 17:42:48ID:???
ヘッダが濃厚
0540nobodyさん2006/12/13(水) 17:49:49ID:???
IEのバージョン
0541nobodyさん2006/12/13(水) 18:32:58ID:???
PHPで.aiファイルをswfやjpgに変換できるようなライブラリとかありますか?

やりたいことはアップロードされた.aiデータをswfをリアルタイム変換したいんですけど。
0542nobodyさん2006/12/13(水) 18:51:42ID:???
<?php
$url = "http://2ch.se/";;
$fp = @fsockopen($url,80,$errno,$errstr,5) or die("ゴメン無理");
print $fp;
?>

なぜか表示されません原因は何でしょうか?
05435422006/12/13(水) 19:01:39ID:???
修正
目的のURLが表示されません
0544nobodyさん2006/12/13(水) 19:02:52ID:???
>>542
http://jp2.php.net/fsockopen
0545nobodyさん2006/12/13(水) 19:11:59ID:???
接続してるだけでおk?
05465422006/12/13(水) 19:21:00ID:???
<?php
$url = "http://2ch.se/";;
$fp = @fsockopen("$url", 80, $errno, $errstr, 30) or die("ゴメン無理");
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: $url\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>

これでも無理でした
0547nobodyさん2006/12/13(水) 19:32:53ID:???
$url = "2ch.se";
05485422006/12/13(水) 19:58:14ID:???
ありがとうございます、解決しました。
05495052006/12/13(水) 21:54:09ID:???
>>500,511,513
本気で言ってるのか、ただ煽りたいだけなのか・・・
まず500のforの部分をforeach ($lines as $line)とでも書いたらどうよ。
しかもそのケースだったら、Iterator使っても意味なさすぎ。
05505422006/12/13(水) 22:06:51ID:???
たびたびすみません
>>546でページを表示したときに出る
HTTP/1.0 200 OK content-type:text/html
という表示を消したいのですが
>>546のどこをどう変えればいいのでしょうか?
0551nobodyさん2006/12/13(水) 22:14:35ID:???
>>549
三項演算子の不便さをキモイという素人なんだから放っておけ。
05525382006/12/13(水) 22:24:45ID:sfCDWF8R
>>539
kwsk
0553nobodyさん2006/12/13(水) 22:24:59ID:???
>>551
三項演算子が不便!?なにこのド素人。
お前一回くらいオープンソースで開発されてるアプリケーションの
ソース見てみろよ。自分がいかに恥ずかしいことを言ってるか気づ
くよ。
0554nobodyさん2006/12/13(水) 22:27:27ID:???
>>553
大多数が見づらい書き方を推奨するなよタコ。
どこのコーディング規約でもたいてい禁止されてる。
0555nobodyさん2006/12/13(水) 22:31:28ID:???
>>554
なるほど。それは知らなかった。
>どこのコーディング規約でもたいてい禁止されてる。
では早速、禁止されてる有名なプロジェクトあげてみてくれる?
0556nobodyさん2006/12/13(水) 22:34:38ID:???
>>554
「たいてい」と言うほど禁止されてはいないだろ。
一部では禁止してるみたいだけど、さすがに言いすぎ。
0557nobodyさん2006/12/13(水) 22:39:02ID:???
そもそも三項演算子も理解できない、読みにくいとか言うレベルの人間が参加してるプロジェクト
なんて大したことないだろ。
大口をたたいたやつは、早く三項演算子禁止のプロジェクトをあげろよ。たいていは禁止らしいか
ら山ほどあるはずだろ。
0558nobodyさん2006/12/13(水) 22:45:55ID:???
たいてい禁止ではなくてたいてい"非推奨"だな。
三項演算子なんて一般的じゃないし、可読性が大事だからね。
0559nobodyさん2006/12/13(水) 22:48:33ID:???
>>557
>そもそも三項演算子も理解できない、読みにくいとか言うレベルの人間が参加してるプロジェクト
>なんて大したことないだろ。

何言ってるんだ・・・
個人的に理解できてても、読みなれてても、
複数人がらみのプロジェクトなら
読みやすいほうを採用するに決まってるだろう・・・
0560nobodyさん2006/12/13(水) 22:48:42ID:???
>>496 の
return $a[1] < $b[1] ? -1 : $a[1] > $b[1];
                〜〜〜〜〜〜
これ何か意味あるの?
0561nobodyさん2006/12/13(水) 22:51:28ID:???
>>549
お前の言うこともわかる。たしかにforeachのほうが若干すっきりするしな。
でも、pythonとかjavaをやった人間には>>500のほうがしっくりくる気がする。
PHPにはPHPの流儀があるだろうから、それぞれ好きにやればいいんじゃないの?
0562nobodyさん2006/12/13(水) 22:54:47ID:???
>>559=>>554
決まってるのはわかったから、山ほど実例挙げてよ。
0563nobodyさん2006/12/13(水) 22:55:56ID:???
すいません、CSVから出力するときに、
順番を後ろから出力する載ってどうやったらいいでしょうか?

1〜10行までデータがあった場合、10行目から出力したいのです。
0564nobodyさん2006/12/13(水) 23:00:14ID:???
>>562
自分で調べろよ。
PGになればわかるからそういう会社入れ。
禁止っていうのは言い過ぎたかもしれんが、
よほどの事情がない限り使うなとは言われるだろう。
0565nobodyさん2006/12/13(水) 23:02:56ID:???
>>552
そのままコピペしたらいけたよ。
IEでもだめかい?
header出力するまえに何も出力ないよね?

>>550
それらの文字列なら出力しないようにすればどう?
もしくはfile_get_contents使えば?
0566nobodyさん2006/12/13(水) 23:04:43ID:2BlCBXrB
PHPのプログラムなどでよく、

送信→Now loadingの画面→送信完了ページ

のようなプログラムがありますが、これはどうやっているのでしょうか?
構造のヒントだけでもいいので、アドバイスいただければと思います。
05675562006/12/13(水) 23:06:35ID:???
>>564
>禁止っていうのは言い過ぎたかもしれん
潔いじゃん。負け惜しみを言うよりよっぽどカコイイな。
完全に見直した>>564=>>554=>>559。きつく言って悪かったな。
0568nobodyさん2006/12/13(水) 23:10:29ID:???
>>566
ロード画面は<meta http-rquiv="refresh"〜>でやれば簡単でいいよ。
0569nobodyさん2006/12/13(水) 23:18:09ID:???
>>567=オタクきもいよ
05705672006/12/13(水) 23:20:04ID:???
>>569
あ、やっぱり?
自分でもそう思ったんだけど、謝るのも礼儀かなと。
0571nobodyさん2006/12/13(水) 23:23:15ID:???
>>570 珍しいよ、お前みたいなタイプは。でも、別に悪いことではないわな。
05725662006/12/13(水) 23:35:39ID:???
>>568
出来ました!ありがとうございます。

ただ、これの場合、繰り返し処理の動作など思い処理の場合も
有効なのでしょうか?
0573nobodyさん2006/12/13(水) 23:41:15ID:???
>>572
ベンチはかって十分な時間持たせればOK
0574nobodyさん2006/12/13(水) 23:56:39ID:???
まったくお前ら良く燃えるな。
0575nobodyさん2006/12/13(水) 23:57:08ID:???
冬だからあったかくていいぜ?
0576nobodyさん2006/12/14(木) 00:00:58ID:???
>>575
いや本人たちはいいかも知れんが、見てる分には
ちっとも暖まらんぞw
0577nobodyさん2006/12/14(木) 00:07:49ID:???
最後のともしびだから、優しく見守ってね
0578nobodyさん2006/12/14(木) 00:18:53ID:???
>>561
ん?PHPのIteratorはforeachでまわせるってことだよ。
Iteratorの5つのメソッドを明示的に呼び出す必要はないの。
明示的に呼び出すのは、イテレーションの途中で中断してもう一回再開したり、細かいことをするために使う面もあるが、Webサイトの構築でそんなシチュエーションには残念ながら出会ったことはない。
通常はforeachを用いておけば、rewindやcurrentなど、>>500と全く同じ順序で自動的に呼び出される。
pythonやjavaをやっていると>>500がしっくり来るってのは、よーわからんな。
C++のSTLと比較するなら、しっくりくるってのもまだわかるけど。
0579nobodyさん2006/12/14(木) 00:23:44ID:???
>>578
javaには拡張for文もあるし、Iteratorに拘る必要もない
0580nobodyさん2006/12/14(木) 00:35:34ID:???
まぁ、扱いなれた構文で書きたいというのも分かるし、
PHPは似たような関数を各種取り揃えてる辺りからも
そういったニーズに応えようとしてるわけだから、
「PHPの構文にある限りは好きなの使えばよろしい」
でFAなんでないの?
PHPならこの書き方!みたいのはそんなに無いと思う。
(大抵は制約くらいでしかそんな場面にならない)
0581nobodyさん2006/12/14(木) 00:43:01ID:???
>>579
それ俺が知らないと思って言ってるの?何を主張したいのか全然わからないんだけど・・・。
javaの拡張for文もやっていることはイテレーション(リスト状の構造を順番に走査)なわけで。
むしろ拡張for文(=構文糖)を使うってのは、PHPでいうとfor ($lines->rewind();・・・のかわりにforeach ($lines・・・を構文糖として使うことと方向が同じじゃないか。

>>580
いや、言いたいことはわかるけど、そもそも>>500で無意味にIteratorを持ち出している点、foreachで書けるものを無意味&煩雑なfor文に展開している点などは、俺的につっこみどころなんだが。
そもそも俺の経験上、PHPのIterator自体お勧めしないものの一つだしな。
0582nobodyさん2006/12/14(木) 00:51:48ID:6QjdxOSQ
PHPのスクリプトを組んでいるのですが、分からない点がありましたので質問させてください。

変数に文字列を格納していて、その中から特定の文字を2箇所見つけて
その間にある文字列を取り出したいのですが、どのように記述したらよいのでしょうか?

nfai_usdgvga_jgmandfak_flahogek_glangol_ialgkka

のアンダーバーから次のアンダーバーの間を取り出し、その中にhogeが含まれる時に、
別の変数に取り出すということをしたいです。

突然の質問で、大変申し訳ありませんが何卒よろしくお願い致します。
0583nobodyさん2006/12/14(木) 00:56:35ID:???
explodeして、それをforeachでループして、ループの中でstrposしてfalseじゃなかったら変数に入れればいい
0584nobodyさん2006/12/14(木) 00:57:31ID:???
>>582
explode()
0585nobodyさん2006/12/14(木) 01:06:07ID:6QjdxOSQ
ありがとうございました。アドバイスを参考に続けたいと思います。
0586nobodyさん2006/12/14(木) 02:09:24ID:???
こう、スレを見返してみると、文字列系の質問が多いな

大体、explode, implode, array_search, array_shift, foreach, eregとかで、答えが出る感じに思う。
と、徹夜中のリーマンより。
0587nobodyさん2006/12/14(木) 04:08:49ID:???
文字列系の関数と配列系の関数は、全部憶えておいて損はないよな。
0588nobodyさん2006/12/14(木) 10:09:59ID:???
覚える必要はないけどなw
一度、全部読んでおくだけで十分
0589nobodyさん2006/12/14(木) 10:22:37ID:???
よく使うやつとか、こういうのがあったなぁぐらいでいいね。
あとはリファレンスを見ればいいし。
05905002006/12/14(木) 10:38:40ID:???
>>581
オレが変な書き方をしたせいで迷惑をかけてるようで申し訳ないです。
あとから拡張とか変更が楽かな?と思って、ついくせでIteratorを使ってし
まいました。でも、みなさんの書き込みを読んでるとその必要も無さそうな
のでこれからはforeachでまわすことにしようと思います。

煽りの原因をつくってしまってすいません。
0591nobodyさん2006/12/14(木) 10:41:27ID:???
すみません、質問させてください。

たとえばループ処理系の構文(for等)は、
breakでループを抜けさせることができるようですが、
if構文内で、処理を途中でも抜けさせるような関数はありますか?
0592nobodyさん2006/12/14(木) 10:58:49ID:???
無いんじゃないの
0593nobodyさん2006/12/14(木) 10:58:53ID:???
>>591
ないよ。なぜなら必要性がないから。
処理させたくないなら、単にif文をネストして処理する条件を
増やしていけばいい。

if ($a) {
 if ($b) //ここで$bがfalseならbreak;したのと同じになる
 {}
 //もちろん$bの評価にかかわらずここは実行されるけど、それは
 //書き方を工夫するしかない。
}
05945912006/12/14(木) 11:07:47ID:gRu0cvf6
>>592-593

トンクス!
あぁ、なるほど。
若干書き方を変えるだけでどうにもなりますものね。
1個勉強になりました、ありがとうございます!
0595nobodyさん2006/12/14(木) 11:13:10ID:???
複数の入力値があって、
全て入力されているかどうかのチェックが入っています。
入力してなかった箇所は入力してくださいと出すのですが、
送信した際、入力してた方の値もリセットされるので、
inputのvalue属性に入力した値を入れて、入力を保持した感じにしているのですが、
入力値がバックスラッシュ(\)だった場合、
なぜかバックスラッシュが2倍の数になって値に入っているようです。
これは何が原因なのでしょうか?
0596nobodyさん2006/12/14(木) 11:17:50ID:???
>>595
magic_quotes_gpcの設定じゃないかな。
0597nobodyさん2006/12/14(木) 12:39:41ID:???
配列におけるforeachのように、文字列を一文字ずつ取り出す関数や構文はありませんか?
0598nobodyさん2006/12/14(木) 13:05:13ID:???
upローダー作ってますが、
phpのみでフォルダごとアップロードするのって不可能でしょうか?
javaアプレットあたりとからめる方法しか思いつかないですが・・。
0599nobodyさん2006/12/14(木) 13:22:58ID:???
>>598
それはブラウザ側の問題なのでPHPの処理では無理
input=fileの制限上無理

ありえるとすればzipを鯖で解凍してディレクトリ生成後その中に展開
0600nobodyさん2006/12/14(木) 13:44:49ID:???
>>598
単一のクライアントならクライアントのほうにFTPDを立てて、
サーバーからFTP接続してダウンロードさせるってのもトリッキーながら出来る。
0601nobodyさん2006/12/14(木) 16:53:49ID:???
mysqlをやってみようと思ってますが、初めからpear等を使うより
関数を使って処理した方が覚えるにはいいですか?
0602nobodyさん2006/12/14(木) 17:04:32ID:???
>>601
うん
0603nobodyさん2006/12/14(木) 17:16:12ID:???
>>597
for($i = 0; $i <= strlen($str); $i++) { echo substr($str, $i); }
とか。
0604nobodyさん2006/12/14(木) 17:18:55ID:???
>>603
せめてmb_strlenとmb_substr使おうぜ
0605nobodyさん2006/12/14(木) 17:30:18ID:???
>>602
�d
0606nobodyさん2006/12/14(木) 18:32:11ID:???
mbなんてトラブルの元はインスコしてないよ
0607nobodyさん2006/12/14(木) 18:36:32ID:???
>>606
       ____
     /⌒  ⌒\ ホジホジ
   /( ●)  (●)\
  /::::::⌒(__人__)⌒::::: \  <で?マルチバイトの文字数える時はどうやるのかな?
  |    mj |ー'´      |
  \  〈__ノ       /
    ノ  ノ

0608nobodyさん2006/12/14(木) 18:41:40ID:???
>>606
バイナリで判断してなんていわないでくれよw
0609nobodyさん2006/12/14(木) 20:25:40ID:???
マニュアル読んでると、
new XXXみたいにしてから使う関数とかもあるのですが、
これは普通の関数とは何が違うのでしょうか?
0610nobodyさん2006/12/14(木) 21:08:15ID:IgfNuu2k
ファイルの内容を配列に読み込んで、ある行のデータのみ削除し、
またファイルに書き込みたいのですが、流れがわかりません。
現在のやりかたは、
1.file関数でファイルAを配列に読み込む
2.不必要なデータをunset関数で配列から削除
3.削除した後の配列をファイルBに書き込む
4.ファイルAをunlink関数で削除し、ファイルBの名前をrename関数でファイルAにする
というやり方を行っていますが、もっと効率の良いやり方がありましたらご教授お願いいたします。
【テキストファイルの内容】
一行目:あか
二行目:きいろ
三行目:ぴんく
四行目:むらさき
0611nobodyさん2006/12/14(木) 21:22:24ID:???
>>609
それは関数ではなくクラス
0612nobodyさん2006/12/14(木) 21:25:01ID:???
適当な変数にファイル内容を1行ずつ読み込みながら流し込んでいく
要らない部分は流さない。
最後までいって変数の内容を元のファイルに上書き。

じゃだめなのか?
0613nobodyさん2006/12/14(木) 21:26:23ID:???
>>610
$lines = file($filename);
//ここで余分な行削除
file_put_contents($filename, implode('', $lines));
// もしくは$fp = fopen($filename, 'w'); fwrite($fp, implode('', $lines)); fclose($fp);
0614nobodyさん2006/12/14(木) 21:34:16ID:???
>>601
PEARとかADOとか不要。
特に一人で趣味的に開発してるんなら、わざわざ抽象化する意味ナシ。
06156102006/12/14(木) 21:52:13ID:IgfNuu2k
>>612さん>>613さんアドバイスありがとうございます。
php4と互換性もたせるために>>613さんの後者の記述を拝借させていただきましたが、
implodeがないとファイルへの書込みがおかしくなってしまいます。
fwriteは複数行のデータ(多次元配列ですかね?)は書き込めないんですね。
0616nobodyさん2006/12/14(木) 21:58:32ID:???
>>615
fwriteの第2引数は文字列だと、マニュアルに書いてある。
0617nobodyさん2006/12/14(木) 22:00:03ID:???
>>615
まぁ、なんだ、、、やりたい事を手持ちの機能を使って組み上げていくのがプログラマの仕事だ
06185632006/12/14(木) 22:52:19ID:???
>>563
すいません、どなたかお願いします
0619nobodyさん2006/12/14(木) 22:54:54ID:???
>>563
rsort
0620nobodyさん2006/12/14(木) 23:01:36ID:???
今年のクリスマスの予定はありますか?
0621nobodyさん2006/12/14(木) 23:06:40ID:???
phpでツリーを作ります
0622nobodyさん2006/12/14(木) 23:12:27ID:???
教室でセクロスします。
見つかったら停学だがそのスリルがいい。
0623nobodyさん2006/12/14(木) 23:16:39ID:???
昔実際にセクロスで停学になった俺様が来ましたよ。
0624272006/12/14(木) 23:33:48ID:???
誰かおねがいします。
0625nobodyさん2006/12/14(木) 23:40:37ID:???
>>27
まずコンソールからmysqlのコマンド叩いて更新されるか確認したらいいよ。
つーか、エスケープはちゃんとできてるわけ?
0626nobodyさん2006/12/15(金) 00:13:14ID:0FUvK34I
stream_set_write_bufferってfwriteの前に使用することが推奨されてますか?
0627nobodyさん2006/12/15(金) 00:29:42ID:???
>>626
このスレでまともな回答が得られるかどうか
世の中は間違いだらけだ

http://ya.maya.st/web/RTFM.html
0628nobodyさん2006/12/15(金) 00:45:12ID:???
>>624
mysql_query( 〜 ) or die(mysql_error();
でエラーでないか確認してみれ。

あと俺は確実に
mysql_query("update table_$t set col_$r = '".$q."' where col_1 = '".$max2."'");
な感じに書いてるよ、めんどいけどね
0629nobodyさん2006/12/15(金) 01:00:11ID:???
>>627
宣伝乙
0630nobodyさん2006/12/15(金) 01:16:05ID:???
つーか、PDO使ったら、エスケープも楽にできるのに。
ほとんどPHPでDB扱う際の標準みたいな立場になりつつあるわけだし。
0631nobodyさん2006/12/15(金) 03:49:30ID:yi07hMf9
emacs使ってる人に質問だけど、php-modeよりいいのってある?
0632nobodyさん2006/12/15(金) 08:50:30ID:???
PDOって何ですか
0633nobodyさん2006/12/15(金) 09:20:41ID:???
>>632
PEAR::DBの方は知ってるかな?あれはご存知のとおりPHPで書かれている
ため、普通にPHP上のAPIを使って接続してるだけ。PDOはCで書かれている
のでよりネイティブに近い接続をするから速度も速い。
また、PHP5なら例外処理もやりやすいというメリットもある。
ただ、モジュールインストールになるから対応していないサーバーも多い。
0634nobodyさん2006/12/15(金) 09:56:54ID:VrTEtYOe
多重配列のnullの要素を取り除いて配列に再度格納したいのですが、うまく
いきません。

$array[0][0] =PC $array[0][1] =IP $array[0][2] =null
$array[1][0] =ADSL $array[1][1] =TCP $array[1][2] =UDP $array[1][3] =null
この配列からnullの部分を除いて

$array[0][0] =PC $array[0][1] =IP
$array[1][0] =ADSL $array[1][1] =TCP $array[1][2] =UDP
このようにしたいのですが、どう記述すればよろしいでしょうか?
0635nobodyさん2006/12/15(金) 10:30:37ID:???
どうやってみて、うまくいかないと言ってるかを書けば?
06363892006/12/15(金) 10:39:28ID:???
phpでXML形式のファイルを出力したいのですが、うまくいきません。

phpで動的(ブラウザでアクセスがあるたびに生成する)にXML形式のテキストを出力しているのですが、
これをRSSリーダで読み込もうとしても
「登録可能なフィードが見つかりません」と うまくいきません。
出力しているテキストの形式は完全にXML形式になっているのですが、
(ブラウザでソースを見ても完全に期待するXMLファイルと同じ、しかしxmlファイルを表示するときのようにはならない)

phpでRSSフィードをXML形式で出力しようとするためには何か必要なことがあるのでしょうか?

06376342006/12/15(金) 10:43:38ID:VrTEtYOe
>>635
そうですね。

//nullの部分を除外して多重配列を再構成//
$other_array   //多重配列
$arr_word =array();

foreach($other_array as $val=> $arrValue)
{
foreach($arrValue as $val2=> $strValue)
{
if($strValue == '')
{
break;
}
else
{
array_push($arr_word,$strValue);
}
}
}
このようにしてみたのですが、nullは除外されても多重配列にはなって
おらず、ひとつの配列に要素が全て連結された状態になってしまいます。
どうか正しい記述をお教えいただきたいのですが。
0638nobodyさん2006/12/15(金) 11:02:00ID:???
>>636
ソース出せ
06393892006/12/15(金) 11:17:47ID:???
こういう風です。


<?
print "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
print "<rss version=\"2.0\">\n";
print "<channel>\n";
?>


<title>title</title>
<link>http://www.site/<;/link>
<description>description</description>
<language>ja</language>
<copyright>Copyright</copyright>
<pubDate>Fri, 15 Dec 2006 06:00:00 +0900</pubDate>

<item>
<title>item title</title>
<link>http://www.site/001.html<;/link>
<description>item description</description>
</item>

<?
print "</channel>\n";
print "</rss>\n";
?>
0640nobodyさん2006/12/15(金) 11:27:31ID:???
HTML_QuickFormでcheckboxを生成する際
結果を以下のように配列に値が入るように生成したいのですが
どうすればよいでしょうか。

<input type="checkbox" value="1" name="hoge[]"><label>a</label>
<input type="checkbox" value="2" name="hoge[]"><label>b</label>
<input type="checkbox" value="3" name="hoge[]"><label>c</label>
<input type="checkbox" value="4" name="hoge[]"><label>d</label>
0641nobodyさん2006/12/15(金) 11:27:31ID:???
>>693
ソースの一番先頭にheader関数でxml用のヘッダ出すと解決しそうな予感。
06426412006/12/15(金) 11:29:19ID:???
ごめ、アンカーは639の間違い。
具体的なソースは以下。
header( 'Content-type: text/xml' );
0643nobodyさん2006/12/15(金) 11:42:27ID:???
>>639
そのソースだけならphp使う意味ないような。

こちらの関数も調べてみるといい。
SimpleXML関数 DOM XML関数 xmlwriter関数
0644nobodyさん2006/12/15(金) 12:44:35ID:???
未来の>>693に嫉妬さげ
0645nobodyさん2006/12/15(金) 14:10:30ID:???
質問させてください。

PHPで掲示板を作ってます
HTMLタグを無効化するにはどうしたらいいでしょうか?
htmlspecialcharsを使うと、? ←この文字が?になってしまいます。
よろしくお願いします。
06466452006/12/15(金) 14:13:26ID:???
あ、2chには書き込みできなかったorz
上の?は
&#12316;←半角です。
よろしくお願いします。
0647nobodyさん2006/12/15(金) 14:14:46ID:???
まぁ、そりゃそうだろな。&は&amp;になるから。
<と>だけを置換するようにしたらいいんでないかね。
0648nobodyさん2006/12/15(金) 14:24:15ID:???
>>639
curlなりでレスポンスヘッダ見て、MIMEがXMLになってるか確認してみれ
0649nobodyさん2006/12/15(金) 14:34:08ID:???
>>645
>>674の方法以外にも、htmlspecialcharsをしてから、
特定のものだけ(この場合だと?)を置き換え。
06506452006/12/15(金) 14:43:00ID:???
>>647>>649
ありがとうございます
<と>だけを置換するだけでいいんですかね?
htmlspecialcharsの意味がよくわからない^^;
どういうときに使うんだろう・・・
0651nobodyさん2006/12/15(金) 14:46:36ID:???
>>650
そもそも&#〜ってのがすでにHTMLエスケープ処理済みの表記だということは理解してる?
エスケープ済み表記をエスケープしたらそりゃおかしくなるという話。
06526452006/12/15(金) 14:47:46ID:???
ちなみに
特定のものだけ置換しないで、
全部の文字を普通に表示させたいです。
(2chみたいに特殊文字が?になるのは嫌なので)

となるとやはり<と>だけを置換ですよね
<と>だけを置換だと、危険なこととかないのかな?
0653nobodyさん2006/12/15(金) 14:50:43ID:???
あとダブルコーテーションとかシングルコーテーションも危険やねぇ。
0654nobodyさん2006/12/15(金) 14:54:42ID:zjrdLe6P
質問させて下さい。
バイナリをbin2hexで16進数に変換したあと、それをまたバイナリに戻す事は可能でしょうか?
色々みたけど見当たらない・・・packっていうのがそれっぽかったけど、使い方がよく分からない。

識者の方、ご指導よろしくお願いします
0655nobodyさん2006/12/15(金) 14:55:38ID:???
>>652
1)痴漢したくないものだけ、htmlspecialcharsに影響されなず、
 一般的に使われる事の無いような特殊文字列に痴漢

2)htmlspecialchars 実行

3)特殊文字列を元に戻す
0656軟式PHP2006/12/15(金) 14:59:05ID:???
>>654
そのpackでできるよ。
<?php
$str = 'その通り';
$hex = bin2hex( $str );
print 'Hex:' .$hex . '<BR>';
$bin = pack("H*",$hex);
print 'bin:' . $bin . '<BR>';
?>
0657nobodyさん2006/12/15(金) 15:04:06ID:zjrdLe6P
>656
おおー!
素晴らしい!
"H*"ってのを指定したらいいのか。
色んなオプション突っ込んで途方にくれてたところですw

ありがとうございました。
06586452006/12/15(金) 15:05:16ID:???
掲示板で特殊文字も普通に表示させる方法としては

1.<と>だけを置換
2.ダブルコーテーションとシングルコーテーションを置換
3.trim
4.mb_convert_kana

これくらいでいいのでしょうかね?
0659nobodyさん2006/12/15(金) 16:22:41ID:???
ユニコードのことをいってるのか?
0660nobodyさん2006/12/15(金) 16:46:31ID:9BwOCrLJ
都道府県フォームつくってて、
都道府県を選択後、自動で選択した都道府県の市区郡がselectできるよう(表示される)
ようにしたいのですが、どうすればいいんでしょう?

0661nobodyさん2006/12/15(金) 16:53:39ID:qvbJOa4k
あああああ
06626452006/12/15(金) 16:58:17ID:???
ユニコードのこと?
えーと。(ユニコードは使いません)
掲示板などで、投稿された文字をそのままアップじゃやばいですよね。
だから、何か処理をしなければいけない。ってことはわかりますが
その処理は、>>658に書いた4つの処理でいいのでしょうかね?
0663nobodyさん2006/12/15(金) 17:29:08ID:???
メールにcsvデータを圧縮したファイルを添付しようとしています。
以下のコードでサーバー上に圧縮ファイルは出来上がり、このファイルをFTPでDLして中身を見てみると、確かに圧縮されています。

メールにもファイルは添付されてきます。しかしファイル名は hogehoge.gz ですが、中身も容量も圧縮前のcsvデータそのままになってしまいます。

base64にエンコードする際に圧縮ファイルの中身の文字列を圧縮されたままエンコードしているつもりなのですが、
どうやらcsvデータをそのまんまエンコードしてしまっているように思われます。
正しくエンコードしてやるにはどのように書いたらいいのでしょうか??

0664nobodyさん2006/12/15(金) 17:33:15ID:???
以下、コードです。

//■■取得したデータ($getdata)から圧縮ファイルを生成

//圧縮ファイルのオープン
$filename = mb_encode_mimeheader("hogehoge").".gz";
$fp = gzopen($filename,'w');
//圧縮ファイルに書きこみ
gzwrite($fp,$getdata);
gzclose($fp);
//圧縮ファイルのオープン
$fp = gzopen($filename,'r');
//圧縮ファイルの読みこみ
do {
$data = gzread($fp, 10000);//←�@ gzread で解凍せずに読み込んでるつもり
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while(true);
gzclose($fp);

//エンコード
$f_encoded = chunk_split(base64_encode($contents));  //←�A エンコードしてるつもり 

//body文字列の生成(添付部分)
$body .= "\n\n--$boundary\n";
$body .= "Content-Type: application/zip; name=\"$filename\"\n";
$body .= "Content-Transfer-Encoding: base64\n";
$body .= "Content-Disposition: attachment; filename=\"$filename\"\n";
$body .= "$f_encoded\n";
$body .= "\n\n--$boundary--\n";
0665nobodyさん2006/12/15(金) 17:40:52ID:???
圧縮ファイルをオープンしたら、そりゃ解凍された結果が読めるわなw
どうして普通に読まないんだよ。
0666nobodyさん2006/12/15(金) 17:48:23ID:???
やや??もしかして

//エンコード
$f_encoded = chunk_split(base64_encode($filename));

でいいんでしょうか?? 

0667nobodyさん2006/12/15(金) 17:49:51ID:???
//圧縮ファイルのオープン
$fp = gzopen($filename,'r');

これがだめぽ
06686642006/12/15(金) 17:52:09ID:???
自己レスれす。

>>666 これじゃファイル名1行こっきりのファイルになっちまいました。
0669nobodyさん2006/12/15(金) 17:53:33ID:???
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
0670nobodyさん2006/12/15(金) 17:55:41ID:o16g8Qpy
>>669 ごめんなさい。sageるクセが付いてまして失礼しました。
0671nobodyさん2006/12/15(金) 18:09:59ID:???
なかなかユニークな輩だな。
そろそろ"gz"で読むのがまずいことに気付いたかな?
06726452006/12/15(金) 18:10:22ID:???
あの〜
僕の質問よろしくお願いします。
0673nobodyさん2006/12/15(金) 18:12:51ID:???
>>672
もう色々教えてもらったんだからそれで動かしてみて問題があればそこを直せばいいじゃん。
XSSは大抵防げるだろうけど、CSRF、DB使ってるならSQLインジェクションやら
考えることは山ほどあるんだ。ってことで勉強しつつ作ってくれ。
0674nobodyさん2006/12/15(金) 18:15:09ID:???
君のは、すでに答え出てるじゃん。

それに入力の検査自体が別にphp固有の問題じゃないし。
0675nobodyさん2006/12/15(金) 18:17:34ID:???
>>671 死ぬほどありがとう。感涙にむせび泣いてます。
0676nobodyさん2006/12/15(金) 18:18:08ID:o16g8Qpy
しまった。また下げてしまった(泣)
0677nobodyさん2006/12/15(金) 19:31:24ID:???
PHP暗号化ツール コードロック
ttp://www.777777.net/magmag/codelock.php
の評価を教えてけれ
ワシの高級PHPソースを見られたくないのです。
レンタル鯖なので、Zend系とかサーバにインストールする系は
無理なのでございます。
0678nobodyさん2006/12/15(金) 19:36:26ID:???
高級なソースかけるなら評価自分ででき・・・・
0679nobodyさん2006/12/15(金) 19:37:32ID:???
>>677
高級PHPソースの割にはこのスレに質問しにくるとはアホなのか。
なんか、ereg関数とか使ってそうだなwww
0680PHP出版2006/12/15(金) 19:46:44ID:???
bcompiler使えでFA
0681nobodyさん2006/12/15(金) 21:28:41ID:???
ereg関数つかっちゃいけないすかwwwwwww

馬鹿ですねwwww
0682nobodyさん2006/12/15(金) 21:49:55ID:Xtqi0V4I
どうでもいい煽りはいらね。
0683nobodyさん2006/12/15(金) 22:06:28ID:g5A+TTGd
俺もereg使うけど>>679は何を使ってるの?
0684nobodyさん2006/12/15(金) 22:13:36ID:???
erege
0685nobodyさん2006/12/15(金) 23:15:32ID:???
高級ソースをキャベツにかけてくえってことだよ。
0686nobodyさん2006/12/16(土) 01:07:59ID:???
>>681=>>482=知ったかぶり厨=消えろ

ereg関数は別に使ってもいいけど、ereg関数にマルチバイト文字列を含む
パターンを使ってるのを見ると「あぁ、こいつは経験が浅いな」と思う。

ereg('[あ-んア-ン]', $string)
こういうの、なんか気持ち悪い。
0687nobodyさん2006/12/16(土) 01:18:20ID:???
>>686
>ereg('[あ-んア-ン]', $string)
この場合「こういうの、なんかいやらしい。」が正解だろ?
0688nobodyさん2006/12/16(土) 01:26:19ID:???
>>687
激しく同意だ。ちくしょうめ。
0689nobodyさん2006/12/16(土) 01:44:07ID:???
>>677
つーか、よくそんな怪しいソフトを使う気になるねぇ。
他にいくらでも有名なソフトあるのに。

もしかして「本人宣伝乙」ってヤツ?www
0690nobodyさん2006/12/16(土) 02:01:13ID:kvjqtHVC
b_使えってことでFA?

でもなぜか俺は文字数数える仕事ってないんだよね。バイト数を数えるのは多いんだけど
06916902006/12/16(土) 02:01:45ID:???
すまん mb_ ね
0692nobodyさん2006/12/16(土) 02:09:11ID:???
>>677
ヘボカス初心者がやらかす三大意味不明行為(ウェブ開発編)
1.「JavaScriptによる右クリック禁止」
2.「HTMLソース表示妨害(無駄な努力)」
3.「自分の書いたしょぼいコードをやたら大事にして隠したがる」

てめえの書いたしょぼいコードなんか、誰も見たがったりしねぇよ。
宣伝目的ならスレ違いだから消えな。
0693nobodyさん2006/12/16(土) 03:00:30ID:???
PHP4.4.3のレンタルサーバーで下記のプログラムをテストしています。
結果がどうしても同じにならないのですがなぜでしょうか?

<?php

$a = 300.10;
$b = 0.10;

$a_b_sum = $a + $b;
var_dump ($a_b_sum); // float(300.2)

$c = 300.20;
var_dump ($c); // float(300.2)


if( $a_b_sum > $c) {
echo "NG"; // こっち
} else {
echo 'OK';
}

if(300.2 > 300.2) {
echo 'NG';
} else {
echo 'OK'; // こっち
}

?>
0694nobodyさん2006/12/16(土) 03:13:46ID:???
floatだからですぅ。
文句があるなら下駄でも履かせやがれこんちくしょーっ!
0695nobodyさん2006/12/16(土) 05:26:57ID:???
>>693
http://jp.php.net/manual/ja/language.types.float.php

$a_b_sum = $a + $b;
↓
$a_b_sum = bcadd($a, $b);
するとOKOK
(BCMathはWinか--enable-bcmathコンパイル必要)
0696nobodyさん2006/12/16(土) 07:31:58ID:HXTFaSG2
PDF 作成関数で位置やサイズを指定する数値の単位は何ですか?
0697nobodyさん2006/12/16(土) 10:45:33ID:???
>>686
俺もereg関数でマルチバイト文字使ってるんだけど駄目なのか・・・
別の関数を使ったほうがいいんでしょうか?

素人ですまんが教えてください。
0698nobodyさん2006/12/16(土) 10:58:59ID:???
マジ素人でスマソ。

そう言うわけで教えて欲しいのですが、
xxx.php?page=10&block_num=girl_list
のような?の後に続くのは、どう言う意味なんでしょうか?

なにぶんPHPと言うモノを知ったのが、今日なんでサッパリわかりません。
0699nobodyさん2006/12/16(土) 11:08:54ID:???
>>697
Perl互換正規表現関数。

>>698
ワンクリ詐欺にでも遭遇したのか?引数が意味深だな。
0700nobodyさん2006/12/16(土) 11:12:36ID:???
>>689
まぁ、たぶんアレだ・・・
女の子リストの10ページ目を見ていたわけだ…

女の子リスト…
0701nobodyさん2006/12/16(土) 11:13:52ID:???
>>696
ピクセルじゃなかったっけ?

>>700
女の子リスト・・どこぞの出会い系かアダルトサイトか?w
07026992006/12/16(土) 11:16:56ID:???
>>701
お舞もそう思うだろ!?いかがわしいサイトにアクセスしている
疑いが強い。
0703nobodyさん2006/12/16(土) 11:24:51ID:???
>>699 ありがとです。

>>698
girl_listワロタ・・

それはPHPというよりHTMLの内容じゃまいか?
0704nobodyさん2006/12/16(土) 11:25:17ID:???
698だけど

見てたのは確かにアダルトなんですが、普通のURLってxxx.phpてな感じで終わるじゃ〜ないですか。
疑問は、この?page=10&block_num=girl_listの部分なんです。なんの為に、こんなのがひっついているのですか?

なんの為に、こんなのがあるのか興味があるんです。
0705nobodyさん2006/12/16(土) 11:38:52ID:???
>>704
やぱっりそうなのかよww まぁ、こうもあっさり認められると
これ以上つっこみようもないが。

?以降は(この場合)PHPプログラムに情報を渡すために使われるんだよ。
例えばblock_numの値に応じてページの内容を変えることができる。
block_num=girl_listならお前の好きな女の子のページが表示されるだ
ろうし、block_num=boy_listなら(開発者がページを用意してれば)男だ
らけのページが表示されるかもな(キモすぎる...)。

page=10をpage=11とかpage=09にすると違うページが表示されるかもな。
そのへんは自分で?のついたURLをいろいろいじくってるとなんとなく実感
がわいてくるんじゃない?
0706nobodyさん2006/12/16(土) 11:41:35ID:???
普通はxxx.phpで終るけど
?page=10&block_num=girl_listが付いてると不安になるの?
その辺を聞きたい。
0707nobodyさん2006/12/16(土) 11:43:55ID:???
そうなんですか。早速イジってみます。ありが�d
0708nobodyさん2006/12/16(土) 11:47:28ID:???
>>706

別に不安にはならないけど、なんの為にあるんだろ?って気になったんです。
0709nobodyさん2006/12/16(土) 11:53:19ID:???
>>708
君のレスの、
「って気になったんです。」
も気になるよ。
0710nobodyさん2006/12/16(土) 11:59:32ID:???
なんで>>709は
>君のレスの、
>「って気になったんです。」
>も気になるよ。
と、下らなすぎるレスをしてしまったんだろ?って気になったんです。
0711nobodyさん2006/12/16(土) 12:03:34ID:???
>>698が何歳なのか気になりました

大人にしては質問が子供すぎる
子供にしては見てるサイトが…
0712nobodyさん2006/12/16(土) 12:08:27ID:???
そろそろ誰かがまともな質問をしないと、スレが変な方向へ進む予感。
07136452006/12/16(土) 13:03:42ID:???
>>645です。
結論として
掲示板に投稿されたデータは
特殊文字を表示させたいならhtmlspecialcharsは使わない
<と>と'と"を置換する。
以上でよろしいのでしょうか?
0714nobodyさん2006/12/16(土) 13:35:16ID:???
携帯電話用のホームページで、imode用・au用・softbank用と個別にサイトを作り、一ヶ所を更新すれば全キャリアで更新ができるような、そんなモノはPHPで作れますか?
0715nobodyさん2006/12/16(土) 13:42:21ID:M68Se3i9
>>714
おまい次第
0716nobodyさん2006/12/16(土) 13:42:43ID:???
テンプレみたいなの作ってそれを各キャリア用のページに読ませるようにすればどうよ?
0717nobodyさん2006/12/16(土) 13:55:25ID:???
$array['jp'] = "日本";
$array['usa'] = "アメリカ";
$array['uk'] = "イギリス";
から
jp = 日本, usa = アメリカ, uk = イギリス
という文字列を表示させたいのですが、
何か簡単な関数はあるでしょうか?
0718nobodyさん2006/12/16(土) 14:07:09ID:???
foreach ($array as $key => $value)
echo $key.' = '.$value.', ';
0719nobodyさん2006/12/16(土) 14:47:41ID:???
print_r
0720nobodyさん2006/12/16(土) 15:09:26ID:???
>>713
危ないやり方だな。
フェイルセーフを考慮するなら、「まずはエスケープする」べし。
お前の考え方は「まずはエスケープしない」になっている。
0721nobodyさん2006/12/16(土) 15:20:39ID:???
フェイルセーフって何ですか?
0722nobodyさん2006/12/16(土) 16:12:02ID:???
レンタルブログの更新を文字列で抽出して
題名、URL、記事をHTML形式で出力したいんですが、どうすればいいですか?
0723nobodyさん2006/12/16(土) 16:49:47ID:???
RSSよめよww
07247222006/12/16(土) 16:55:08ID:???
>>723
私ですか?
0725nobodyさん2006/12/16(土) 16:57:32ID:???
そうだな
07267132006/12/16(土) 17:41:32ID:???
>>720
<と>と'と"を置換するだけじゃ危険なのですか?
0727nobodyさん2006/12/16(土) 17:51:14ID:???
>>721、>>726
まずフェイルセーフの概念をよく理解しろ。用語の意味くらい自分でググれ。
で、その概念をシステム制作に当てはめて考えろ。
そしたら>>713のやり方がいかに危なっかしいかが分かる。

重要なのは「優先順位」だ。どんな処理を優先させるのか。
安全対策に万が一「抜け・ミス」があったときにでも危険を防ぐにはどうしたらいいのか。
よく考えろ。考えても分からなければ、危険なので難しいことはやろうとするな。
0728nobodyさん2006/12/16(土) 17:54:20ID:???
>>726
っていうかお前さ、>>720をよく読めよチンカス。
せっかく重要な答えをズバリ書いてやってんのにそれを無視して、
「<と>と'と"を置換するだけじゃ危険なのですか?」などと的外れな質問を繰り返しやがって。

何をエスケープするかじゃねぇんだよ。どのように、どの順番でエスケープするかが大事なんだよ。
0729nobodyさん2006/12/16(土) 18:03:48ID:???
>>727

721だけど、意味自分で調べた。サンクス!一つ勉強になった。
07305632006/12/16(土) 18:03:51ID:???
>>619
ありがと〜
逆順はできたのですが、ちょっと意図したものと違いました。

CSVから整形して出力してるのですが、これを、例えば5番目の配列を基準に逆順にソートして出力させたいのです。
rsortだと、そういった指定ができなくて。
<table>
<?php
$Data=file('db.csv');
for($i=0;$i<sizeof($Data);$i++){
$line=explode(",", $Data[$i]);
?>
<tr><td><?=$line[0]?></td><td><?=$line[3]?></td></tr>
<?php
}
?>
</table>
言葉足らずで申し訳ありませんでした。
0731nobodyさん2006/12/16(土) 18:09:01ID:???
MySQL使う場合、
普通はリレーション使うと思うのですが、
phpからの操作が非常に面倒になりませんか?

リレーション使わずに
一旦あるフィールド値を取得してから
そのフィールド値で別テーブルを検索して値を取得、
とかやってる人っていますか?

今までリレーションの存在を知らずに(涙)
この方法でやってたのですが、
リレーションを使うのもかなりだるく(慣れていないだけの可能性もありますが)、
過去の手段もかなりだるくなってきました・・・

他に良い方法がありましたらきぼんぬです。
0732nobodyさん2006/12/16(土) 19:29:26ID:vIgGXUoj
配列Aと配列Bを比較して、一致している要素が5つ以上あったら
配列Bの[0]の要素を表示するということをしたいのですが・・

$common_word = array_intersect($array_A,$array_B);
$array_count = count($common_word);
if($array_count >= 5)
{

}
いまのところ、このようになっておりますが、どのようにしたら良いのか
分からなくなりまして。。。よろしければ、ご教授願いたいのですが。
0733nobodyさん2006/12/16(土) 19:40:38ID:???
>>731
プログラムとか、やめちゃえば?
07347132006/12/16(土) 19:47:29ID:???
用心するのに越したことはないってことでしょ
言いたいことは大体わかるよ。
でも具体的に言ってもらわないとわからない。
<と>と'と"を置換するだけで問題ないでしょ?
>>728みたいな、どうでもいい薀蓄みたいなこと言う人はレスしないでください。
0735nobodyさん2006/12/16(土) 21:11:07ID:a8ebIslZ
phpMyAdminを設定して実行したのですが、
『扱えない拡張子です,<br />PHPの設定をチェックしてください。』
と表示されます。

PHP.iniでは
extension=php_mysql.dll
と設定して再起動も完了しました。
ですが、同じエラーのままです。

何か他に考えられることがありますでしょうか?
07367322006/12/16(土) 21:23:54ID:vIgGXUoj
何でもありません。
わざわざ人に聞くようなレベルの話ではありませんでした。
0737nobodyさん2006/12/16(土) 21:26:45ID:???
>>735
mysql関数使えないっしょ
0738nobodyさん2006/12/16(土) 21:30:39ID:???
>>726
結論から言うと危険

「マルチバイト XSS」 でぐぐってみ

あとはHTTPヘッダーで文字コード宣言を必ずすること
これがXSS対策の基本
07396962006/12/16(土) 21:44:32ID:HXTFaSG2
>>701
ピクセル単位ですか・・・
俺もそうかと思ったんですが、
だとすると1インチあたりのピクセル数の指定が
どこかにあると思うんです。

PDF って印刷物指向ですよね。
07407352006/12/16(土) 21:54:02ID:a8ebIslZ
>>737
え?どういうことですか?
0741nobodyさん2006/12/16(土) 22:12:27ID:???
>>735
php.iniの設定だろうね
俺はここでちゃんとできたよ
http://www.srvmap.com/windows/php5.html
0742nobodyさん2006/12/16(土) 23:21:34ID:???
>>741
すみません、解決しませんでした。
真剣に悩んでおります・・・。
0743nobodyさん2006/12/17(日) 00:24:20ID:???
OS:Win2K
Apache2.2
PHP5.2
MySQL5.0.27

文字化けで困っています。
MySQLはSJISに設定しています。

コマンドプロンプトからMYSQLを使用すると正常出力
phpMyAdminを使用すると正常出力
PHPをブラウザで使用すると文字化け(mysql_client_encodingで調べるとlatin1)
   →2バイト文字が?と表示されます。

解決策をご存知の方助けて下さい。
0744nobodyさん2006/12/17(日) 00:41:20ID:???
>>714
できる。
そもそも、基本的なHTML(CHTML・XHTML)などは3キャリア側のサーバーで
自動変換してくれるから問題ないと思いますよ。
ただし、HDML(古いAU端末とTuka端末)のform処理などは対応できていないので注意!
うちは、HTMLを各ノード単位で分割してコンバーター(HTML・CHTML・XHTML・HDNL変換)を通して
表示するようなフレームワークを作って使ってます。
0745nobodyさん2006/12/17(日) 00:44:02ID:ilUpD26l
SQLに接続するとき
set name sift-jis
みたいにすればいいんじゃね?
0746nobodyさん2006/12/17(日) 03:44:42ID:irlLnY56
なんでPHPのロゴに雪が積もってるんだ?
0747nobodyさん2006/12/17(日) 03:47:19ID:???
>>734
お前、どうしようもねぇバカでクズだな。
何様のつもりだ。

せっかくもらったアドバイスを無視した挙句に、逆に批判かよ。
お前マジで氏んだほうがいいよ。
0748nobodyさん2006/12/17(日) 04:34:15ID:???
>>746
ぉ、ほんとだ。

冬だねぇ
0749nobodyさん2006/12/17(日) 07:56:55ID:fDowNRkw
すみません、phpはじめたばかりなんですが、現在秀和システムの
「きょうから使えるphpサンプル500」っていう本で php.ini の設定しています。

そのなかで、mbstring.script_encoding=EUC-JP という設定を変更するように
書いてあったんですが、ファイルのソースを見たら mbstring.script_encoding が
ありません。
これは追加で書き足していいものでしょうか?
また、デフォルトで ; でコメントアウトされてるmbstringパラメータは全部コメントアウト解除
すべきですか?

あと、phpではないんですが、httpd.confの設定で、
AddDefaultCharset none という項目を編集するように書いてあるんですが、
この項目もhttpd.conf にありません。やはり追加書き足しすべきでしょうか?

phpのバージョンはphp-5.2.0 OSはwinXP Apache2.2です
0750nobodyさん2006/12/17(日) 08:09:42ID:???
>>749
まずはデフォルトで起動してみて以後自分の設定に変えていけば
あなたの設定したい項目は文字コードにかかわる部分なので
設定しないと起動しないような項目ではない

FA : 書き足す必要は無い
0751nobodyさん2006/12/17(日) 08:19:09ID:fDowNRkw
>>750
すばやい回答ありがとうございます
そうですか、とりあえず、書き足さないで出来るところからやろうと思います。
いま、環境変数を返すphpを作って(サンプルにしたがって)見たんですが、
ブラウザに表示しないでファイルをダウンロードしてしまいます。
これはなぜですか 

かなりショボイ質問だと思いますが、、php.iniの設定がおかしいんでしょうか
0752nobodyさん2006/12/17(日) 08:57:15ID:???
>>751
Apache の設定の方に
AddType application/x-httpd-php .php
これを書き加える
0753nobodyさん2006/12/17(日) 09:11:25ID:???
○○.phpにしてないって落ちだろw
0754nobodyさん2006/12/17(日) 09:43:07ID:fDowNRkw
>>752
うおっ 動きました!
httpd.confをみたら、AddType application/x-httpd-php .phpが
AddType application/x-hpppd-php .php
になってました
サンキューです助かりました! よかったー
今年中にアンケート管理と掲示板とメールフォームまで出来るようになろう

ありがとー
0755nobodyさん2006/12/17(日) 11:20:29ID:cjUGVVxQ
タイトル:string年度 の"タイトル:"と"年度"の間にある部分だけを取り
出したいのですが。

$title = mb_ereg('/"タイトル:"([^"]*)"年度/',$str_contents , $match_title);
$str_title = $match_title[0];
print($str_title);

このようにしているのですが、うまくとりだせません。
どのようにすべきか、教えていただけないでしょうか。。。
0756nobodyさん2006/12/17(日) 11:39:59ID:???
>>755
正規表現を勉強すべき
0757nobodyさん2006/12/17(日) 11:47:52ID:???
>>755

mb_regex_encoding('sjis'/*必要だったら変更して*/);
$title = 'タイトル:string年度';
mb_ereg('タイトル:([^"]+)年度', $title, $matches);
print_r($matches);

できれば、文字コードをはっきりさせてpreg_match()と16進エスケープを
使ったほうがいいと思うけど。
0758nobodyさん2006/12/17(日) 11:55:39ID:???
>>756
>正規表現を勉強すべき
お前がな。
0759nobodyさん2006/12/17(日) 12:09:24ID:???
>>747といい
>>756といい
こいつらは、アドバイスしてあげてるつもりなんだろうな。
誰も聞いてないけどw
0760nobodyさん2006/12/17(日) 13:21:27ID:ssFbcwFM
会員登録ページを作っています。
流れとしては、
入力 → 確認画面 → 修正or登録
な感じです。

入力項目の中にはドロップダウン形式のものや、チェックボックス形式のものがあります。
確認画面から修正画面に戻るときに入力された値を表示させるためにはどうすればいいでしょうか?

自分で考えた方法はフォームを
例:血液型
<select name="blood_type" size="1" tabindex="0">
<option value=1 '.$_POST['blood1'].'>A</option>
<option value=2 '.$_POST['blood2'].'>B</option>
<option value=3 '.$_POST['blood3'].'>AB</option>
<option value=4 '.$_POST['blood4'].'>O</option>
</select>
のようにして、確認画面からhiddenでひっぱって来るものです。
これだとかなり手間がかかって無駄が多いような気がします。
他にもっと賢い方法があるようでしたら教えてくれませんか?
07617552006/12/17(日) 13:24:37ID:iRROmMBS
>>757
解決しました。どうもありがとうございます。
0762nobodyさん2006/12/17(日) 13:44:40ID:???
>>760
$_POST['blood1']
これは何の意味があるんだ?
そこにselectedとか入るわけか?
0763nobodyさん2006/12/17(日) 13:50:17ID:???
ちっともphpの話じゃないだろw
0764nobodyさん2006/12/17(日) 13:52:21ID:ssFbcwFM
>>762
そうです。
0765nobodyさん2006/12/17(日) 13:53:20ID:???
>>760
>他にもっと賢い方法
まず公式マニュアルを読んで、
次に巷の解説サイトをいくつか見ればわかるよ
0766nobodyさん2006/12/17(日) 14:00:11ID:irlLnY56
>>748
北半球ではね。
こういう北半球中心視点は良くないと思う。
0767nobodyさん2006/12/17(日) 14:13:32ID:???
>>760
そのやり方でいいよ
そのやり方がベスト

>>766
そう思ってるのはおまえだけ
0768nobodyさん2006/12/17(日) 14:41:40ID:ssFbcwFM
>>763
javascript使ったら簡単にできました。
サンクス子
0769nobodyさん2006/12/17(日) 14:44:53ID:???
>>768
どうやったの?
0770nobodyさん2006/12/17(日) 14:48:11ID:ssFbcwFM
修正ボタンをこれにしました。
<input type="submit" onclick="javascript:history.back();" value="修正">
0771nobodyさん2006/12/17(日) 15:38:59ID:???
デザインとロジックの分離において、処理をファイルにまとめて
メインファイルからロジックをincludeしたら、
テンプレートつかわなくてもデザインがスッキリすると思うのですが、
どうでしょうか?
0772nobodyさん2006/12/17(日) 15:42:37ID:???
そうだね
0773nobodyさん2006/12/17(日) 15:44:37ID:???
スレ違いばかり・・・
0774nobodyさん2006/12/17(日) 15:59:14ID:8qXdAMYD
教えてください!
www.xxx.com/aaa.php?id=1&next=1
nextの1で処理を行っているのですが
リロードでも有効になってしまいます。
これを回避する方法などありますでしょうか。

submitからなら対策できるのですが、埋め込んだURLからは
どうしたら回避できるかわからず詰まっています。
0775nobodyさん2006/12/17(日) 16:26:11ID:???
>>774
アダルトの宣伝おつ
0776nobodyさん2006/12/17(日) 16:43:39ID:???
>>774
POSTでやってる対策をGETでもやれば良い
0777nobodyさん2006/12/17(日) 16:49:09ID:ttycNJ+p
変数.txtってファイルを指定したいんですが
どのように書けばいいのでしょうか?
↓こんな感じなんですけど
$text = 12;
$hantei = file_exists($text.'.txt');//ここでエラーでます
0778nobodyさん2006/12/17(日) 16:51:21ID:???
>>775
例で適当にうったのはアダルトだったのね すません。
>>776
ありがとう!
0779nobodyさん2006/12/17(日) 17:23:12ID:???
>>777
$hantei = file_exists($text.".txt");
0780nobodyさん2006/12/17(日) 17:35:56ID:???
同じだろ?
それよりまず何てエラーが出てるのかくらい書こうよ
0781nobodyさん2006/12/17(日) 17:40:18ID:???
>>777
もしくは
$text = "12";
0782nobodyさん2006/12/17(日) 17:57:37ID:ttycNJ+p
Parse error: parse error, unexpected T_VARIABLE in 〜〜〜〜こんなエラーです
0783nobodyさん2006/12/17(日) 18:21:53ID:???
>>777の記述は問題ないからその行の前あたりに;や""のつけかた等みなおしてこい
0784nobodyさん2006/12/17(日) 18:27:41ID:???
ポスティングスレで自分から進んで作ったんですがセキュリティみてもらえませんか?
ttp://posting.is.land.to/
0785nobodyさん2006/12/17(日) 18:49:28ID:???
CSVファイルのなかに <a href="yahoo.co.jp" title="トップ,ヤフー">のように”があった場合や、カンマがあった場合、

"<a=""yahoo.co.jo"" title=""トップ,ヤフー"">"となってしまうのですが、これをPHPで読み込むときに、外の"を外して、””を”に変換するにはどうしたらいいでしょうか?

それと勝手に””が就かないようにするにはどうしたらよいかアドバイス頂けないでしょうか?
0786nobodyさん2006/12/17(日) 18:59:05ID:???
変換するしなくていいじゃん。そういう設定にしてあるだけだから
php.iniの設定をたしかめろ。入門者向け教本にたいてい書いてある設定外の項目いじっただろ?
0787nobodyさん2006/12/17(日) 20:12:06ID:???
>>785
意味がわからん。それはCSVファイルを保存する時にそうなってるだけじゃねーの?PHPで読み込む前の話。
0788nobodyさん2006/12/17(日) 20:19:48ID:???
よくわからんけどreplaceすればいいんじゃないのか?
0789nobodyさん2006/12/17(日) 20:31:33ID:a5bdt7ul
hiddenは絶対に使わないほうが無難でしょうか?
かわりにセッションを使うほうがいいですか?
セッションの場合、クッキーとURL埋め合わせがありますけど、
firefox等のブラウザの設定でセッションを受け入れない場合、
クッキーもURLも無効となってしまうのでしょうか?
あと、セッションはサーバにゴミがたまりますよね?
そのゴミは勝手に削除してくれますか?たとえばクッキーに時間制限があるような感じで。
どなたかお願いいたします。
07907352006/12/17(日) 20:48:39ID:EKx6N1fN
すみません、解決しないのでどなたか答えていただけると嬉しいです。

ググったところでは、mysql/mysqliエクステンションが組み込まれていないとのこと。
php_mysql.dll、php_mysqli.dllがあり、extension=php_mbstring.dllもコメントアウトしています。
その他何か原因があるようなのですが、思いつきもしません。
0791nobodyさん2006/12/17(日) 20:52:22ID:???
windowsで動かしてんの?
07927352006/12/17(日) 20:55:58ID:EKx6N1fN
>>791
はい、Windowsです。

WindowsXP SP2
Apache 2.0.58
PHP 5.0.4
MySQL 3.23.58

2台PCがあり、片方は設定して動くのですが、
ノートパソコンの方がエラーが出る状態です。
0793nobodyさん2006/12/17(日) 21:00:31ID:???
片方動くならそれと比較してみれ。
phpinfoでMysqlの欄とか表示されてるかい?
dllファイルちゃんとあるよね?
07947352006/12/17(日) 21:01:18ID:EKx6N1fN
あー、今infoで「MySQL」を検索しても見つかりませんでした。

つまり、php_mysqlを読み込んでいないということですよね・・・^^;
php_mysql.dllの位置がデフォルトのままなのですが、どこへコピーすれば良いのでしょうか?
07957432006/12/17(日) 21:03:26ID:???
誰か>>743頼む
07967852006/12/17(日) 21:05:23ID:???
>>787
そうです。CSV保存の時に勝手に””がついてしまうのです。
保存の都度””を置換・削除すればいいのですが、結構な量がある上に、頻繁にデータを書き換えるので、いちいちするのは非常に面倒なのです。

>>788
有り難うございます。ただ、置き換えと削除の両方をしたいのです。
"<a〜 の部分は "を削除したいし、""は"に置き換えたい

皆さん、,や"があるCSVファイルを読み出すときはどうされてるのでしょう?
07977352006/12/17(日) 21:08:24ID:EKx6N1fN
何度もすみません。
extensionのディレクトリパスを指定していなかったです。
Apacheを再起動しましたが、エラーは解決されずのままです・・・。
phpinfoでMysqlの欄を見たのですが、まだ表示されません。
0798nobodyさん2006/12/17(日) 21:10:52ID:???
>>796
"(ダブルクオート)の2個の連続は、ダブルクオート1個を表す。その動作は普通。
0799nobodyさん2006/12/17(日) 21:19:17ID:???
だから737書いたのに
0800nobodyさん2006/12/17(日) 21:21:27ID:???
>>797
phpinfoに表示されているphp.iniが修正しているphp.iniと同じか確認した ?
0801nobodyさん2006/12/17(日) 21:22:23ID:???
>>797
ttp://jp.php.net/manual/ja/install.windows.extensions.php
08027352006/12/17(日) 21:23:56ID:EKx6N1fN
>>800
あ・・・、全然違っていました・・・
php.iniの場所を変えるのじゃなくって、
パスを変更することは可能なのでしょうか?
0803nobodyさん2006/12/17(日) 21:28:18ID:fhT0kY1a
質問です。
インストールしたソフトの実行出力の結果を取得したくてsystem関数を使ったのですが、
1とか2とかの数字しか返ってきません。具体的には、
<?php
$rtn = system("/usr/local/bin/lame", $retval);
echo "retval=$retval";
echo '<br>';
echo "rtn=$rtn";
?>

実行結果
retval=1
rtn=

となります。rtnには結果すら返ってきてません。
しかし、lsなどのシステムコマンドだときちんと結果が返ってきます。
ちなみにpassthru関数でも同じでした。

どうすれば結果を取得できるのでしょうか?
PHP 4.4.4 with Suhosin-Patch 0.9.5 (cgi-fcgi)
0804nobodyさん2006/12/17(日) 21:32:01ID:???
>> 802

http://jp.php.net/manual/ja/install.windows.apache2.php

PHPIniDir
0805nobodyさん2006/12/17(日) 21:38:08ID:???
>>803

http://jp.php.net/manual/ja/function.popen.php
08067352006/12/17(日) 21:39:20ID:EKx6N1fN
>>804
有難うございます、解決しました。
最初に設定できて余裕をもっていたのが間違いですね、
こんな初歩的なとこから間違えるとは・・・
お答えいただいた皆様、有難うございました
0807nobodyさん2006/12/17(日) 21:58:04ID:???
こんばんは、ひとつ質問させてください。

$result = mysql_query("SELECT * FROM account WHERE name = '$name'");

この場合は、name=$nameであればTRUEを返すということなのでしょうか。
name=$nameのとき、そのnameがある行を取得したいのですが、どのようにすれば良いのでしょうか?
0808nobodyさん2006/12/17(日) 22:05:26ID:???
せめてマニュアルくらいみようよ

ttp://us2.php.net/mysql_query
0809nobodyさん2006/12/17(日) 22:07:20ID:???
>>807
TRUE/FALSEを返すとかではなくて、リソースを返すのだ。マニュアルを見よ。

行を連想配列に格納するには mysql_fetch_arry。
0810nobodyさん2006/12/17(日) 22:18:23ID:fhT0kY1a
>>805
ありがとうございました。
早速以下のように書いてみたのですが、何も出てきませんでした。
なぜかコンソール画面には出力されてきましたが…

<?php
$handle = popen("/usr/local/bin/lame", 'r');
if ($handle){
while (!feof($handle)){
$line = fgets($handle);
echo $line;
}
pclose($handle);
}
?>
0811nobodyさん2006/12/17(日) 22:27:26ID:???
function test($str1,$str2){

echo $str1."<br />\n";
echo $str2."<br />\n";

}

$str1 = "ホゲホゲ";
$str2 = "あいうえお";

test($str1,$str2);

このように、functionに2つの関数を送るのはできないのでしょうか?
0812nobodyさん2006/12/17(日) 22:29:07ID:???
すみません、できましたが、function内で
mysql_select_db($db);
mysql_query($sql);
を使うのは不可能でしょうか?

mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in

とエラーがでます;;
0813nobodyさん2006/12/17(日) 22:30:31ID:???
>>811
それを実行してみろ。
0814nobodyさん2006/12/17(日) 22:36:06ID:???
>>812
エラーメッセージを読め。
ヒント: mysql_connect( )
0815nobodyさん2006/12/17(日) 22:48:19ID:???
>>810
lameに引数を渡していないとすると、helpがエラー出力に表示されているじゃないの?
0816nobodyさん2006/12/17(日) 23:01:56ID:1O1pcw5Y
$_GET, $_POST, $_COOKIE を 変数$varで参照できるようにしたいのです。

つまり $var["id"] = $_GET["id"] = $_POST["id"] = $_COOKIE["id"] ということ。
どのようにすれば効率良くできるのでしょうか?
0817nobodyさん2006/12/17(日) 23:05:10ID:???
request
0818nobodyさん2006/12/17(日) 23:06:24ID:fhT0kY1a
>>815
引数に --helpを渡したら出ました!
まさかエラー出力だとは…
ありがとうございました。
0819nobodyさん2006/12/17(日) 23:08:32ID:???
掲示板などで、POSTで大量に送られてくるデータ
$hogehoge1 = $_POST['hogehoge1'];
$hogehoge2 = $_POST['hogehoge2'];
$hogehoge3 = $_POST['hogehoge3'];
$hogehoge4 = $_POST['hogehoge4'];
$hogehoge5 = $_POST['hogehoge5'];

これを、一括して$hogehoge[1]〜$hogehoge[7]
に格納する方法などはないのでしょうか?
0820nobodyさん2006/12/17(日) 23:11:57ID:1O1pcw5Y
>>817
詳しくたにょむ。
08217962006/12/17(日) 23:15:30ID:???
>>798
動作が正常なのはわかるのですが、"<a=""〜""となるとリンクが使えなくなってしまったりしませんか?

とんちんかんなこときいてるでしょうか?
自分の環境では、そのまま読み出すとリンクが使えなくなってしまうのでなんとか""を"に変えて邪魔な"を削除したいと考えているのですが。
0822nobodyさん2006/12/17(日) 23:17:10ID:???
"を\"にすればいいんじゃね?
0823nobodyさん2006/12/17(日) 23:17:57ID:MMBQG3mK
よくDB接続の際にPEARを使っている例を見かけるのですが
普通にPHPで接続するのとPEAR使うのとではなにが違うのでしょうか?
利点などあれば教えていただきたいのですが・・・
0824nobodyさん2006/12/17(日) 23:20:57ID:1O1pcw5Y
>>817
あぁ、$_REQUEST ね……。
ありがとうございました。
0825nobodyさん2006/12/17(日) 23:23:22ID:???
>>819
name="hogehoge[]"
0826nobodyさん2006/12/17(日) 23:26:53ID:???
>>816
ttp://jp2.php.net/manual/ja/reserved.variables.php#reserved.variables.request

$_REQUEST[""id"]って感じでそれら同じ名前の値をとることができる
0827nobodyさん2006/12/18(月) 00:02:49ID:???
PHPからプログラミングを始めて1年ちょっと。
最近はやっとクラスやフレームワークを使用し、
見た目にもある程度のスクリプトが組めるようになってきたかな
と自分では思ってます。

windows用のアプリを作りたい理由があり、
visual C#を始める準備をしてるのですが、
敷居って結構高いでしょうか?

質問自体がアバウトなんで、
アバウトな返答でいいのできぼんぬ
0828nobodyさん2006/12/18(月) 00:09:18ID:Nj+uTZZ4
PHPとC#は全然違うけど、まあ結局は作りたいものがあるかってことで、
目標に進んでいけるかどうかだ。
単になんとなくやってみたいな、ぐらいだと無理かもしれない。

C#は全てがクラス。何でもクラス。とにかくクラス。.NET Frameworkの習得必須。
PHPみたいに関数主体でクラスはおまけってのとは全然違うから、頑張ってね。
0829nobodyさん2006/12/18(月) 00:15:56ID:???
>>827
phpから入っちゃったか・・・逆だと楽だったのにな。
ま、何事もやる気と根気。敷居の高さなんざ気にしてたら何もできん。
0830nobodyさん2006/12/18(月) 00:53:44ID:???
>>828
C#なんかよりVC++.netにしとけ
0831nobodyさん2006/12/18(月) 00:57:51ID:???
>>823
ある程度DB使わないと、PEARとかの使い勝手の良さはわからないかも。

例えばDB使うのってSELECTがほとんどってことが多いけど、接続して
クエリ投げてリソース受け取ってループとかで値受け取ってって流れは
ほとんど共通してる。
なのでこれをSELECTするごとに毎回やるんじゃなくて、関数とかクラス
とか作って、引数にクエリ投げたら配列で結果取れるようにしよう、
とか考えるよね。

んでそういったものがもうPEARとかADOdbとかですでに用意されている
ならそれ使おうって話になるってところかなあ。
デバッグしやすい環境がすでに整えてあったりとか、使いやすいように
工夫されてるし、多くの人が使ってる実績があるから使い方さえ間違え
なきゃちゃんと動くって安心感もあるしね。

他にもいろいろあると思うけど、一番大きなメリットはこの辺じゃないかな。
0832nobodyさん2006/12/18(月) 01:02:19ID:Nj+uTZZ4
>>830
釣りですか?
0833nobodyさん2006/12/18(月) 02:18:42ID:5VuKWrp+
みんなphpMyAdminのバージョンって何使っている?
最新の2.9.1.1?

つーか、2.8以降のデザインが好きになれないので未だに2.7.0-pl2使っているよ。
俺と似たような人居る?
0834nobodyさん2006/12/18(月) 07:39:52ID:???
それ聞いてなんになるの?
0835nobodyさん2006/12/18(月) 08:07:35ID:???
ヒント:スレタイ
0836nobodyさん2006/12/18(月) 08:46:32ID:???
バグもないし安定した2.6使ってますが何か
0837nobodyさん2006/12/18(月) 13:57:06ID:???
$var = "テストです";
function test(){

echo $var;
}
test();

これで「テストです」と表示したいのですが、
function内で外部の変数を持ってくるのは
test($test)でしか持ってこれないのでしょうか?
0838nobodyさん2006/12/18(月) 14:10:41ID:???
global
08398372006/12/18(月) 14:36:19ID:???
>>838
global $var;
で解決できました。ありがとうございます。
0840nobodyさん2006/12/18(月) 14:48:42ID:???
>>714
ウイルコムのこともたまには思い出してあげてください><
0841nobodyさん2006/12/18(月) 15:12:14ID:???
PHPでモザイクの解除をすることになりました。
GDが入っていますので、やり方やヒントをお願いします。
0842nobodyさん2006/12/18(月) 15:21:23ID:???
目を細くして
0843nobodyさん2006/12/18(月) 15:29:54ID:???
>>841
ほれ
ttp://www.ksyou.net/dv-8800.html
084484112006/12/18(月) 15:31:51ID:???
WEBでアップされた動画のモザイクを除去しなければならないのです。
できなければ、大変なことになりますよ?
0845nobodyさん2006/12/18(月) 15:34:22ID:???
できちゃった方が大変だと思うんだが。
0846nobodyさん2006/12/18(月) 15:41:31ID:???
>>844
そうか、大変だな。
できたら教えてくれ。
0847nobodyさん2006/12/18(月) 15:43:50ID:???
>>831
なるほど。
ありがとうございました。
0848nobodyさん2006/12/18(月) 15:45:49ID:???
�@$result = $db->query($sql);
�A$result = mysql_query($db,$sql);

上記2つは同じ意味なのでしょうか?
何か違いなどがあれば教えてください、
0849nobodyさん2006/12/18(月) 15:49:36ID:???
>>848
その$dbを定義した部分を見て見れ。
08508482006/12/18(月) 15:51:39ID:???
>>849
あー、�@は$dbで接続してるのか
�Aはデータベース名か、把握

ちなみにどっちですると効率がいいのかな?
0851nobodyさん2006/12/18(月) 15:56:48ID:???
>>848
1の$dbはたぶんユーザーが作ったクラスをインスタンス化したのを
変数にいれて、そのクラスのqueryメソッドを使ってる。

2はPHP側が用意してるmysql関数。

1のクラスの中身がわからないとこたえられない。
1のソースの上のほうで、$db = new HogeHoge;
となってるなら、HogeHogeがクラス。
08528482006/12/18(月) 15:59:28ID:???
�@は

$username = "dbuser";
$password = "dbpass";
$host = "dbhost";
$database = "dbname";
$db = DB::connect("mysql://$username:$password@$host/$database");

となっていました
(phpspot)
0853nobodyさん2006/12/18(月) 16:01:59ID:???
>>852
>$db = DB::connect("mysql://$username:$password@$host/$database");

DBクラスのconnect変数を見れ。
0854nobodyさん2006/12/18(月) 16:07:39ID:???
mysql_queryって引数sql文だけじゃなかったっけ?
�@はPEAR接続だよね
085584112006/12/18(月) 16:33:48ID:???
皆さんのおかげで助かりました。
どうにかなりそうです。
0856nobodyさん2006/12/18(月) 17:02:36ID:dkU1jlj9
ファイルにhtmlのタグを書き込もうとしてるんですが
日本語の部分が文字化けして書き込まれてしまいます
なぜなんでしょうか?

ちなみにこんなかんじで書いているのですが「さんのページ」ってとこが
文字化けしてしまいます
$text=12;
$test = '<P>id'.$text.'さんのページ</P>';
fwrite($fp,$test);
0857nobodyさん2006/12/18(月) 17:03:21ID:???
文字コードが違ってるから
0858nobodyさん2006/12/18(月) 17:04:40ID:???
エンコードの問題としか思えないけど・・・・
08598562006/12/18(月) 17:12:32ID:dkU1jlj9
プログラムは文字コードEUCなんですが
書き込まれるときのコードが違うってことですよね
どうすれば直すことができるんでしょうか?
0860nobodyさん2006/12/18(月) 17:12:33ID:HkDghXE6
8スレ先から登場した未来人
0861nobodyさん2006/12/18(月) 17:15:47ID:???
>>859
metaタグで文字コード指定してる?
また、表示⇒エンコードでEUC指定してる?
0862nobodyさん2006/12/18(月) 17:16:08ID:???
>>859
とりあえず切り分けしてみれ。
htmlはどのコードで表示された時にどの文字列が化けているか。
どの文字列はEUCでどの文字列がどんな文字コードになってるのか
08638562006/12/18(月) 17:34:56ID:dkU1jlj9
metaタグでEUCに指定したらできました!
みなさんありがとうございました
0864nobodyさん2006/12/18(月) 17:44:32ID:???
(゚д゚)
0865nobodyさん2006/12/18(月) 19:08:44ID:???
META・・・タグ・・・で・・・
0866nobodyさん2006/12/18(月) 19:30:54ID:2g+3BvDA
大規模なサイトでは会員登録などあると思いますが、
ログインを簡単に行うために、URLにログインIDを埋め込みたいのですが、
携帯ユーザーに限定して行ったほうがよろしいでしょうか?
0867nobodyさん2006/12/18(月) 19:52:37ID:???
>>854
だよね。

>>848
PEAR:DBは、DBの違いを吸収して統一的に扱えるようにすることを
目指す(※)ライブラリ。DB:::connectでPostgreSQLのDSNを指定すると、
ソースを変更することなくDBをスイッチできる。

※PEAR::DBで用意されてるメソッドだけを使っていれば、MySQL特有の方言(SQL)を
使用してると当然駄目。

似たようなクラスにはMDBとかMDB2とかあり、DBは歴史が古い分パフォーマンスは
いまいちといわれる。でもMDBにしたってオーバヘッドはあるから、DBを変える予定が
なく、パフォーマンス優先ならMySQL関数使えばいいのでは。

あともうひとつPDOのようにDBアクセス部分をCで書いたやつので、これならPHPの
MySQL関数より早いということもあるかと。

簡潔に書くため一部不正確なところもあり。できることは同じでも目的は異なるので、
良く考えてチョイスすればよろし。
0868nobodyさん2006/12/18(月) 20:04:08ID:???
>>866
クッキー使えばいいんじゃね?
0869nobodyさん2006/12/18(月) 20:32:03ID:???
>>868
携帯はクッキー使えないのあるぜ
0870nobodyさん2006/12/18(月) 20:34:25ID:???
URLがログインIDになってるくらいなら別にいいんじゃないか?
パスワード認証後のログイン状態のフラグが別途セッションに記録されてれば。
0871nobodyさん2006/12/18(月) 20:38:07ID:S0EIOHKJ
>>869
ほとんどの携帯がクッキー対応してるってどっかでみたような気がするんだぜ
0872nobodyさん2006/12/18(月) 20:43:10ID:???
DoCoMoは最新でも対応してない
0873nobodyさん2006/12/18(月) 20:49:48ID:???
DoCoMo糞
0874nobodyさん2006/12/18(月) 20:55:05ID:HkDghXE6
ドコモはutn送信させればオケー。
0875nobodyさん2006/12/18(月) 21:12:23ID:2g+3BvDA
携帯ユーザーのみに限定して、utnはユニークなものなのでしょうか?
たとえば、全国のp902ユーザーが同じ識別情報になることはありませんよね?
0876nobodyさん2006/12/18(月) 21:13:04ID:???
>>844
Pear::FLmask
0877nobodyさん2006/12/18(月) 21:29:36ID:???
>>875
ないよ
っていうか、どこがPHP?
0878nobodyさん2006/12/18(月) 21:31:52ID:???
>>875ユニークなものだから安心しろ。
>>877みたいなバカはほっといていいよ。
0879nobodyさん2006/12/18(月) 21:33:23ID:???
                         「 ̄i
                   「 ̄ ̄ ̄ ̄`!: : :! ̄ ̄ ̄ ̄.|
                  |       ^~^         |
                  |    .ノ     _,_  土  |
                 |    ヽ     米   し   .|
               |   十_゙  ナ 、  -    |
              |   l ‐   ょ  ⌒) .|
              |.    +   i 、      |
                   |    ⊂   `       .|
                  |    { )  て``    |
                 |              |
                |               |
                |__________|
0880nobodyさん2006/12/18(月) 22:39:42ID:HkDghXE6
utn後のUSER AGENTの
serXXX…;
serXXX…
XXX…の部分取得でおけー。
0881 ◆TmZMmKDjC6 2006/12/18(月) 22:50:58ID:???
WindowsXpSP2でApache2.0/59、PHP5.2で
mb_send_mailの行で以下のエラーが返されたのですが、
マイネットワーク→プロパティの「ブリッジ接続」を削除したら問題なく実行できるのですが、
ブリッジ接続を有効にすると以下のエラーが返されます。
ブリッジ接続を使いながら以下のエラーをださないようにするにはどうしたらよろしいのでしょうか?

Warning: mb_send_mail() [function.mb-send-mail]:
Failed to connect to mailserver at "myhomes" port 25,
verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in
0882nobodyさん2006/12/18(月) 22:52:35ID:MrE6rWZc
<input name="file" type="file" size="40" />
というタグでメールに添付ファイルを付けられるフォームを作っています。

php側で2Mの容量制限をかけたのですが、phpinfo()で表示される容量の制限が2Mとなっており、2M以上のファイルだとphpのチェックを受けず、
実際に送信する際にエラーが出てしまいます。

こういう場合は、phpの制限を無制限にしたりするものなのでしょうか?
0883nobodyさん2006/12/18(月) 23:00:39ID:???
>>882
php.iniで設定
0884nobodyさん2006/12/18(月) 23:02:58ID:???
>>882
無制限なんてしたらOSのイメージ送りつけられたらどうするyo。
08858822006/12/18(月) 23:13:28ID:MrE6rWZc
ありがとうございます。
upload_max_filesize以外に設定する箇所があるのでしょうか?

現在upload_max_filesizeが2Mになっており、php側で2Mのチェックを
記載しているにも関わらず、2Mを超えると、その制限が効いてくれないようなんです。

0886nobodyさん2006/12/18(月) 23:32:15ID:???
pache2.2以降つかったほうがいいよ。ファイルサイズの制限が見直されてるから
0887nobodyさん2006/12/18(月) 23:45:06ID:lM2dvpvb
>>880
foma番号と端末製造番号、どっちがええの?
0888nobodyさん2006/12/18(月) 23:45:23ID:???
PDOStatementで実際に実行したSQLの取得ってできねーのかな
0889nobodyさん2006/12/19(火) 02:55:06ID:???
指定したディレクトリ以下(サブディレクトリ含む)にあるファイル全てのリストを作成するにはどうしたらいいでしょうか。
0890nobodyさん2006/12/19(火) 03:59:54ID:???
dir
0891nobodyさん2006/12/19(火) 09:04:00ID:???
ロジック的な質問させて下さい!
コミュニティーサイトなどで、相手の会員番号の隠蔽はどうやってやっているんでしょうか?

一覧表示からmember.php?user=****の様に
詳細を見れる様にしてたんだけど、これだと会員番号が丸出しだから
member.php?list=0&area=1&etc=n...
member.php?list=1&area=1&etc=n...
って連番と検索条件をパラメーターで渡して、
Mysqlで
limit 0,1
limit 1,1
参考サイトが連番を振っていたので、そうなのかなと思ってやってみたけど
ロジック的にどうなのか自信なくなってきました・・・orz

こんなまどろっこしい事しないで、相手の会員番号をセッションに登録すればいいだけでしょうか?




08928912006/12/19(火) 09:12:11ID:???
あ、一覧表示の場合はセッションに登録してもダメですね;
一覧表示→詳細表示→何かしらのアクション(使うとしたらここですね)
0893nobodyさん2006/12/19(火) 09:18:46ID:???
>>891
何をしたいのか今一つ判らんのだが
会員番号をログインIDとかに使っていなければ
まんま引数指定で良いんじゃない?
セッションとか言ってるのが引っかかるが…
0894nobodyさん2006/12/19(火) 09:21:58ID:???
>>891
つまり、会員番号=IDってこと?

番号/ID
0001/test
0002/guest
0003/hogehoge
0004/php
0005/cgi

こんな感じにIDごとに番号振り分けたらいいんじゃまいか?
08958912006/12/19(火) 09:32:33ID:???
>893
要は会員サイト内で相手の会員IDを分からなくしたいんですよ。
検索かけて会員リストがずらっと出て、その会員の詳細をみる時に
パラメーターで会員番号渡したら簡単なんですが、隠蔽するにはどうしたらいいのかなと・・・。

>894
そういう風にはしてるんですが、詳細見るときに会員番号をパラメーターで渡したくないんです。
0896nobodyさん2006/12/19(火) 09:35:59ID:???
http://example.com/?id=00001

これを

http://example.com/

これでできるようにってこと?

だったらセッション
08978912006/12/19(火) 10:06:00ID:???
>896
うーむ。それは分かるんですが・・・。

<a href="member.php?list=0">亀田</a>
<a href="member.php?list=1">やくみつる</a>
<a href="member.php?list=2">ガッツ</a>
と、ページに会員の詳細表示のリンクをアクセス順に
ソートして並べるとします。

上の様にリンクには連番を振ってパラメータで渡す様にしておきます。

それで、
$listNum = $_GET['list'];
SELECT * user ORDER BY access_time DESC LIMIT $listNum,1
(エスケープは今は無視)

とすれば、会員番号をパラメーターで渡さなくても
リストから詳細表示できます。

ここまではいいとして・・・
上の例で言えばアクセスでソートしてるんで会員リストをみている間に、
誰かがアクセスをしたらソート順が変わってしまい
正しく表示されない事が発生するかと途方にくれてまして・・・orz
0898nobodyさん2006/12/19(火) 10:23:00ID:???
そのlist=0ってのは、アクセス順で
0がアクセス多い、10がアクセス少ないってこと?
で、アクセス数で順位が入れ替わるから、参照ページが変わるってことでおkなのかな?

元々登録順にでも番号割り当てといて
0/abc
1/hogehoge
2/papa
3/awawa

で、順位に並べてみるのは?
高↑ <a href="member.php?list=2">亀田</a>
    <a href="member.php?list=0">やくみつる</a>
    <a href="member.php?list=1">ガッツ</a>
低↓ <a href="member.php?list=3">アントニオ</a>
0899nobodyさん2006/12/19(火) 10:32:47ID:n9T52ppY
ある配列を空文字ではさんでひとつの文字列にしたいと考えています。
implode("",$hoge)でも実現可能なのですが
マニュアルには「好ましい使用法ではありません。」と書かれています。

implodeを使わずにこれを実現するためにはどうすればいいでしょうか?
09008912006/12/19(火) 10:35:32ID:???
>898
アクセスっていうのは、最終アクセス時間を降順でソートしてます。
まぁ、アクセス回数でもロジック的には同じ様なもんですね。

だもんで、
<a href="member.php?list=0">亀田</a>
<a href="member.php?list=1">やくみつる</a>
<a href="member.php?list=2">ガッツ</a>
を見てる間にやくみつるがアクセスしたとしたら、

<a href="member.php?list=0">やくみつる</a>
<a href="member.php?list=1">亀田</a>
<a href="member.php?list=2">ガッツ</a>
こうなってしまう可能性があります・・・。

今はおっしゃる様に、登録降順でソートしてるんですが
見てる間に誰かが登録したらこれも変わりますよね。
まーそんな激しく登録はないはずなんで大丈夫かと思うのですが・・・。

たまにそーなった時はご愛嬌ってことでいいのかなw
0901nobodyさん2006/12/19(火) 10:40:35ID:???
>>899
好ましくないだけで使用に問題なければ使っていいよ。
それがいやならforeachで.使って連結しろ
09028912006/12/19(火) 10:41:13ID:???
>899
$str = $hoge['0'].$hoge['1'];
普通に文字連結だとダメなのかな?

09038912006/12/19(火) 10:44:33ID:???
あ、'' いらんしw
寝不足でバグ連発中・・・orz
0904nobodyさん2006/12/19(火) 12:11:03ID:???
>>899
$array = ("文字A","文字B","文字C","文字D","文字E");
foreach ($array as $value){

$str .= $value;
}

echo $str;


こういうこと?
0905nobodyさん2006/12/19(火) 12:41:15ID:n9T52ppY
($array as $value)を
($array as $key => $value)で
0906nobodyさん2006/12/19(火) 13:04:40ID:???
多重配列ならそういえやゴルァ
0907nobodyさん2006/12/19(火) 13:20:17ID:???
>>905
答えはでてんだから自分でやれよ。甘えるな
0908nobodyさん2006/12/19(火) 13:57:58ID:???
そもそも、なんで会員番号を隠匿したいのかが判らん…
0909nobodyさん2006/12/19(火) 14:06:07ID:0YQ9Kyi3
Aページのformのinputへ入力した文字列を、
Bページへpostして表示するコードを書いたのですが
これをセッションで管理しようと思っています。

セッションに関する記述はbページに
session_start();$_session['aaa]=$_post['aaa'];echo $_session['aaa'];
と入力したのですが、もともとpostで送信しているのでセキュリティが甘いと思っています。
Aページ→Bページの間をセッションで受け渡すにはどうしたらよろしいのでしょうか?
0910nobodyさん2006/12/19(火) 14:10:56ID:???
それは無理じゃね?
SSLにでもするかとかしか・・
0911nobodyさん2006/12/19(火) 14:22:47ID:???
>>909
何を意味不明なこと言ってんだお前は。
ユーザーからのinputをセッションで管理するにしても、
必ず一度はPOSTしてもらわなきゃ受け取れないだろうが。

>>910
>>909の問題(POSTじゃなくsessionで値を渡したい)については
SSLとか一切関係ないし。
0912nobodyさん2006/12/19(火) 14:27:23ID:???
>>911
いやいやそれはわかってはいるんだが
セキュリティが甘いとか言ってたからせめて通信でもセキュリティ高めたほうがと思っただけだ。
なんかおかしいこと言ってるなら謝るが・・。
0913nobodyさん2006/12/19(火) 14:56:05ID:???
一度はPOSTせなあかんセッションなんざtelnetつかえば穴になっちまうぞ
0914nobodyさん2006/12/19(火) 16:00:04ID:???
もうGETにしとけカス
0915nobodyさん2006/12/19(火) 17:00:40ID:jG1wL3dB
関数内で、変数の初期化をしたいのですが、
どのように書けばいいのでしょうか?

$a = "";
$a;
0916nobodyさん2006/12/19(火) 17:01:58ID:???
>>915
unset?
0917nobodyさん2006/12/19(火) 17:07:44ID:jG1wL3dB
>>916
こんな関数があったのですね。
どうもありがとうございます。
0918nobodyさん2006/12/19(火) 17:51:13ID:Bk1c9Up1
function sort($a, $b){
global $sort_tgt;
if($a[$sort_tgt] < $b[$sort_tgt]){
return -1; }
else if($a[$sort_tgt] > $b[$sort_tgt]){
return 1; }
else{
return 0;}
}

usort($dispdata, "sort");

id,val,str
-----------------
0,5,あ
1,2,い
2,4,あ
3,3,あ
4,1,い

という感じのシンプルな二次元配列用のソート関数をサンプルを参考に使っているのですが
ソート対象の値が同一のものであった場合(今回の場合はstr)、さらにid順でソートをかけたいのですが
どなたか、良い解決法をご教示願えないでしょうか・・・。
よろしくお願いいたします。
0919nobodyさん2006/12/19(火) 17:53:43ID:???
>>917
unsetはやめろ
0920nobodyさん2006/12/19(火) 18:23:26ID:EZ7cfRuw
phpからmysqlにアクセスして、DBの情報を更新したいんですけど
データ型がtextの「introduction」というフィールドの値が変更されません。

日本語や半角英語を入力したものをPOSTで受け取ったものでは変更されませんでしたが
半角数字のみを入力してPOSTで受け取ったものだと変更されました。

また、sql文のintroduction = $textの部分をintroduction = 'よろしく'などとすると変更することが出来ました。

原因がよく分かりません。よろしくお願いします。

<?php
$dbHandle = mysql_connect("localhost","root","tengonran");
if($dbHandle == False){
print("can not connect db\n");
exit;
}
$db = "sns";

$text = $HTTP_POST_VARS["introduction"];
$uid = $myAuth->getAuthData("uid");
$sql = "UPDATE usr SET introduction = $text WHERE uid = $uid";
$rs = mysql_db_query($db,$sql);

mysql_close($dbHandle);

print("登録情報を変更しました");
?>
0921nobodyさん2006/12/19(火) 18:27:19ID:???
$sql = "UPDATE usr SET introduction = '$text' WHERE uid = $uid";
09229202006/12/19(火) 18:45:41ID:???
>>921

ありがとうございます。
変更することが出来ました。

文字列の入った変数を'で括るとおかしいのかと
思ってましたがそれでよかったんですね。
0923nobodyさん2006/12/19(火) 19:44:16ID:???
>>922
変数はクリーニングしてからクエリーに埋め込んだ方が良いよ
0924nobodyさん2006/12/19(火) 20:04:47ID:4CUCrx49
文字列内urlの数を数えたいのですが、

$count = eregi("http?", $message);
print $count

としても、1しか帰ってこない・・・


PHP 基礎編9 - 正規表現、マッチ、置き換え、ereg、eregi、eregi_replace - SAK Streets
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm

こちらには、マッチ数と書いてあるのですが・・・
0925nobodyさん2006/12/19(火) 20:15:03ID:???
>>924
そのサイトの書き間違いでしょ。

公式のマニュアルによると
ttp://www.php.net/manual/ja/function.ereg.php
> int ereg ( string pattern, string string [, array ®s] )
> string の中で pattern がマッチした場合にはマッチした文字列の長さを返し、
> マッチしなかった場合 またはエラーとなった場合は FALSE を返します。
> オプションのパラメータ regs が渡されなかったり マッチした文字列の長さが
> 0 だったりした場合は、この関数は 1 を返します。
と、1もしくは、第3引数を渡した場合に限りマッチした文字列の長さを返すことになっている。

PHPの説明って市販の書籍も含めて「誤り」または「情報が古い」ことが多いので
疑問に思ったら公式マニュアルを参照した方がいい。

あと基本的にはereg()に同じパターンがいくつ含まれているかという検索機能は無いので、
数をカウントすると必ず1個にしかならない。
「httpがいくつ含まれているか」を調べたいならpreg_match_all()を使う。
ttp://www.php.net/manual/ja/function.preg-match-all.php
0926nobodyさん2006/12/19(火) 20:34:31ID:4CUCrx49
>>925
書き間違えかよ!!!!('A`)
メチャメチャサンクス。
preg_match_all やってみます。

公式見た方がいいのな・・・
0927nobodyさん2006/12/19(火) 20:46:59ID:???
>>923
クリーニング屋に出すってことか?
例のキャンペーンのせいで、変な用語が飛び出てきたな。
0928nobodyさん2006/12/19(火) 21:17:54ID:???
>>927
サ●タ●ズとか言うと、
またアフォの自己主張が始まるから、
洗濯でいいんじゃねぇの?
0929nobodyさん2006/12/19(火) 21:25:12ID:???
ちゃんと乾燥機に入れてくれな
0930nobodyさん2006/12/19(火) 21:47:50ID:???
ttp://php.s3.to/tt/tt6.php

によるとWEBページを表示する方法として7種類サンプルがありますが、
みなさんはどれを使いますか?それとそれぞれのメリット・デメリットがあれば教えて下さい
0931nobodyさん2006/12/19(火) 22:17:39ID:???
>>930
1.PHPスクリプトとして評価される→ファイル読み込みも可能だが普通は他の方法で読み込む
2.そのまま出力したい時
3.一度に全て変数に読み込む必要がない時
4.1行ずつ配列に読み込みたい時
5.変数に読み込みたい時
6.ソケットを開いて(略)
7.6とやってる事は同じ。fsockopen使うのが面倒で楽したい時
0932nobodyさん2006/12/19(火) 22:23:14ID:???
>>930
「取得する方法」でなくて「表示する方法」?
無加工で単に表示するだけならそのサイトに直接飛ばすのが早いんじゃ…

という突っ込みはとりあえず置いとくとして、
とにかく表示(出力)がしたいだけならreadfile()。そのための関数だし。
無加工で取得したいならfile_get_contents()。
行単位に何かしら加工したいならfile()。
加工するけど行単位でないならやっぱりfile_get_contents()。
POST処理とかタイムアウト処理とかが必要ならHTTP_Request。
PEARを使えないケース(って滅多に無いが)ならfsockopen()。
ってとこ。

includeやrequireはPHPとして文法パース&実行を行うんで
そういうのが必要な特殊な用途じゃない限り使わない。
また、そんなのが必要なケースに自分はお目にかかったことがない。

fopenは対象ページがよっぽどでかいとかいうわけじゃなきゃ必要を感じない。
WEBページでなくアーカイブファイルとか動画ファイルとかのダウンロードなら
メモリ確保がシビアになるケースがあるのでこれを使う。
0933nobodyさん2006/12/20(水) 00:09:03ID:???
>相手の会員番号をセッションに登録すればいいだけでしょうか?

うん。
0934nobodyさん2006/12/20(水) 03:13:58ID:Cie7izus
try catchをPHPマニュアルでひいてるんですがHITしません。
なんとなく重要な関数(?)っぽいので、
どういう時に使うのかを知りたいのですが、
マニュアルに書いてあるなら誘導していただけませんでしょうか?
ちなみにどういうものなのかも教えていただければ嬉しいです。
0935nobodyさん2006/12/20(水) 03:20:38ID:???
>934
関数じゃなくて「サイト内全検索(all php.net sites)」で
ttp://www.php.net/manual/ja/language.exceptions.php
0936nobodyさん2006/12/20(水) 03:27:32ID:s+1rE1pc
PHPのド素人です

クライアントアプリケーションがCGI(PHP)に対して
octet-streamのデータをPOSTした場合、
PHPではどうやって値を取得すればよいのでしょうか?
URLエンコードされているデータの場合だと_POSTで
nameを指定すれば取得できることは知っているのですが
バイナリだとどうすればよいのでしょうか。
よろしくおながいします
0937nobodyさん2006/12/20(水) 04:28:33ID:???
php-v 4.4.4 mysql-v 4.0.27
nullを許可しているlongtextスペースに UPDATEを使って70000バイトほどの文字列を
入力したいのですがエラーになります。
10000以下位では入力出来ました。
何が原因でしょう?
ヒントください。
0938nobodyさん2006/12/20(水) 08:30:06ID:???
PHPのプロです
>>936
質問が難しすぎてわかりません
>>937
スレ違い
0939nobodyさん2006/12/20(水) 08:33:35ID:???
>>936
$data = '';
$fp = fopen('php://input', 'rb');
while (!feof($fp)) {
    $data .= fread($fp, 1024);
}
fclose($fp);
09409302006/12/20(水) 10:30:25ID:???
>>931,932
ありがとうございました、勉強になりました。
09419362006/12/20(水) 11:04:10ID:s+1rE1pc
>>939
まさにそれです!!
つたない説明文を理解していただき
最大級に感謝します
0942nobodyさん2006/12/20(水) 15:00:15ID:???
そろそろPHP5.2+MySQL5+Apache2.2あたりに移行しようかと思いました。
2年程ブランクがあるので、全てのアプリがメジャーバージョンUPされてて(泣

昔はPear::DB使っていたのですが、
PDO_MYSQLが使えるものかと思い、
マニュアルを確認すると、MySQL4.Xと書いてあります。
PDO_MYSQLはMySQL5でも使えますでしょうか?
0943nobodyさん2006/12/20(水) 15:03:20ID:???
ためしてみればいいじゃん
0944nobodyさん2006/12/20(水) 15:31:53ID:???
全機能全パターンを試せるわけじゃないんだし
それは質問に対する回答になってないよ
09459422006/12/20(水) 15:44:32ID:???
今、インストール中です…
PHP5.2の場合、PDO_MYSQLをインストールするのは
configureのオプションに以下を追加するだけでいいのかにも躓いてます…。
--with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql
0946nobodyさん2006/12/20(水) 15:46:00ID:???
入力に応じてfunctionの引数の数を増やしたいのですが、
そんなことってできますでしょうか?
どういう風にかけばいいのかわからなくて・・・

function A($a, $b){
echo $a+$b;
}

function B($a, $b, $c){
echo $a+$b+$c;
}

こんな感じのを1つにできたらなぁと。
0947nobodyさん2006/12/20(水) 15:50:08ID:???
>>946
配列を引数にする。
09489422006/12/20(水) 15:54:52ID:???
>>946
func_get_args() func_num_args() func_get_arg()

俺だったら、連想配列で渡しちゃいます。
09499462006/12/20(水) 15:55:52ID:???
>>947-948
どうもありがとうございます。
早速試してみたいと思います。
0950nobodyさん2006/12/20(水) 16:01:23ID:ar7H9Wcq
C++ で処理した結果をPHPで書いたページで表示させたいのですが、
ネイティブなライブラリを呼び出す仕組みってあるんでしょうか?
Javaのネイティブメソッド呼び出しのような規約が
決められているのでしょうか?
0951nobodyさん2006/12/20(水) 16:02:34ID:???
1.<input type="text" name="hoge[]">
〜〜
20.<input type="text" name="hoge[]">
このクエリを1個ずつデータベースに入れる際、空白(何もかかれていない)の場合、その変数を消したいのですがどのような方法が良いでしょうか?

こんなのしか思いつきません…
foreach($hoge as $h_arr) {
if(empty$h_arr)) {
unset($h_arr);
}
0952nobodyさん2006/12/20(水) 16:08:27ID:???
よくわからんけど空白じゃなければ挿入処理を行うってしたらだめなのか?
0953nobodyさん2006/12/20(水) 16:09:28ID:???
>>952さん
…石頭な漏れですた…
ありがとう…(;ω;)
0954nobodyさん2006/12/20(水) 16:15:01ID:???
変数ごと消そうとしてたのかw
0955nobodyさん2006/12/20(水) 17:37:39ID:Vi7URSua
$date = YYYY-MM-DD
の形から
1ヵ月後は 「YYYY-MM-DDである」
5ヵ月後は 「YYYY-MM-DDである」
1年後は 「YYYY-MM-DDである」…
と出したいのですが何か良い方法はありますか?
分解して精製するしかないのでしょうか?
0956nobodyさん2006/12/20(水) 17:52:03ID:???
>>955
strtotime()
0957nobodyさん2006/12/20(水) 18:01:10ID:???
>>955
$d = getdate(strtotime($date));
mktime($d["hours"],$d["minutes"],$d["seconds"],$d["mon"] + 1,$d["mday"],$d["year"]);
mktime($d["hours"],$d["minutes"],$d["seconds"],$d["mon"] + 5,$d["mday"],$d["year"]);
mktime($d["hours"],$d["minutes"],$d["seconds"],$d["mon"] + 1,$d["mday"],$d["year"] + 1);
0958nobodyさん2006/12/20(水) 18:29:56ID:0HPzhBAY
つecho
0959nobodyさん2006/12/20(水) 18:37:29ID:Vi7URSua
>>956,>>957両氏
ありがとうございます。
[strtotime],[getdate]初めてしりました。勉強になります。
date('Y-m-d'strtotime('+1 month', strttime($date)));
date('Y-m-d'strtotime('+1 year', strttime($date)));
でできました!
ただ、来週とかができないのです…
date('Y-m-d'strtotime('next week', strttime($date)));
今一度、お力お貸しくださいませ。
09609592006/12/20(水) 18:38:32ID:Vi7URSua
訂正です。
来週末、今月末等ができません。
宜しくお願い致します。
0961nobodyさん2006/12/20(水) 18:47:44ID:???
なんでマニュアル読まないのか…
ttp://jp2.php.net/manual/ja/function.strtotime.php
0962nobodyさん2006/12/20(水) 18:52:36ID:???
そんな面白い関数があったのか、初めて知った
ってか日時関数あまり使わなかったから知る機会なかっただけかな?

>>960
<?php
echo date('Y-m-d',strtotime("now")), "<br />\n";
echo date('Y-m-d',strtotime("10 September 2000")), "<br />\n";
echo date('Y-m-d',strtotime("+1 day")), "<br />\n";
echo date('Y-m-d',strtotime("+1 week")), "<br />\n";
echo date('Y-m-d',strtotime("+1 week 2 days 4 hours 2 seconds")), "<br />\n";
echo date('Y-m-d',strtotime("next Thursday")), "<br />\n";
echo date('Y-m-d',strtotime("last Monday")), "<br />\n";
?>
0963nobodyさん2006/12/20(水) 18:53:06ID:???
DB接続抽象オブジェクトのPDOを使っているのですが、

$dbh->prepare($sql);

このprepareメソッドでフリーズしてるぽいとこまでは分かったのですが
(前後でvar_dump("hoge")を試したところ、前は成功、後は失敗(ずっと応答待ち))
対処の仕方がわかりません・・・せめてどういうエラーか分かればいいのですが方法あるんでしょうか?
よろしくお願いします
0964nobodyさん2006/12/20(水) 18:54:02ID:???
>>963
mysql_error()
0965nobodyさん2006/12/20(水) 18:56:22ID:???
>>963
例外処理やった?
09669632006/12/20(水) 19:08:08ID:XG/2ezlL
ありがとうございます。

>>例外処理
try~catchで囲んでみたんですが拾えませんでした。
原因が違うところにあるとしても、その前後では動いてるの確認(var_dump)してるので
エラーだとしたら何かしら拾えると考えたのですが・・・
応答待ちになってると考えて探った方がいいのでしょうか
09679592006/12/20(水) 19:18:57ID:Vi7URSua
>>962
せっくっす
0968nobodyさん2006/12/20(水) 19:46:27ID:???
>>962
それでも来週末・今月末はできない
0969nobodyさん2006/12/20(水) 20:03:17ID:???
>>968
来週末=来週の土曜日でいいのか?
だったら
echo date('Y-m-d-H:i:s',strtotime("+1 week Saturday")), "<br />\n";
0970nobodyさん2006/12/20(水) 20:08:50ID:???
関係ないが
>>967の明らかな適当な御礼か何かわからないのがウザい
0971nobodyさん2006/12/20(水) 20:30:59ID:t+vbPSXB
imagettftextを使って入力文字を画像にさせたのですが
機種依存文字である�@�A�B�Cなどを画像にすることができません
いろいろなフォントで試してもだめでした。
imagettftextで機種依存文字を画像にするのは無理なのでしょうか
phpのバージョンは5.1です
0972nobodyさん2006/12/20(水) 21:04:46ID:???
今月末
$d = getdate(strtotime($date));
mktime(0,0,0,$d["mon"] + 1,0,$d["year"]);
0973nobodyさん2006/12/20(水) 21:39:34ID:???
外部コマンドのオプションって配列で渡せばいいだけ?
0974nobodyさん2006/12/20(水) 21:42:13ID:???
>>973
日本語でおk
0975超初心者2006/12/20(水) 22:15:46ID:???
phpをyumでインストールしてみたのですが、
何処にインストールされたのか分からなくなってしまいました。orz
(/usr/local/lib/php.iniも見当たらない)
ファイルを検索する方法を教えてもらえないでしょうか。

レベル低すぎる質問でもうしわけないです。
0976超初心者2006/12/20(水) 22:28:01ID:???
ごめ、今のなし。
phpinfoで確認できることを思い出しました。
スレ汚してスンマソン。
0977nobodyさん2006/12/20(水) 23:21:20ID:???
php云々ではなくて、わからないならunix系を無理に使うなって話ですね。
0978nobodyさん2006/12/21(木) 02:29:17ID:???
windowsの起動の仕方とシャットダウンを勉強してこい。話はそれからだ。
0979nobodyさん2006/12/21(木) 04:28:53ID:???
よくURL抽出のプログラムとかを見かけるのですが、
指定したURLから<object>〜</object>や<title>〜</title>などのタグを指定して抽出するものはありませんか?。

参考になるサイトだけでもいいので知っている方教えてください。
0980nobodyさん2006/12/21(木) 04:54:54ID:???
>>979
正規表現。あとは自分でググレカス。
0981nobodyさん2006/12/21(木) 06:01:18ID:???
DBから取得したデータで「\n」を表示させると、
「\n」と直接表示されてしまいます。
ソース内で改行させたいのですが、どのように記述すれば良いのでしょうか?
str_replace("\n","\r\n",$str);
で置き換えようと思ったのですが、置き換えることができませんでした。
09829812006/12/21(木) 06:03:58ID:???
書き込んだ瞬間ひらめき
str_replace("\\n","\r\n",$str);
で解決することができました。
09839422006/12/21(木) 11:18:27ID:???
>>966
try-catchなら、下の設定は必要かも。
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
0984nobodyさん2006/12/21(木) 12:17:01ID:QeRiyNxN
アクセスしてきた人がPCか携帯か判別して、それぞれのサイトに
割り振るCGIやスクリプトってあるんでしょうか?
サーバが対応してくれないので困ってます…。
0985nobodyさん2006/12/21(木) 12:19:19ID:???
検索って知ってる?
0986nobodyさん2006/12/21(木) 12:19:45ID:???
普通にアクセス元解析して振り分けたらだめなのかい?
0987nobodyさん2006/12/21(木) 12:41:12ID:KBdj5Zxx
メールアドレスの入力欄で、全角入力の場合にエラーを
表示したいと考えております。
以下の条件文の*******をどう表記すればよいでしょうか?
お願い致します。

 if(ereg("*******", $var)){
  $errm .= "<span class=mj>E-mail入力値が不正です。</span><BR>\n";
 }
0988nobodyさん2006/12/21(木) 12:47:29ID:???
>>987
ttp://phpspot.net/php/pg%82o%82g%82o%81%95%90%B3%8BK%95%5C%8C%BB.html
0989nobodyさん2006/12/21(木) 13:07:55ID:???
988様ありがとう御座います。
上記サイトで気になったのが、メールアドレスチェックの際
半角英数字と.と-のみのチェックしかしていませんでした。
もしメールアドレスに!や#などが使用されていた場合このスクリプト
だと誤ったメールアドレスとして認識されてしまいます。
メールアドレスのチェックは一般的に半角英数字と.と-のみで
良いのでしょうか?
0990nobodyさん2006/12/21(木) 13:11:56ID:???
>>989
if(!preg_match('/^[a-zA-Z0-9_\-]+$/', $_var)){

}

メールアドレスに使えるのは
A〜Zと-_.と数値だけ
0991nobodyさん2006/12/21(木) 13:13:12ID:???
一般的に!や#が入ったメアドを見たことないのだが・・
もしそれらの文字がでてくるならその時にスクリプトも変更すればよいと思う
0992nobodyさん2006/12/21(木) 13:20:23ID:???
厳密なE-mailアドレスチェックを書こうと思うと酷いことになる。

preg_match('/^(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:"
.\\\\\[\]\000-\037\x80-\xff])|"[^\\\\\x80-\xff\n\015"]*(?:\\\\[^\x80-\xff]
[^\\\\\x80-\xff\n\015"]*)*")(?:\.(?:[^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff]
+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|"[^\\\\\x80-\xff\n\015"]*
(?:\\\\[^\x80-\xff][^\\\\\x80-\xff\n\015"]*)*"))*@(?:[^(\040)<>@,;:".\\\\\[\]
\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|
\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[^\x80-\xff])*\])(?:\.(?:[^(\040)<>@,;:"
.\\\\\[\]\000-\037\x80-\xff]+(?![^(\040)<>@,;:".\\\\\[\]\000-\037\x80-\xff])|
\[(?:[^\\\\\x80-\xff\n\015\[\]]|\\\\[^\x80-\xff])*\]))*$/', $email);
0993nobodyさん2006/12/21(木) 13:21:17ID:???
>>992
どこから拾ってきたんだよwww

そういえば、携帯用IPでアクセス制限できるプログラム載ってるサイト無かったっけ?
0994軟式PHP2006/12/21(木) 13:29:18ID:???
メールチェック正規表現はだいぶ昔だけどこれ見て吐き気がした。
ttp://www.din.or.jp/~ohzaki/perl.htm#Mail
0995nobodyさん2006/12/21(木) 13:34:51ID:???
ttp://www.din.or.jp/~ohzaki/perl.htm#Mail
このaddr-specだけのものを引っ張ってきたんだろうかね。

実用的には @ の前後とも>>990のregex(と \. )で表される文字だけで成り立ってたら
いいことにしよう、ぐらいでいいのかも。
0996nobodyさん2006/12/21(木) 13:46:14ID:???
次スレ立ててきた。本スレあった頃ってテンプレこんなに長かったっけ?

【PHP】下らねぇ質問はここに書き込みやがれ 35
http://pc8.2ch.net/test/read.cgi/php/1166676139/
0997nobodyさん2006/12/21(木) 13:49:18ID:1NDthtg1
スレも残り少なくなってきたので下らない(と思われる)質問。
以前から気になってしようがなかったんだけど....

$int = 5;
if($int > 0) echo "0より大きいらしい";
$int = "string";
if($int > 0) echo "これなんでエラーにならないの?";
0998nobodyさん2006/12/21(木) 13:56:54ID:???
>>997
string > 0 じゃないから『これなんでエラーにならないの?』が表示されない
0999nobodyさん2006/12/21(木) 13:58:56ID:???
999?
1000nobodyさん2006/12/21(木) 13:59:30ID:???
;;;;;ヾ);;;)            (;:;ヾ;;;ヾ
;;;;;ヾ);;;)  ゆったりと   ((;::ヾ;;;ヾ
;;;;;ヾ);;;)   1000げと     (;::ヾ;;;;ヾ
!l ;||}、   ._,,..,,,,_        ;{ll;;;l
;::ll;.| ~ヽxx./ ,' 3  `ヽーっ.xxノ~.|!!;;:
;;;!l }   ミ三三三三三三彡'   };!;;l|
|l !|   `^`゛゛''"""~~゛゛"´~    ノ;;:;:;l
ヘハヘゞ             "^ハブヘ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。