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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2007/12/19(水) 03:33:51ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0002nobodyさん2007/12/19(水) 03:33:53ID:???
【簡易FAQ】 (1/3)
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プログラムとして実行された結果になる。
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
0003nobodyさん2007/12/19(水) 03:33:54ID:???
【簡易FAQ】 (2/3)
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.を参照
0004nobodyさん2007/12/19(水) 03:33:54ID:???
【簡易FAQ】 (3/3)
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0005nobodyさん2007/12/19(水) 03:33:55ID:???
関連リンク
■本家マニュアル   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/
0006nobodyさん2007/12/19(水) 03:33:56ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
【PHP】下らねぇ質問はここに書き込みやがれ 59
http://pc11.2ch.net/test/read.cgi/php/1195204145/
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
【PHP】下らねぇ質問はここに書き込みやがれ 51
http://pc11.2ch.net/test/read.cgi/php/1185521566/
【PHP】下らねぇ質問はここに書き込みやがれ 50
http://pc11.2ch.net/test/read.cgi/php/1184143801/
0007nobodyさん2007/12/19(水) 04:40:48ID:???
httpsのソースを取得したいです。
php5でwindowsです。
いろいろ探しましたが、
http_clientとか
--with-openssl でコンパイルするとか
php4ts.dllを差し替えるとか
どれもphp5でwindowsだと無理?と思われました。
本当に無理なのでしょうか?
0008nobodyさん2007/12/19(水) 08:48:39ID:???
phpではhttpsは無理
rubyなら簡単に取得できる
0009nobodyさん2007/12/19(水) 08:51:35ID:???
>>8
いや別に無理じゃないが…
面倒くさいけど。
0010nobodyさん2007/12/19(水) 10:21:11ID:???
最短一致が2つあると思うように機能しません。

preg_match("/<p.*?NGWORD.*?<\/p>/", "<p id=A><p id=B><a >NGWORD</a></p></p>", $r);

結果:<p id=A><p id=B><a >NGWORD</a></p>

id=Aは余分です。こういうものなのでしょうか?
さくらで試したのでphp4だと思います。
0011nobodyさん2007/12/19(水) 11:28:20ID:???
>>10
その正規表現だと当然のような
あとは正規表現スレで頑張ってね
0012nobodyさん2007/12/19(水) 12:20:31ID:F1MTppUB
POSTしたデータを取得したいんですが、TEXTBOXに「'\'」(シングルコーテーション+\サイン+シングルコーテーション)
を入力してSUBMITすると、受け取ったPHPでは"\\'\\\\\\'"と入っています。
エンコードされないデータを取得するにはphp://inputを使うしかないんでしょうか?
0013nobodyさん2007/12/19(水) 12:23:25ID:???
magic_quote_gpcをoffにすれ
0014nobodyさん2007/12/19(水) 12:28:34ID:???
magic_quotes_gpcがonなんじゃないの?
http://jp.php.net/manual/ja/function.get-magic-quotes-gpc.php
ここみながら確認しる
onならoffへ変更してあげてね
0015nobodyさん2007/12/19(水) 12:31:22ID:???
1000 名前:nobodyさん[sage] 投稿日:2007/12/19(水) 09:15:15 ID:???
1000だったら、php全滅

@一昔前はPerlの達人と恐れられたが、Rubyのクラスが分けわからず時代に乗り遅れた化石Perler
AJAVAの思想は素晴らしいのに周りに理解者が少なく、コストの問題でクライアントがPHPを指定してきて嫌々やらされているJAVAer
B周りはネット全盛なのに、未だにSoketプログラムが理解できずネットの海に出られない鎖国状態のVisualStudioer
CwebデザイナーはPHPぐらいできないとゴミと言われて、いつの間にかPGにさせられてしまった自称webデザイナー
Dプログラマーという職業に憧れているけど、PG的思考ができずに指をくわえて見ていることしかできないゲーマー

さあレッツ プロファイリング!
0016nobodyさん2007/12/19(水) 12:36:47ID:???
設定変えると影響範囲がでかいから、自分は stripslashes 使ってる。 
0017nobodyさん2007/12/19(水) 12:40:16ID:???
>>13-14
正にその通りでした。ありがとうございます!
0018nobodyさん2007/12/19(水) 12:40:30ID:???
>>12
ところで、php://input って何?
0019nobodyさん2007/12/19(水) 12:40:41ID:F1MTppUB
すいません。>>17=12です。
0020122007/12/19(水) 12:44:48ID:???
>>18
以下、ttp://phpspot.net/php/man/php/wrappers.php.htmlからの抜粋ですが、

php://input は、POST の生データの読み込みを 許可します。
これは $HTTP_RAW_POST_DATA に比べて メモリ消費量が少なく、特別な php.ini ディレクティブを設定する 必要がありません。
php://input は、 enctype="multipart/form-data" に対しては 使用できません。
0021nobodyさん2007/12/19(水) 12:57:14ID:???
>>20
ありがとう。勉強になった。
0022教えて下さい2007/12/19(水) 17:15:38ID:n596SeRo
ttp://www.phpweb.jp/dlrank/dlrank.php?id=lineboard
ここで配布されているファイルをUTF-8にソースコードを変えたんですが、

148行目ぐらいの
// 投稿処理
function send() {
$data = file("./lineboard/log.txt");
$newtime = time();

この投稿処理の項目がshift-jisでエラーコードが返されるのでUTF-8でエラー表示をかえしたいんですが
どこをいじってあげればいいのかアドバイスくれないでしょうか。
sjisコードをutf-8で置き換えたんですが、エラーの時の投稿処理される
メッセージが長すぎますなどがsift-jisで返されるので文字化けしていまいます。
0023nobodyさん2007/12/19(水) 17:43:52ID:???
print "<html>\n";
print "<head>\n";
print "<meta name=\"robots\" content=\"index,follow\">\n";
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n";
print "<meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />\n";
print "<meta http-equiv=\"content-script-type\" content=\"text/javascript\" />\n";
print "</head>\n";

これでいけました
解決
0024nobodyさん2007/12/19(水) 18:53:57ID:E60FAw4D
すみません。PHP4の本を読んでサンプル改変してるのですが、PHP4の本はレジスターグローバルをonにしてあるため
ちょっと迷っています。ちなみに可変変数を使っているので私にはむずかしく、、助言をお願いしたいしだいです。

原文は
$data = "FIELD_$j";
$data = $$data;
という2文です。ちなみにforループの中で$jをカウント変数で使っています。
FIELD_$jというのは、WEBページのテキストボックスに上からFIELD_0,FIELD_1...と
つけた名前です(<input type="text" name="FILED_0">という感じで)。

レジスターグローバルをオフにしているため、
$_POST['FIELD_$j']としなくてはならないのですが、そうするためには
$data = "_POST['FIELD_$j']";
$data = $$data;
で文法的に正解でしょうか?よろしくお願いします。
0025nobodyさん2007/12/19(水) 20:30:00ID:???
なんて本だ?そんな糞コードのっけてる本捨てちまえ。
0026nobodyさん2007/12/19(水) 21:30:31ID:???
>>24
捨てろ
0027nobodyさん2007/12/19(水) 21:36:30ID:???
簡単なプログラムでもDBを導入したほうが効率が良いのでしょうか?

アクセスカウンタを例にしますと、
テキストのログファイルを読み込ませるほうがよいのでしょうか?
この程度でもDBと連携させたほうが効率が良いのでしょうか?
簡単なものはテキスト、中規模以上はDBって感じでしょうか?
小さくてもアクセス頻度が高い場合はDBのほうが安全なのでしょうか?

速度、鯖の負荷、その他ありましたら教えてください
よろしくおねがいします
0028nobodyさん2007/12/19(水) 21:37:44ID:???
>>27
DB板で聞け
0029nobodyさん2007/12/19(水) 21:42:39ID:???
>>24

$data = "_POST['FIELD_$j']";
$data = $$data;



$data = $_POST["FIELD_$j"];
この一行でOKでは

なんて本、それ
0030nobodyさん2007/12/19(水) 22:08:24ID:???
>>27
好みの問題。好きにしろとしか言えない。
後々の拡張性とか考えるとDBのほうが楽ではあるが。
0031nobodyさん2007/12/19(水) 22:14:57ID:???
>>27
>>30
http://pc11.2ch.net/db/
0032nobodyさん2007/12/19(水) 22:29:41ID:???
>>30
知ったかはヤメロ。
アクセスログをDBなんかでやったら、
通常のレン鯖で1時間3000PVでコネクションオーバーでエラーが出る。
0033nobodyさん2007/12/19(水) 23:51:11ID:???
>>32
カウンターの話をしてるのにおまいは何を言ってるんだ
0034nobodyさん2007/12/19(水) 23:52:23ID:???
自分でCで作ったサーバにPHPからデータを渡したいんですが,良い方法ありますか?
今はとりあえずストリームソケット用いてやっています・・・
0035nobodyさん2007/12/19(水) 23:56:55ID:???
>>32
>通常のレン鯖で1時間3000PVでコネクションオーバーでエラーが出る。
出ないし。
ていうか、DBより1時間に3000PVとか転送量のほうが問題だ。
0036nobodyさん2007/12/20(木) 00:01:22ID:???
レベルひっくwww
0037nobodyさん2007/12/20(木) 00:09:19ID:???
エサを与えないでください
0038nobodyさん2007/12/20(木) 00:28:55ID:???
んでどれが正しいの?
0039nobodyさん2007/12/20(木) 01:39:32ID:???
規模を考えるより使いやすいほうでやればいいんでないの?
簡単なものでテキストで処理したほうが楽だと思うならそうすればいいし
普段からDB使ってるしDBのほうが楽だと思うならそうすればいい
0040nobodyさん2007/12/20(木) 02:17:17ID:???
1時間に3000PVって全然少なくないか?
0041nobodyさん2007/12/20(木) 02:32:58ID:???
>>40
確かに少なすぎだね。俺のサイトで3000PVって言ったら1分で、それくらい行くから。
0042nobodyさん2007/12/20(木) 02:36:41ID:???
個人サイトでは多い方だとは思うけど、そういうサイトは山ほどあるよな。
レンタルサーバだからといって、多少負荷がかかるにしろ、
その程度のリクエストでDBがパンクしてたらDBなんて許可しないし、
そんな簡単にダウンするほど信頼性の低いもんじゃない。
Googleなんて分散してるとはいえ、1台あたり1秒にどんだけこなしてると思ってるんだ?
0043nobodyさん2007/12/20(木) 04:35:22ID:???
ぐぐるさんのDBは独自拡張だから比較対照にはならんな
0044nobodyさん2007/12/20(木) 04:45:08ID:???
年賀状3枚入り買ったんだけど出す相手が一人しかいないので、2枚余りました。
年賀状欲しい人は、住所と名前を書いてもらえば出します。
0045nobodyさん2007/12/20(木) 06:10:17ID:8BakDrsf
前スレのセッション談義見て不安になったんですが、
http://pc11.2ch.net/test/read.cgi/php/1196511516/814
今作ってる会員システムでは
1)ログインID,ログインPassを使って登録済み情報からユーザ名とidを抜き出す
2)それぞれセッションに入れて 
 ユーザ名は「○○さんの管理ページ」の表記に使う
 idはいろんな情報を登録・更新するときのキーに使う
という風にしています。これはまずいんでしょうか?

また、会員エリア内でフォーム記入→確認ページ という流れで、
修正時に記入ページに戻るときにもフォームに値を入れるためにセッション使ってます
これもまずいとすればこの部分はどうしたらいいんでしょうか?
0046nobodyさん2007/12/20(木) 06:17:36ID:???
>>45
Webアプリのセキュリティについて調べろ
0047nobodyさん2007/12/20(木) 08:21:04ID:???
分かんないひとはレスしないでください(>_<)
0048nobodyさん2007/12/20(木) 09:07:38ID:???
まずい、ってのはどういう意味?

http://pc11.2ch.net/test/read.cgi/php/1196511516/814

これには「セッションなんてログインしたときだけ値を持たせる 」
とは書いてあるけど、
0049nobodyさん2007/12/20(木) 09:10:35ID:???
セッション使わないでHIDDENで持ち回すほうがよっぽど…
0050452007/12/20(木) 09:26:29ID:8BakDrsf
>>46
どうもです あれこれサイト見て勉強します
>>48
どうもです まずい というのは上記の程度のセッションの利用でも、それをきっかけに
のっとりとかされてしまうのかなぁと、、
「修正シーン」に記入値をセッション引用して入れるのも、「ログインしたときだけ値を持たせる」の
ルールからすればダメなのかな、など気になります(別のやり方が思いつかない)

>>49さんの言うとおりhiddenでまわす方法があるのも調べてわかりましたが、
そしたら全部のリンクがpostになる?わけで、デザイン的にいやだしと、、

気が向いたときに回答いただけたら十分なのでよろしくお願いします
自分でも引き続き調べてみますので
0051nobodyさん2007/12/20(木) 12:01:24ID:???
だれがログインしてるかって言う情報はサーバが管理すべきものだから、
セッションで管理すべきもの。

今画面に何を表示しているかについては、議論なり判断があって良いと思うけど、
これについては、個人的には hidden 推奨。
0052nobodyさん2007/12/20(木) 12:04:00ID:???
同意。formタグ内で統一できて分かりやすいし、楽。
0053nobodyさん2007/12/20(木) 12:11:34ID:???
こういう時はsessionだろ
0054nobodyさん2007/12/20(木) 12:53:32ID:???
さあまた盛り上がってまいりました
0055452007/12/20(木) 14:09:16ID:8BakDrsf
>>51-52
え? つまりフォームの記入(修正)ページに入れる値は、hiddenですか?
てことは確認ページで
<input type="hidden" name="namae" />などしてキープして、
戻るボタンにjavascriptかなんかで修正ページに向けてsubmitするの?
ちょっと本屋で見てこよう、、
0056nobodyさん2007/12/20(木) 14:12:30ID:???
ポカーン・・・
0057512007/12/20(木) 14:43:41ID:???
>>55
JavaScript使用可の前提で書くけど、どっちにするかといえば、Hiddenにする。

自分が作るなら、確認用ページはJavascriptで生成するようにする。
確認ページ表示に、サーバに問い合わせる情報が必要であればAjax的な方法で取得する。

携帯みたいな通信コストが無視できない場合は、セッションでの管理も考えるけど。
0058nobodyさん2007/12/20(木) 14:49:48ID:???
会員の情報をサーバーに問い合わせるのにAjaxて怖くない?
サーバーサイドで完結してたほうがいいような気がするが。
0059nobodyさん2007/12/20(木) 14:54:08ID:???
>>58
何で?
Ajaxでもセッション管理は出来るし、不要な情報はブラウザに返さなければ良いし。
0060452007/12/20(木) 21:21:17ID:???
>>57
なるほど 携帯とPCで使い分けするんですね、考えたこともありませんでした
あの、最後にひとつだけ聞きたいんですが
<input type=text name=namae>ってのが記入ページにあったとき、
確認ページは
<form action=kanryou.php>
<input type="hidden" name="namae" value="<? echo $_POST['namae']; ?>">
<input type="submit" value="完了ページへ">
</form>
ていう完了ページに飛ぶ用のフォームと
<form action="kinyu.php">
<input type="hidden" name="namae" value="<? echo $_POST['namae']; ?>">
<input type="submit" value="戻って修正">
</form>
という修正ページに飛ぶ用のフォーム2つを用意するんでしょうか?
フォームは一個で、クリックされたサブミットボタンに応じてactionの値を切り替えるの?
いい加減しつこいとは思うので、本当に暇な人、答えてくれれば結構です。sageます
0061nobodyさん2007/12/20(木) 21:39:52ID:???
いくらなんでもスレ違い過ぎ…
0062nobodyさん2007/12/21(金) 00:43:35ID:???
>>60
<input type="submit" name="action" value="確認">
<input type="submit" name="action" value="修正">
っていう風にすれば、$_POST["action"]を取得することでどの画面をだせば
いいかは分かるんで、確認画面にフォーム二つもいらない。
書き込みも確認も書き込み完了も、どの画面も全部同じひとつのPHPで扱うけどね。
わざわざ三つとかに分けたりしない。

フォーム入力値の受け渡しはセッションでやった方が楽だけど、既出の
通りブラウザ複製などの場合値が書き換わっちゃうのでやらない。
携帯ならこの問題がないけど、セッション使えないのもあるのでやっぱ
hidden使うかなあ。
セッション使うって言ってる人はこの問題にどう対応してるのか不思議。
0063nobodyさん2007/12/21(金) 00:59:28ID:9upg4HjC
セッションというのは諸刃の刃だよ。
セッションを使うことによってセキュリティーは向上するけど、
多用しすぎることで、パフォーマンスが劣化し、結果的にセキュリティーが劣化するというジレンマ。

例えて言えば、医学が進歩して寿命が延びることで、不労人口が増えて、
結果的に人類が滅びるというジレンマだよ。

つまり、目先の良さにばかりいくと、長期的には全く逆の結果になるということ。
0064nobodyさん2007/12/21(金) 01:03:49ID:???
セッション多用でセキュリティが低下ってのはわからんなー
セッション多用してメモリがいっぱいいっぱいになる可能性があるってーなら解るが
0065nobodyさん2007/12/21(金) 01:04:23ID:???
>>63
意味不明
医学が発展することが人類が滅びることとどう結びつくんだよw
0066nobodyさん2007/12/21(金) 01:12:13ID:9upg4HjC
>>65
想像力働かせろよ。
プログラマー脳の典型だよ、まぁ設計には一生なれないな、お前は。

200歳まで生きられる医術・薬品が開発される

生殖機能を持たない、エネルギーだけを消費する不労生体が増える

1人の若者が100人の老体を面倒見る。仕事している暇がない。

国家財政破綻、国力ゼロ、防衛能力ゼロ

発展途上国の台頭、テロリストの台頭

国際経済破綻、無政府状態
0067nobodyさん2007/12/21(金) 01:15:58ID:???
>パフォーマンスが劣化し、結果的にセキュリティーが劣化する
何故に?
0068nobodyさん2007/12/21(金) 01:17:05ID:???
>>66
君は朝鮮人並の誇大妄想脳だねww
0069nobodyさん2007/12/21(金) 01:17:13ID:???
>>66 は無視して良い話だろうけど、メモリを消費しすぎて落ちやすくなれば ISMSで言うところの
可用性が低下するので、広義のセキュリティが低下したと言えなくも無い。
0070nobodyさん2007/12/21(金) 01:19:51ID:???
>>66
65では無いがお前の方が想像力なく見えるぞ
0071nobodyさん2007/12/21(金) 01:26:24ID:9upg4HjC
お前らw
人を批判する前に、原因と結果の繋がりを細かく検証しろよ。

セッション多用

メモリー消費、オーバーフロー

HDDへのスワップが多発

システムが不安定

HDDの中身が画面に表示される

セキュリティー劣化
0072nobodyさん2007/12/21(金) 01:28:42ID:1HbS1x3e
PHPって配列を関数に渡すと、内容がコピーされるけど、このコストって意識すべき?
参照渡しすると、値が書き換えられて帰ってくることを期待してるようなソースに見えるのが嫌。

例えば、実は値を変更するまではマジックコピー的に処理してるとかだと気がラクになるんだけど。
0073nobodyさん2007/12/21(金) 01:30:19ID:???
それはどちらかというとメモリの使用量とかをしてないのが問題なんだろ
多用してるのが解ってるならだいたいピーク時にどれぐらい消費してるとか
そういうのをチェックしてない時点でダメなんだろ
0074nobodyさん2007/12/21(金) 01:31:37ID:???
>>72
基本的に参照渡しもそのまま渡すのも
関数内で変更しない限り内部的に一緒
0075nobodyさん2007/12/21(金) 01:35:41ID:1HbS1x3e
>>74
ありがとう。気がラクになった。
面倒でなければ、情報ソースかヒントだけでも教えてくれるとありがたい。
0076nobodyさん2007/12/21(金) 01:51:45ID:???
>>75
記事自体は凄く古いが
http://www.sound-uz.jp/php/test/first2.html
ここだったと思う

まぁphpのサイトにもパフォーマンスのためだけに使うなって書いてるし
http://www.php.net/manual/ja/language.references.return.php

それでも気になるならmemory_get_usageとか使って
メモリの消費量をチェックしてみるといいかもね
0077452007/12/21(金) 02:41:08ID:???
>>62
本当にありがとうございます、感動しました
頑張ります
0078nobodyさん2007/12/21(金) 04:34:35ID:???
>>62
>既出の通りブラウザ複製などの場合値が書き換わっちゃうのでやらない。
これなんか問題あんの?

0079nobodyさん2007/12/21(金) 05:02:52ID:k3WWlkOg
質問です。
指定した数の乱数順列を生成する関数とかってありますか?
例えば10を指定した場合、
4,3,2,9,8,7,10,1,6,5
3,6,4,2,1,9,7,10,8,5
のような並びで配列とかに格納してくれるような感じで。
もし知っている方いましたら教えてください。
お願いします。
0080nobodyさん2007/12/21(金) 06:01:09ID:???
>>79
shuffle()
0081nobodyさん2007/12/21(金) 06:18:03ID:???
>>80
ありがとうございました。
0082nobodyさん2007/12/21(金) 10:14:56ID:O7QmdYOi
質問です。
ローカルテストのためWindowsXPにApache/2.0.61(Win32) PHP/5.25をインストーラーでインストールしたのですが、
パスを指定してアクセスすると.phpのファイルだけHTTP500内部サーバーエラーが出て表示してくれません。
.htmlは表示されますし、.pqpとか適当な拡張子をつけたファイルも表示はしてくれました。

Apache MonitorではPHPのバージョン表記もされていて、
インストールは完了しているようなのですが、何か原因が分かればお願いします。
0083nobodyさん2007/12/21(金) 11:07:39ID:???
>>76
なるほど。PHPよく出来てるな。
どうもありがとう。
0084nobodyさん2007/12/21(金) 11:18:19ID:???
phpの開発に携わるには、どうしたらいいのかな?
こんな中で開発に携わっている人いる?

いや、一つのメソッドでもいいので実装したら、
それだけで経歴書に「phpの開発メンバー」とかって書けるかなぁ、って。
出来たら、自分が作ったメソッドに自分の名前の一部で使えたら最高なんだけど。
0085nobodyさん2007/12/21(金) 11:19:19ID:???
>>82
自分は詳しくないけど、まずはApacheのエラーログ見たら?
0086nobodyさん2007/12/21(金) 11:54:40ID:???
phpで500エラーってcgiとして動かそうとしてるのか?
0087nobodyさん2007/12/21(金) 11:55:36ID:???
って、5.2.4以降はエラーをブラウザに返さないで500出すようになったのか
0088nobodyさん2007/12/21(金) 11:59:36ID:???
マッピングされてないだけだったりして
0089nobodyさん2007/12/21(金) 12:04:23ID:???
>>84
単にPHP自体の開発が出来るということを示したいだけなら、
野良モジュールをpeclにでも登録すれば?

あるいはメインストリームなモジュールのバグ一覧を見て、
未解決のバグのパッチを辛抱強く投げつづけるか。

そうでなければ、本家MLに参加して議論とパッチの応酬を繰り返すとか。


しかし経験からいわせてもらうと、PHPの開発がホイホイ出来る奴は
PHP言語を使う仕事にはなかなかつかせてもらえない罠
0090nobodyさん2007/12/21(金) 12:10:20ID:???
ちと質問なんですが、
『排他ロック中には他のプロセスが割り込めないので
ロックは1つかければ十分』…と聞いたんですが
例えば…


$lock_fp = fopen("lock.txt","w");
flock($lock_fp,LOCK_EX);

$fl = fopen("data.dat","w");
if($fl){
 fwrite($fl,$write_data);
 fclose($fl);
}

fclose($lock_fp);


こうしておけば、data.datの方もlock.textがロック解除されるまでは
書き込んだりできないんでしょうか?
0091nobodyさん2007/12/21(金) 12:29:26ID:???
>>89
なるほど、参考になるわ。ありがとう。もしかして、開発メンバー?
>しかし経験からいわせてもらうと、PHPの開発がホイホイ出来る奴は
>PHP言語を使う仕事にはなかなかつかせてもらえない罠
これは、どうして?
PHPを開発した人は守秘義務とかに縛られて、
PHPを使った開発はできないとか?

>>90
これ、ちょうど俺が実装したかったロジックだ。なんというタイミング。
俺が実装したいメソッドは、一つのメソッドで面倒なロックをやってくれるもの。

boolean write_data_with_safety_lock($file_name, $data)
ファイル名と書き込みデータを引数で渡せば、
ロック機構を実装したこのメソッドが安全に書き込めるというメソッド。

このメソッド作ったら、絶対php6.0とかに採用されると思っているんけど。ニーズも絶対あるし。
0092nobodyさん2007/12/21(金) 12:47:28ID:???
phpはオープンソースです
0093nobodyさん2007/12/21(金) 13:02:05ID:S3fUHMf0
pearだったかのコーディング規約で、PHPだけのファイルの場合、
<?php だけで、最後の ?> は付けないってのがあったと思うんだけど
これって個人的にはすごく気持ち悪いんですが、こんなもんなんでしょうか?
0094932007/12/21(金) 13:03:54ID:???
>>93
ああ、ZendFrameworkのコーディング規約でした。
0095nobodyさん2007/12/21(金) 13:10:57ID:???
最後に?>を付ける事によって?>以降に書かれた文字列が表示される
表示される事による見つけにくーいバグを回避する事ができる

と俺は勝手に解釈
まぁ画像をphpで出力されてたりとか
携帯向けにHTML出力する時にこういうので苦労した事あったから
俺はつけないけど
0096nobodyさん2007/12/21(金) 13:13:40ID:???
>>91
>>PHP言語を使う仕事にはなかなかつかせてもらえない罠
>これは、どうして?

単なる元野良モジュール作者だけど、
単純にCでマルチプラットフォームな開発が出来る奴ぁそれを仕事にした方がぶっちゃけ収入が良いのです。
0097932007/12/21(金) 13:52:16ID:???
>>95
ああ、なるほど。
改行コードとか目に見えにくい文字列もありますね。
ありがとでした、納得しました。
0098nobodyさん2007/12/21(金) 14:35:20ID:J4pqu08c
童貞先輩が新人女子OLにアタックしてるwww何とかしてくれwww
0099nobodyさん2007/12/21(金) 15:20:15ID:???
くだらねえwww
0100nobodyさん2007/12/21(金) 15:46:33ID:???
おい上原ぁ!!お前が何とかしろ!
0101nobodyさん2007/12/21(金) 15:53:53ID:???
""を含むhtmlタグ入り文章をechoやprintで表示、
変数に格納するにはどうしたらいいんでしょうか。
初心者質問スマソ。
0102nobodyさん2007/12/21(金) 16:01:46ID:???
> ◆質問する時の注意
> ・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
> ・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
> ・ 己の行った操作、変更などを詳しく明記すること。
> ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
> ・ 質問者として、態度をわきまえること。
> ・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0103nobodyさん2007/12/21(金) 16:03:59ID:???
>>101
http://www.php.net/manual/ja/language.types.string.php
01041012007/12/21(金) 16:04:34ID:???
自己解決しました

<a href="index.html">2ちゃんねる</a>だったら

echo "<a href=\"index.html\">2ちゃんねる</a>";とするか
echo '<a href="index.html">2ちゃんねる</a>';とすることで解決しました。

君たちみたいなバカに聞いたのが間違いでした、ニートどもは黙って職安いきなさいクズ
0105nobodyさん2007/12/21(金) 16:11:34ID:Bll92Vnt
Ethnaでのトランザクション処理について、
DB更新を処理ごとに複数の関数で作成する場合は
エラー時にロールバックするためにそれぞれの関数の頭に
 $db = $this->backend->getDB();
 $db->db->autocommit(false);
 $db->begin();
これを書く必要がありますか?
それとも
 $db = $this->backend->getDB();
だけでOKですか?
0106nobodyさん2007/12/21(金) 16:13:00ID:???
最近>>1読まないやつ多いな

>・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0107nobodyさん2007/12/21(金) 16:23:19ID:???
$db = $this->backend->getDB();
$db->begin();
のみでOK
01081012007/12/21(金) 16:40:25ID:???
>>103-104
ありがとう。専ブラなんでsageチェック外すの忘れてました。
>>104さん、他人を騙ってる割にはいい人ですね感謝。
0109902007/12/21(金) 16:57:32ID:mXpbsFrG
あれま、レスが無いと思いきや、同じくsageてました。失敬。

あらかじめロックファイルの方で排他ロックを制御できれば
処理が簡単でいいなぁ、と思ったんですが、>>90のやり方で
data.datに対しての同時書き込みは防げますでしょうか?
0110nobodyさん2007/12/21(金) 17:00:05ID:mCAqxYSI
音楽(asxファイル)の再生数をカウントするスクリプトを作りたいのですが
PHPをどこにはさんでよいのかがわかりません。

一覧ページで再生する曲をチェックし、フォームで取得しています。

form actionで指定したページに

<OBJECT ID='Player' width='300' height='48'
CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'>
<PARAM name='autoStart' value='true'>
<PARAM name='URL' value='file_name.asx'>
<embed src='file_name.asx' autostart='true' width=300 height=48></embed>
</OBJECT>
を記述しています。

PHP5.2.4 APACHE2

よろしくお願いいたします。
0111nobodyさん2007/12/21(金) 17:00:17ID:bUxsI4En
ログイン画面から入る会員領域のトップページを作ってるんですが、
入力されたID・パスが違うときはエラー画面に飛ばす処理が上手くいきません

session_start();
/* ログイン情報問い合わせ-----------------------------------------*/
require_once 'config.inc.php';//DB接続関連の設定ファイルの読み込み
require_once 'adodb/adodb.inc.php';//ADOdbモジュール読み込み
$DB = NewADOConnection(_DB_TYPE);//接続の設定
$DB -> pconnect(_DB_HOST, _DB_USER, _DB_PASS, _DB_NAME);
if(!$DB){//接続エラー時
  header("Location: /system/index.html?ec=1");?//エラーページへ
  exit;
}
php部分は上記の記述だけですが、表示すらされません。リダイレクトもされません
//if文の中のheader;とexit;をコメントアウトすれば、省略されてる
<html>タグ以下のページデザイン部分が表示されます
headerはすべての出力よりも先に書くというルールは知ってるんですが
何も出力してないはずでわけがわかりません
低レベルですみません、教えてください
0112nobodyさん2007/12/21(金) 17:01:30ID:bUxsI4En
すみません、間違えました
×入力されたID・パスが違うとき
○接続エラーのとき
0113nobodyさん2007/12/21(金) 17:01:36ID:???
>>106
テンプレのスレなんてねーぞコラ
0114nobodyさん2007/12/21(金) 17:02:43ID:???
自分で立てろカス
0115nobodyさん2007/12/21(金) 17:15:35ID:???
>>113
あるだろボケ
http://pc11.2ch.net/test/read.cgi/php/1186096518/
01161052007/12/21(金) 17:35:04ID:Bll92Vnt
>>107
ありがとうございます。助かりました。

>>106
すいませんでした。Ethna固有の機能ではなかったので「Ethnaの環境でやってます」という意識でした。
0117nobodyさん2007/12/21(金) 18:01:23ID:???
>>110
音楽ファイルを読み込む前か後ろにカウント処理
0118nobodyさん2007/12/21(金) 18:02:09ID:???
>>111
headerの使い方をもう一度確認
01191102007/12/21(金) 18:42:10ID:mCAqxYSI
>>117
やってみたのですが、やっぱりページカウンターになってしまいました。
if(isset($_POST['maker'])) {
$db = new mysqli("*","*","*","*");
$stt = $db->prepare("select * from music_lank where url=?");
$stt->bind_param("s",$_POST['maker']);
$stt->execute();
if($stt->fetch()!==TRUE) {
$sql="insert into music_lank(url,count) values(?,1)";
}
else {
$sql="update music_lank set count=count+1 where url=?";
}
$stt->close();
$stt2 = $db->prepare($sql);
$stt2->bind_param("s",$_POST['maker']);
$stt2->execute();
$db->close();
print("
<OBJECT ID='Player' width='300' height='48'
CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'>
<PARAM name='autoStart' value='true'>
<PARAM name='URL' value='ASX/{$_POST['maker']}.asx'>
<embed src='ASX/{$_POST['maker']}.asx' autostart='true' width=300 height=48></embed>
</OBJECT>
<br>
");
}
冒頭の「isset」が原因なのはわかるんですが
埋め込みのメディアプレーヤーの再生ボタンを
押した瞬間にPHPを発動できれば解決なんですが・・・。
0120nobodyさん2007/12/21(金) 19:39:49ID:???
そりゃそんなところに仕込めばページカウンターになるw
01211102007/12/21(金) 19:49:36ID:mCAqxYSI
どこに仕込めばよいのかがわからないです・・。
0122nobodyさん2007/12/21(金) 19:55:42ID:???
>>119
>埋め込みのメディアプレーヤーの再生ボタンを
>押した瞬間にPHPを発動できれば解決なんですが・・・。

むり。どうしてもやりたいならAjaxとかFlashつかえ
0123nobodyさん2007/12/21(金) 19:57:20ID:???
1.再生ボタンを素材で用意して、そこを押すと再生ページに移動
2.FlashでActionScriptで組み込む
01241102007/12/21(金) 20:00:51ID:mCAqxYSI
>>122
無理でしたか。それが分かっただけで一歩進めました。

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

>>123
ありがとうございます。
0125nobodyさん2007/12/22(土) 00:11:25ID:???
windows, xammp な環境で
ttp://localhost/rawurlencode(UTF8なファイル名).html
のようにアクセスすると、ローカル上の
UTF8なファイル名.html
ではなく
SJISなファイル名.html
にアクセスしにいくんですが、これってどういう理屈かご存知の方いませんか?
firefox, ie7 共になります。
これって windows じゃなくて linux サーバ上だと
EUCなファイル名.html
を見にいったりすることになるんですかね?厄介。
0126nobodyさん2007/12/22(土) 00:13:29ID:???
>>1
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0127nobodyさん2007/12/22(土) 00:15:38ID:YFLFW+ip
echo <<<EOF
〜〜
EOF
ってのがよくあるけど、この〜〜の部分で関数を実行できないの?
echo <<<EOF
<td>$hoge->gethoge(1);</td>
EOF
って感じ。関数でなく、変数を書いてその値を表示ならできたんだけど。。
0128nobodyさん2007/12/22(土) 00:26:48ID:???
>>127
>>1
◆質問する時の注意 
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ) 
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。 
・ 己の行った操作、変更などを詳しく明記すること。 
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 
・ 質問者として、態度をわきまえること。 
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 
0129nobodyさん2007/12/22(土) 00:45:03ID:VmEGw74T
教えて下さい。
よく、以下の表示を見るのですが、これはどのように制御しているのでしょうか?
セッション数を取得して閾値を越えたら、この表示を出すといった処理なのでしょうか?
私も作りたいとは考えているのですが、何を基準にしていいいのか分かりません。宜しくお願いします。

現在アクセスが集中しています。
現在アクセスが集中しており表示しにくい状態となっております。
申し訳ございませんが、しばらく時間を置いてからアクセスするようお願いいたします。
0130nobodyさん2007/12/22(土) 00:49:58ID:???
>>129
httpのステータスコード見て判別すれ
0131nobodyさん2007/12/22(土) 01:39:24ID:???
>>127
できるよ。ある関数を使うけどね
0132nobodyさん2007/12/22(土) 01:40:47ID:???
>>129
考えられる方法
1.apacheの設定


セッション使うのはもったいないからapacheの設定だな
01331332007/12/22(土) 03:51:34ID:PQDDH9MU
レン鯖やヤフーメイルで仮登録
→メールが送られてきて、リンクをクリックすると本登録
→サーバスペースやメールboxが作られる

この一連の動作を自分のサイトで実現しようと思ったら何を勉強すればいいだろうか。
phpとDB系を組み合わせればできる?
0134nobodyさん2007/12/22(土) 04:03:34ID:???
>>129
DB関連でエラー出たらそれ出してるんだと思ってた。。
セッションやApacheへの接続数より、DBがボトルネックになることが
多い気がするし、「現在アクセスが集中しています。」の表示が出るまで
ちょっと時間かかるサイトが多いし。

ただしDB接続エラーでこれ出すだけでもDBに負荷かかるんで、132の言う
通りApacheでやるのが一番いいかなあ。
Apacheの設定、PHPでセッション数、DBの接続エラー全部でそういう処理
入れといて、DBの接続エラー出る前にApacheの接続数の上限に達する
ようにうまく調整するのが一番よさそう。
0135nobodyさん2007/12/22(土) 04:21:23ID:???
>>133
メールサーバとサーバOSもかな。Webサーバもね。

・仮登録メールを受信してPHPを実行する仕組みが必要。これはメールサーバ。
 本登録用のメールはPHPがメーラーの役割を果たして、メールサーバ利用して
 返信する。
・サーバスペースは物理的にHDDにフォルダ作ることになるから、PHPからシェル
 コマンド叩くとかの処理がいる。手動であらかじめ作っといて、空きがないなら
 登録拒否とかでもいいかもだけど。。
・メールボックス作成はやったことないんでよくわからん。
 コマンドラインでそういう処理ができるメールサーバはありそうだから、やっぱり
 PHPから実行することになるかな。これも手動であらかじめ、ってできるかもだけど。
・Webサーバの知識はWebアプリ作る以上当たり前。


その機能を実装するだけなら通り一遍の知識でも動くと思うけど、
サーバスペース貸与サービスってレンタルサーバでできるのかな?
できないなら自分でサーバたてて運用することになるんで結構大変。
特にメールサーバは下手に立てるとWebサーバ以上に迷惑をかけることになるので。

知り合いがそういうサービス個人でやってたけど、自宅にサーバ
置いてたしなあ。
01361272007/12/22(土) 05:00:56ID:???
自己解決しました
一旦外で実行してから読み込めばいいんですね どうもお騒がせしました
0137nobodyさん2007/12/22(土) 05:57:17ID:???
>>133
分かりにくい質問だけどメールサーバ関係ないんだろ?
セッションやmd5でユニークな値を持つチケットを発行すれば済む話
01381332007/12/22(土) 06:35:51ID:???
>>135 レスありがとうございます。
実は趣味で自宅鯖立てて、最近スペース貸出を考えているのですよ。
それでそんなプログラムできればいいかな、と。

PHPって結構いろんなことできるんですね。PHPを習得するとともに、まずメル鯖立てるために固定IPゲットせねばw
135さんのレスをもとに勉強の方針立てて頑張りたいと思います。

ところでこんな時間にレス、て何者?w
0139nobodyさん2007/12/22(土) 09:36:10ID:???
今日は休日だからな。
自鯖立てるのは結構だが、質問内容からするとかなり不安なので、
最初は審査はさんで手動登録にするとして、鯖管としての勉強をするのが第一。
踏み台になって周りに迷惑かけないようにね。
01401332007/12/22(土) 11:10:17ID:???
>>139
余計なお世話です。
0141nobodyさん2007/12/22(土) 11:21:56ID:JyLvDbSd
classが存在するか調べる方法はありませんか?

PEARでDB.phpが読み込まれているかチェックするために
クラスチェック("DB")のようにしたいのです
0142nobodyさん2007/12/22(土) 11:24:26ID:JyLvDbSd
class_existsで解決しました
0143nobodyさん2007/12/22(土) 13:21:02ID:iV97cpSO
$str = "1+2+3"; というようになっているstring があったとして、
これを数式だと解釈して 1+2+3 (= 6) を返すような関数て
ありましたかね?
0144nobodyさん2007/12/22(土) 13:21:36ID:???
>>143
eval
0145nobodyさん2007/12/22(土) 13:36:39ID:iV97cpSO
>>144 ありがとう。

$str = "1+2";
echo $str. "\n";
eval("\$str2 = $str ;");
echo $str2. "\n";

解決した。
01461382007/12/22(土) 13:46:19ID:???
>>133
まあ鯖管やるといろいろと勉強になるし、がんばってくれ。
ただ139と同意見でもあるので、いっぺんにいろいろやろうとせずに
PHPならPHPだけって感じでやっていったほうがいいと思う。
メールサーバは半日放置すればすぐ踏み台にされるし、他のメール
サーバの管理者から文句が来たり、ISPその他から警告来ることがあるよ。
0147nobodyさん2007/12/22(土) 15:17:14ID:JyLvDbSd
PEARのmimeDecodeで
$structure = Mail_mimeDecode::decode($params);
をしたときに、メールの件名・本文の文字コードを取得したいのですが、
本文はcontent-typeにありますけど、件名がありません。
どこで取得すればよいのでしょうか?
0148nobodyさん2007/12/22(土) 15:29:17ID:XDbomIjm
本でもWebでもいいんですが、PHPの長い良質なソースコードないですか?

勉強したいので。。独学ですが、普通の本のソースじゃものたりなくなりました。。

よろしくお願いします。
0149nobodyさん2007/12/22(土) 15:35:26ID:???
>>148
pear
zend framework
あたりかな
01501482007/12/22(土) 15:40:37ID:XDbomIjm
>>149
どうもありがとうございます。その2つをとりあえず見てみます。あと、思いついたんですが
洋書でいいのないですかね?あっちの方が本格的な気がして。。洋書でいいのを知っている方
教えてください。よろしくお願いします。
0151nobodyさん2007/12/22(土) 15:49:04ID:???
シェル形式(perl形式)のコメント#って廃止予定とかあったりする?
あまり使われてないようだけど、#がスクリプトに混ざってたりしたら気持ちわるかったりするのかな

#昔書いたスクリプトで、いたるところにコメントで/* */を使ってあるのをメンテしてて、
#/* */使って問題箇所を切り分けようとしたら酷い目にあった
0152nobodyさん2007/12/22(土) 15:50:38ID:???
>>150
「気がする」程度なら必要ない
それよりまず日本語ドキュメントを完全マスターすべし
0153nobodyさん2007/12/22(土) 15:54:32ID:???
>>148
PHP5でクラス使ってるのが所望なら、mediaWIKIおすすめ
俺はめまいがして静かにエディタを閉じたけどw
0154nobodyさん2007/12/22(土) 15:54:49ID:???
ユーザーが入力した式を
evalで実行してます。
(計算機のようなものです)

でもこうすると、ユーザーがたとえばファイル読み書きなんかの
命令を入れたら実行されてしまいます。

なんかいい方法はありますか?
ちなみに単純な計算機ではなく、関数など複雑な
式を入力することが出来きることが条件です。
0155nobodyさん2007/12/22(土) 15:55:21ID:???
pearなんてあんま良質とは思えないのも多々ある訳だが
動物本でも読んだら?
0156nobodyさん2007/12/22(土) 16:00:36ID:???
pearといえばNET_IP_V4←うろおぼえ
で、どんなIPアドレスでもネットワーク内ある(trueになる)という、
物凄いバグありバージョンがあったな
設置だけして使ってはいなかったけど
0157nobodyさん2007/12/22(土) 16:13:35ID:???
>>154
なんのためにそんなの作ってんの?
0158nobodyさん2007/12/22(土) 16:23:32ID:???
>>154
自分も式を扱うプログラム書いてるけど、色々処理が必要なので真面目にパースしてる。

簡単に済ませるなら、正規表現で計算式以外の要素が無い事を確認するのが良いんじゃないかと思う。
正規表現では対応しにくいようなら、Tokenizer使って分解してチェックじゃないかな。
http://jp2.php.net/tokenizer
0159nobodyさん2007/12/22(土) 17:20:10ID:???
>>157
複雑な検索条件入力 ですが?
0160nobodyさん2007/12/22(土) 18:52:20ID:???
>>154
>>1
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
01611482007/12/22(土) 19:01:21ID:???
>>152 日本語ドキュメントもしっかり読んでみます。ありがとうございました。
しかし、ソースを打ちたい。。

>>153 MediaWikiをググって見てみました。今のところどういうものかわかりませんが
時間ができたらよく調べてみようとおもいます。どうも有用な情報ありがとうございました。

お二方、お礼が遅くなりすみませんでした。ありがとうございました。
0162nobodyさん2007/12/22(土) 20:40:17ID:???
>>150
Advanced PHP Programming
がいいよ(洋書)。
0163nobodyさん2007/12/22(土) 23:19:52ID:???
>>162
すごい、きになる。
やっぱ洋書がいいのかなあ
0164nobodyさん2007/12/23(日) 01:20:47ID:???
別に変わらんと思うが
0165nobodyさん2007/12/23(日) 01:28:41ID:???
そりゃまぁ、書いてある事は同じだろ。
というか違う事が書いてあったら困る。
0166nobodyさん2007/12/23(日) 02:11:39ID:???
>>163
もう少しで新しいバージョンのが出るらしい。
今気付いたけど、Amazon見ても目次もないから買おうか迷ってる人が判断できないな。
もったいない。

この本には、中括弧の置き方くらいの事に関しても、BSD style, GNU style,
K&R style のそれぞれの説明とかがある。

あと、Extensionの説明だけでなく、「Writing SAPIs and Extending the Zend Engine」
なんて章があって、SAPIで使ってる構造体から説明してる。

データベースマッピングの複数のデザインパターンの説明もあって、
The Active Record Pattern とかいろいろ書いてある。

もちろんその他には、エラーハンドリング、テンプレートシステム、テスト、
キャッシング、セッション、認証、RPC、プロファイリングとかの説明もある。

なんて言うか、本格的。
なんで日本語訳されてないんだろう。
0167nobodyさん2007/12/23(日) 03:32:32ID:KIQSv7/M
[a.php]
<?
$hoge = 'a';
〜インクルードここまで
$hoge = 'b';
?>

[include.php]
<?
include 'a.php';
echo $hoge;
?>

$hoge = a にしたい場合、ifで制御する方法はありませんか?
include_break();みたいな
01681672007/12/23(日) 03:33:34ID:KIQSv7/M
ifで制御 → if以外で制御
0169nobodyさん2007/12/23(日) 04:06:10ID:???
ファイル分ければ?
0170nobodyさん2007/12/23(日) 04:16:30ID:???
>>167
わざわざ難しく考えないで、今できる知識で組めよ。
コードを今の10倍の量を書いたとき、新しい技法を覚えるってことよ
0171nobodyさん2007/12/23(日) 04:57:03ID:???
phpに関する初歩的な質問です。書いたコードは下に示します。
htmlquickformでメールフォームを作りたいのですが、その過程でprocess関数を使うところでつまづいてしまいました。
process('test',false)としてfunction test($values)と受け取るのですが、
具体的にvaluesが何の値を受け取っているのかがよく分からないのです。

下のコードでいうと
function mail($values)
{
mb_send_mail(??????????????);
}
のところで、「valuesって一体何?」と思うわけです。
直感的にmb_send_mail(:::@:::,$subject,$body);としてもダメなようですし、、、混乱してます。(C→phpとやってきたからかな、、、
0172nobodyさん2007/12/23(日) 04:57:57ID:???
ryaku
$form->addElement('header',NULL,'お問い合わせ');
$form->addElement('text','name','名前');
$form->addElement('text','mail','メールアドレス');
$form->addElement('text','subject','件名');
$form->addElement('text','body','本文');
$form->addElement('submit','sbm','送信');

$form->addRule('name','名前を入力してください。','required','client');
$form->addRule('mail','メールアドレスを入力してください。','required','client');
$form->addRule('mail','メールアドレスを正しく入力してください。','email','client');
$form->addRule('body','本文を入力してください。','required','client');

$form->setRequiredNote('<font color="Red">*</font> 必須項目です。');
$form->setJsWarnings('入力ミスによりエラーが発生しました。','エラーをご確認の上、再度[送信]ボタンをクリックしてください。');

if($form->validate())
{
$form->process('mail',FALSE);
}
else
{
$form->display();
}

function mail($values)
{
mb_send_mail(??????????????);
}

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

<data>
aaa
<p>bbb</p>
ddd
</data>

てなXMLの"aaa"とか"ddd"のようなTextノードにはどうやって
アクセスしたらいいでしょう??
asXML()すると復元できるんだよなぁ
0175nobodyさん2007/12/23(日) 06:23:36ID:/N04QiDA
sageてしまった……すいませんorz

SimpleXMLElementで、

<data>
aaa
<p>bbb</p>
ddd
</data>

てなXMLの"aaa"とか"ddd"のようなTextノードにはどうやって
アクセスしたらいいでしょう??
asXML()すると復元できるんだよなぁ


1つ思いついたのは、
$dom = dom_import_simplexml($xml);
$dom->firstChild->nodeValue = 'zzz';
$sXml = simplexml_import_dom($dom);
とやる。
ってこれじゃーSimpleXMLの意味がない
0176nobodyさん2007/12/23(日) 07:02:39ID:???
XMLはあまり得意じゃないんで補足を待ちたいが、"aaa"とか"ddd"ってそれぞれ
単独のテキストノードなの?
aaa〜dddまでひとつのノードじゃないかって気がするんだけど。
<data></data>しかないじゃん。

さらにそのサンプルは<data>zzz</data>にしてる気がするんだけど、
"aaa"や"ddd"へのアクセスってのとの関連がよくわからん。
0177nobodyさん2007/12/23(日) 07:13:23ID:???
んでいちお意図を汲み取ると
<?xml version='1.0' standalone='yes'?>
<data>
<content>aaa</content>
<content><p>bbb</p></content>
<content>ddd</content>
</data>
ってことになるのかな。
$dom->content[0]で"aaa"、$dom->content[2]で"ddd"が取得できる。

後半意味が分からんのは変わらんので、
http://jp2.php.net/manual/ja/ref.simplexml.php
ここの例の部分よく読んで意図がちゃんと分かるように書き込みやがれこのキャベツ野郎。

あ、書いたXMLが正しいかどうかはとりあえずメモ帳当たりにコピペしてXMLで
保存してIEあたりで開けば分かるよ。
0178nobodyさん2007/12/23(日) 07:19:03ID:???
>$dom->content[0]で"aaa"、$dom->content[2]で"ddd"が取得できる。

ここ紛らわしいかな。
$xml = new SimpleXMLElement($xmlstr); //$xmlstrには177のXML文字列が入る
$content0 = $xml->content[0]; // aaa
$content2 = $xml->content[2]; // ddd
ってことね。
01791752007/12/23(日) 07:45:21ID:/N04QiDA
<data>
aaa
<p>bbb</p>
ddd
</data>

この状態でXMLとして正しくてDOMで厳密にいうと、
Elementノードdataの最初の子はTextノードで、"\naaa\n"となる。
2番目の子は、Elementノードpで最後の子がTextノードの"\nddd\n"。

んで、SimpleXMLElementから、"\naaa"などのTextノードにアクセスしたい。

$sXML = new SimpleXMLElement($xml);
$dom = dom_import_simplexml($sXml);
$dom->firstChild->nodeValue = 'zzz';
$sXml = simplexml_import_dom($dom);
ってやると、結果は
<data>zzz<p>bbb</p>
ddd
</data>
となる。

'zzz'の部分を"\nzzz\n"とすれば、
<data>
zzz
<p>bbb</p>
ddd
</data>
こうなる。


01801752007/12/23(日) 07:49:19ID:/N04QiDA
あっしまった。s/sXML/sXml/です。

ちゃんと書くとこう。
<?
$xml = <<<XML
<data>
aaa
<p>bbb</p>
ddd
</data>
XML;

$sXml = new SimpleXMLElement($xml);

$dom = dom_import_simplexml($sXml);
$dom->firstChild->nodeValue = 'zzz';
$sXml = simplexml_import_dom($dom);

echo $sXml->asXML();
?>
0181nobodyさん2007/12/23(日) 10:36:41ID:???
すみません質問です。 ヒアドキュメントの中で、プルダウンを動的に生成できません
というか、ヒアドキュメント外で実行した関数の値(プルダウン表示)を中に
持ち込めない状況です
$address1_PD = $callData->makeKenPd("address1",$address1,1);
(↑の関数は、<option val=n>nName</option>を40回ほどループしてprintします)
echo <<<DOC
<select name="address1">
$address1_PD;
</select>
DOC;
とやってもうまくいきません $address1_PD = print($callData〜 なども
試したんですがダメでした
お手数をおかけしますが、回答お願いします php5 apache2 winxpです
0182nobodyさん2007/12/23(日) 10:37:51ID:6DPIzhWO
すみません 上の181書き込みe-mail欄を消去しそこねました
アドバイスよろしくお願いします
0183nobodyさん2007/12/23(日) 11:22:06ID:???
おっぱいカッコ
0184nobodyさん2007/12/23(日) 11:42:34ID:MvcJEZMN
fgetcsvについて質問です。
A,B,C,D,E
F,G,H,I,J
K,L,M,N,O
という内容のテキストファイルcount.txtから

$handle = fopen("count.txt", "r");
$data = fgetcsv($handle);
for ($c=0; $c < 5; $c++) {
echo $data[$c];
}
fclose($handle);

というコードを用いてファイル内容を表示させようとしてるのですが
一行目までのABCDEまでしか値を取得出来ません。
二行目を抜き出すにはどんな条件を設定すればいいのでしょうか。
PHPManualを見ても、どの条件が該当するのか分からなかったので
よろしくお願いします。
0185nobodyさん2007/12/23(日) 11:53:45ID:???
>>184
http://jp2.php.net/manual/ja/function.fgetcsv.php
例をよく見ろ
0186nobodyさん2007/12/23(日) 12:12:21ID:MvcJEZMN
>>185
すみません、質問が悪かったですね。

Manualでは表示のためにwhileでfor文を繰り返してることは分かるのですが
!== FALSEがファイルの終端での全処理終了条件であることを除けば
単純にfor文を繰り返してるだけに見えるんです。
ABCDEABCDE...とループを繰り返さないための条件が何処に該当するのか、
ご教授お願いします。
0187nobodyさん2007/12/23(日) 12:41:31ID:???
>>186
fgetcsv()すればファイルポインタが1行進む。
しまくればいずれEOFに到達して終わる。
0188nobodyさん2007/12/23(日) 13:01:34ID:MvcJEZMN
>>187
whileの継続条件で用いられているfgetcsvが、
同時にポインタを進める役割も果たしてたということですか。
ポインタについてあまり学んでいないので気づきませんでした。
回答ありがとうございました。
0189nobodyさん2007/12/23(日) 13:06:40ID:Dd+txFZ/
質問です。
変換するコマンド、をexecさせたいのですが、
どうしても引数を受け取る関数が必要なのでしょうか?
例えば、
exec("convert $hoge $huga);
$hogeが引数のファイル
$hugaがconvertした後のファイル
としたいのですが、失敗してしまいます。
0190nobodyさん2007/12/23(日) 13:25:53ID:???
上の文を訳しなさい。【30点】
0191nobodyさん2007/12/23(日) 13:37:38ID:???
質問です。
FATをNTFSに変換するコマンドconvertをPHPのexec関数で実行させたいのですが
どうしても出力を受け取る第二引数が必要なのでしょうか?
例えば、
exec("convert $hoge $huga);
$hogeが変換するファイル名
$hugaが変換後のファイル名
としたいのですが、失敗してしまいます。
0192nobodyさん2007/12/23(日) 13:39:07ID:j7tEfXX4
質問があります。
PHP+PostgresqlまたはPHP+mysqlでシステム
を作ろうと思うのですが、PHP5が認識をしてくれません。
PHP info();でその部分がでてきません。
なんのパッケージをインストールしたらいいのでしょうか?
OSはFedora core4です。
板違いかもしれませんが、よろしくお願いします。
0193nobodyさん2007/12/23(日) 13:42:43ID:???
>>192
何をしたけど認識をしてくれないの?
0194nobodyさん2007/12/23(日) 13:48:06ID:???
SQLを、じゃない?
01951942007/12/23(日) 13:48:45ID:???
誤爆
0196nobodyさん2007/12/23(日) 14:46:06ID:???
>>192
板違いです
「fedora core4 php mysql インストール」とかでググレカス
0197nobodyさん2007/12/23(日) 14:55:33ID:???
板違いだが教えよう。
普通はyumでいれればパッケージ全部はいるはずだが、あとはphp-mysqlを入れればよいはず。php関連に限っていえばね
01981762007/12/23(日) 15:49:32ID:???
>>175
そのXMLであってるのか。。
DOM的には確かにノードの扱いはそうなると思うけど、XML的には
\naaa\n<p>bbb</p>\nddd\n がひとつのノードになるのは確かだと思う。
なので、
・DOM使ってXML的にもノードがばらけるように変換する。
・XML文字列を適当に文字列変換する。

くらいしかやっぱりないような気がするけどなあ。
0199nobodyさん2007/12/23(日) 16:13:53ID:???
>>175>>176
\naaa\nはTextNode
<data></data>、<p></p>はElementNode
firstChildNode、SiblingNodeとNodeTypeとかでとれる気もするけどXMLってそういう使い方はしない気がする。
そしてSimpleXMLElementにそれがあるかどうかは知らない。
0200nobodyさん2007/12/23(日) 17:04:49ID:4Xlz9Mde
複数の変数をいっきにチェックしたいのですが効率的な書き方ありませんか?

if (empty($var1) && empty($var2) && empty($var3))

今こんな風になってます。
0201nobodyさん2007/12/23(日) 17:13:25ID:???
自分で関数を作る
0202nobodyさん2007/12/23(日) 17:52:07ID:???
emptyて !$hoge と同義じゃなかたけ?
0203nobodyさん2007/12/23(日) 17:56:22ID:???
>>200
別にその書き方でいいと思うんだけど。
02041752007/12/23(日) 18:08:04ID:/N04QiDA
>>175
XPathでもXQueryでもSAXとかも全部別々にあつかうし
XMLでも、それぞれ別にあつかうよ

>>198
それについては、>>179-180

結論としては、やっぱ無理っぽい
SimpleXMLElementって名前な時点で、Elementノードしか
無理じゃないかな〜て気はしてたんだ

それでもやるなら、SimpleXMLElement派生させるなりHelper関数用意するしかないっぽい
02051752007/12/23(日) 18:11:12ID:/N04QiDA
どんべえ食いながらレスしてたら、レス番号ずれまくり……orz
>>204において

>>175>>198
>>198>>199

です。
0206nobodyさん2007/12/23(日) 18:11:19ID:???
>>202
変数限定(返り値や即値は使えない)ってことと
UndefinedVariableエラーにならないってとこらが違うかな。
0207nobodyさん2007/12/23(日) 19:35:35ID:???
>>200
in_array
0208nobodyさん2007/12/23(日) 19:56:37ID:Lt3D3rib
PHP4 から PHP5に移行して
サンプル集を買ってきたんですが

$select = "select * from hoge where name = $hage";
$query = mysql_query($select);
$result = mysql_result($query,0,0);

などと書いてた事が

$db = new mysqli(-------);
$aa = $db->prepare("select * from hoge where name = ?");
$aa->bind_param("s",$jakld);

みたいな文に変わってるのですが、結局どっちでもいいのでしょうか?
かなり戸惑ってまして一から勉強しないと全く分からない状態で・・。
0209nobodyさん2007/12/23(日) 19:57:23ID:???
>>200
1つのメソッドにする。
by 「リファクタリング」
0210nobodyさん2007/12/23(日) 20:04:09ID:???
>>208
mysql関数を使うスタイルとmysqliを使うのは
好き好きでいい(でもPHP5以降ならmysqli使った方がスタイルが入り混じらないので良い)
けど、後者のサンプルにあるプリペアードクエリの発行の仕方は反映した方が良いよ。
0211nobodyさん2007/12/23(日) 20:23:13ID:???
>>208
練習したり、ちょっとした使い捨てでないなら、どっちもよくない
PDOでもadodbなりPEARのライブラリなり、何でもよいが、
なんらかのインターフェイスでラップするべき
お薦めは、PDOだ。
0212nobodyさん2007/12/23(日) 20:24:33ID:2UmaE0fQ
pdoってなんですか?
02132082007/12/23(日) 20:38:27ID:Lt3D3rib
>>210
ありがとうございます。
prepareはたしか、パフォーマンスの向上と自動的にエスケープ
されるんでしたよね。

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

>>212
PHP Data Objects (PDO)
俺が説明するより検索したほうが確かな情報が得られると思うので。
02142082007/12/23(日) 20:51:51ID:Lt3D3rib
あ。。。
mysql4.1移行はmysqliを使わないとだめなんですね。。
サーバーが4.1以降だからmysqli使わないと・・・。

勉強しなおしか・・・。
0215nobodyさん2007/12/23(日) 21:04:06ID:???
別にmysqlでも書けるけど
02162082007/12/23(日) 21:34:13ID:Lt3D3rib
>>215
え?
試してみましたがエラーになってしまいます・・。
0217nobodyさん2007/12/23(日) 21:38:57ID:???
エラーになったと言われても
エラーを晒さないと解らないな

・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
02182082007/12/23(日) 21:44:48ID:Lt3D3rib
>>217
大変失礼しました。。。
平凡なエラーなんですが
Call to undefined function mysql_connect
です。

なんか凡ミスしてるっぽいなぁ・・・。
0219nobodyさん2007/12/23(日) 21:56:53ID:???
ぉぃぉぃ…
0220nobodyさん2007/12/23(日) 22:15:35ID:???
>>218
エスパーなので、Windowsだということも判るし
php_mysqli.dllが読み込まれてるのに
php_mysql.dllは読みこまれてないということも判る。
02212082007/12/23(日) 22:18:13ID:Lt3D3rib
!!
あなたの言うとおり!

ありがと。
0222nobodyさん2007/12/23(日) 22:20:25ID:???
すげえw
0223nobodyさん2007/12/23(日) 23:00:41ID:???
以上、自演でお送りしました
0224nobodyさん2007/12/24(月) 00:05:58ID:???
ID:Lt3D3ribが楽しそうでなによりだ。
0225nobodyさん2007/12/24(月) 00:48:15ID:sRF6QhUm
192です。
fedora core4 php mysql インストールで
ググッてみたんですが、でてきません。
また、今後はどこの板で聞けばいいでしょうか?
後postgresqlも認識してくれないのですが。
php-mysqlと同じでいいのでしょうか。
すいませんが、よろしくお願いします。
このことに関するサイトがあれば教えてください。

02262212007/12/24(月) 00:59:41ID:PecBMOMk
>>225
ここじゃだめかしら?

http://www.fedoraz.com/
0227nobodyさん2007/12/24(月) 01:37:31ID:???
>>225
それで検索すると>>226が出てくるわけで、それで分かんなきゃあきらめたほうがいい
0228nobodyさん2007/12/24(月) 02:52:04ID:???
あるサイトに昨日アクセスした際にスクリプトエラーが出て、
その内容が画面に出た際、xxx.incの何行目のエラーとか出た。
試しに、xxx.incのURLで指定したら、そのソースが丸見えwwで、
その中にDBの接続のためのパラメータ(ID、PWDまで)まで書かれている。

こんな馬鹿な作りをしているサイトに天誅を下そうと思うのだが、
面白い天誅の食らわし方ない?

知っている人も結構多い、大きめのサイトなんだが。
0229nobodyさん2007/12/24(月) 03:11:37ID:???
>>228
は?直ちに管理者にその旨を連絡するべきなのに、悪用しようなんてお前が逆にリアル天誅を食らうだけだから

一応言っておくと、明示的に公開されていないものに対してのアクセスで逮捕された前例もある
0230192です。2007/12/24(月) 03:19:58ID:sRF6QhUm
226さん、227さんありがとうございます。
postgresqlも使いたいのですが、yumでphp側のインストール
はなにをすればよいでしょうか?
サイトがあれば、サイトはありがたくブックマークしました。
02312082007/12/24(月) 05:28:08ID:PecBMOMk
>>229
「リアル天誅」ウケたwwwww

>>230
ごめんよ。fedora core4 とか初耳だし
OS違うとそんなにインストの方法が変わるなんて
知らないし、教えてあげられんよ。。。
0232nobodyさん2007/12/24(月) 05:48:42ID:???
>>230
検索ぐらいしようぜ
yum postgre phpとかで検索すれば直ぐ出てくるだろ
0233nobodyさん2007/12/24(月) 08:41:55ID:???
>>229
じゃ、リアル天誅を食らわないように、日本の捜査権が及ばないクラッキング集団のサイトとかないの?
そこで、IDとPWDさらせば問題ないってことだよね?
0234nobodyさん2007/12/24(月) 09:30:50ID:P1UMzL+u
phpMyAdminでCSVデータをインポートする時に、
CSVのフィールド囲み記号は「"」で指定すると、
データの数値で「"」で囲まれていない部分があると読み込んでくれません。
(「フィールド数が合わない」とエラーが出ます。)

もともとこういう仕様なのでしょうか・・・?
それだと、ダウンロードしてきたデータが読み込めなくて大変です
(基本的に「"」で囲まれているのは文字列だけなので)
0235nobodyさん2007/12/24(月) 09:49:55ID:???
>>233
やー、考え浅いぞ
そういう奴らそもそも裏取るまで行動起こさないし、まずそういう情報投げた奴を洗うし叩くし。要はここと大差ねえな
そういう厨房っぽい所存でいくなら、ハッカーになりたがってるご同類の
サイトの掲示板にでも書き込んだ方がいいんじゃねえの。
無論揉め事になったら煽動で関わった事になるけどな

忠告はした
alt.2600あたりでぐぐってあとはお好きなように。類似のアレなのも色々芋蔓で引っかかるでしょう
一応先に自衛でtorやらのなんとかする品物でも入れとけよ
0236nobodyさん2007/12/24(月) 10:14:28ID:???
>>235
詳しくサンクス。参考になった。

最近多いんだよな。素人のくせに自鯖立てて踏み台にされて迷惑掛けているやつとか、
簡単に会員の個人情報がわかるようなサイトとか、
こういうのは天誅を下さないとダメだろうなぁ。

こういう奴に限って、過失を認めず、過失を認めても誤って終わりとか。
警察や役所やプロバイダーやクレジット会社から個人情報が流出しても、損害賠償なんてしないし、天誅しかないな。
0237nobodyさん2007/12/24(月) 10:17:04ID:???
ちなみに、俺はクレジット会社から個人情報が流出されて、
一時期毎日のようにサラ金業者から電話に掛かってきた。
テレビで報道されているのを知って、苦情言っても、
謝っても、それは私たちから漏れている情報ではないかの一点張り。理不尽な世の中に天誅を。
0238nobodyさん2007/12/24(月) 10:34:27ID:???
世知辛い大義名分だなあ
もっと理性的な説諭の手段がありそうなもんだが。
ま、ただの感想だ。流してくれや
02391922007/12/24(月) 11:13:48ID:sRF6QhUm
http://shikabo.ddo.jp/?cat=85
これがみつかった。
ほかにないかな?
02401922007/12/24(月) 11:14:47ID:sRF6QhUm
連続すいません。
上記のがみつかったのですが、
ほかにもっと詳しく書いてあるサイトはないかな?
知っている人よろしくです。
0241nobodyさん2007/12/24(月) 11:23:36ID:???
もっと詳しいのが必要ってことは、そこの手順と対処方法で躓いたんだよね?
どこで躓いたのか明記しないと誰も有益な情報返せないんじゃないかな
只でさえfcな人がどんだけ見てるのか判らんのだし。

linux板とか当たってみるのもありかも
0242nobodyさん2007/12/24(月) 12:32:11ID:???
なんとか苦労してApache2.0とPHP5をインストール完了。
ブラウザはFireFoxを使ってるんだけどアドレスバーから「http://localhost/abc.php」と打つと
問題なくページが表示されるんだけどフォルダからダブルクリックで「abc.php」を開くと
ブラクラみたいにタブが無限に開いていってしまう (; ´Д`)

どうしたらいいんですか・・・・?
0243nobodyさん2007/12/24(月) 13:19:28ID:???
>>242
abc.phpのどっかが無限ループになってるんでしょ。
winならxamppという便利なものがあんのに。
0244nobodyさん2007/12/24(月) 15:48:25ID:tHEPo1ls
<form>
<input type="text" name="text">
<input type="submit" value="test1" name="test1">
<input type="submit" value="test2" name="test2">
</form>

こんな感じでformの中にinput-submitのボタンが複数あって、
押したボタンによってPHP側で"text"の処理分けしたいんですが、
valueの値で判定するしかないんでしょうか。
valueだとボタンの名前として表示されるため他の方法を探しています。
0245nobodyさん2007/12/24(月) 16:15:56ID:???
>>244
var_export($_GET); したものをtest1、test2のクリック時に見比べてみ
0246nobodyさん2007/12/24(月) 16:27:38ID:???
isset()
02472442007/12/24(月) 17:11:12ID:tHEPo1ls
>>245
valueの値だけは違いがありますね。

input-submitじゃなくて
button-submitを使いボタン名をvalueとは別に設定することで解決しました。
レスありがとうございました。
0248nobodyさん2007/12/24(月) 17:19:57ID:???
どうみても押したボタンのnameとvalueのセットだけが送信されます。
本当にありg(ry
02492442007/12/24(月) 17:29:41ID:tHEPo1ls
別の処理でうまくいった気がしたので過信してました。
本当にありがとうございました…。
02502442007/12/24(月) 17:54:23ID:tHEPo1ls
あまりに下らないので、スレ汚し続けたくはないのですが間違いがあったので訂正だけ。
<button type="submit" value="test" name="test1">内容</button>
だとvalueに設定されているtestは送信されなくて、内容が送信されるようですね。
手元のHTML本ではvalueが送信値となってますが、仕様変更でもあったのか。

>>248さんのご指摘とは違い他フォームの内容もちゃんと送信される模様です。
0251nobodyさん2007/12/24(月) 18:18:44ID:???
>>250
嘘だろうと思って動作確認したらIE7では確かにそう動いた。
ちなみにFireFox2 Opera9 ではvalue値が送信されてる。(IE7と動作が異なる)

PHPの話題じゃないけど、RFC的にはどうなんだろ。

<html>
<head><title>test</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
</head>
<body>
<?php print_r($_GET); ?>
<hr/>
<form action="test.php" method="get">
<button type="submit" value="test" name="test1">内容</button>
</form></body></html>
0252245,2482007/12/24(月) 19:02:38ID:???
RFCというよりHTML4の仕様なんだけど、IE6,7はそれに従っていない。
以下のコードで、
・name1 name2 のいずれかをクリックした時に、3,4は送信されるべきでは無い
・name3 name4 のいずれかをクリックした時に、value3またはvalue4が送信されるべき

DOMの扱い時にも同様の支障がでてくる。
なので、buttonを使うより、input type=button を使う方が良い。(buttonに比べて表示の自由度は落ちる)

検証用コード
<html><body><form>
<input type="submit" name="name1" value="value1"></input>
<input type="submit" name="name2" value="value2"></input>
<button type="submit" name="name3" value="value3">3</button>
<button type="submit" name="name4" value="value4">4</button>
</form><p>
<?php
var_export($_GET);
?>
</p></body></html>
0253nobodyさん2007/12/24(月) 22:47:49ID:???
まじで?
IE7でも相変わらず腐ってるんだな・・
0254nobodyさん2007/12/25(火) 08:19:17ID:???
imap_open とかでサーバ側のエラーメッセージ(たとえば、LoginError)を
取得したいのですが、基本的に不可能でしょうか?
ZendFrameworkのZend_Mail使ってみたんですが、
オブジェクト指向を完全に理解していないオイラには
かなりつらい部分があったので、imap関数に移ろうとしてるのでつが。
02552552007/12/25(火) 09:05:15ID:Coxwnlyh
linux環境でphpを勉強し始めて5日の者です。phpのサンプル集を買って勉強しているんですが、
その中のメールフォームサンプルを自分のサイトの隅っこに置いて、apacheを起動させて動作確認してみたところ、
フォームに文字入れて確認画面に進み、送信を押すと 本当は「送信成功しました。or失敗しました。」と表示されるはずが、何も
表示されず、メールも送られていません。php.iniはデフォのままなんで、そこがダメなんじゃないかと思うのですが、
どうなんでしょう。書籍には何も書いてないです。
0256nobodyさん2007/12/25(火) 10:39:57ID:???
エラーのときどうする、って話が書いてない本はダメだね。
そういう本(書いてない本)多いけど
0257nobodyさん2007/12/25(火) 11:11:07ID:???
zend_extensionとextensionの違いってなんでしょう?
何時もphp.iniに書く時に迷う・・・
0258nobodyさん2007/12/25(火) 11:15:16ID:M0LvCdnx
>>255
送信しましたor失敗しました あたりのソースうp


質問ですが、SQLインジェクション対策ってどうしてます?
自分はMySQLを使っていたので、mysql_real_escape_strngを使っていたのですが、
他のデータベースでも書き換えなくていいように、全てのデータベースで活用できるような
インジェクション対策などありませんでしょうか?
0259nobodyさん2007/12/25(火) 11:53:41ID:???
>>258
PDOを使うのが定石かなぁ。
0260nobodyさん2007/12/25(火) 12:06:36ID:???
pdo丸投げで一切自前では対策してないけど、それでいいのか不安w
0261nobodyさん2007/12/25(火) 13:18:29ID:???
test.iniってファイルを
parse_ini_file("test.ini",true);
で読み込むとshift_jisで読み込まれちゃうんですが、ファイル読み込みのエンコーディングをUTF-8にしたいんです。
iniや表示するphpファイルは全てUTF-8になっています。
php.iniでファイル読み込みのエンコードとかでしょうか?

iniの中身は
------------------
[友達]
"佐藤" = "コスプレ"
"伊藤" = "女装"
------------------
0262nobodyさん2007/12/25(火) 13:20:42ID:???
>>261
>>1
0263nobodyさん2007/12/25(火) 13:31:06ID:Kk9QHm5I
すいません、下げ忘れていました

test.iniってファイルを
parse_ini_file("test.ini",true);
で読み込むとshift_jisで読み込まれちゃうんですが、ファイル読み込みのエンコーディングをUTF-8にしたいんです。
iniや表示するphpファイルは全てUTF-8になっています。
php.iniでファイル読み込みのエンコードとかでしょうか?

iniの中身は
------------------
[友達]
"佐藤" = "コスプレ"
"伊藤" = "女装"
------------------

PHP Version 5.2.4
0264nobodyさん2007/12/25(火) 14:32:50ID:???
>>263
とりあえずキーはダブルクォート出来ません。
0265nobodyさん2007/12/25(火) 14:41:28ID:Kk9QHm5I
>>264
そうなんですか、それでも文字コードの問題は残るので解決方法があればお願いします。
ひとまずキーにダブルクォートで動いてはいます。
0266nobodyさん2007/12/25(火) 14:45:46ID:???
キーを英語にし、ダブルクォートでも文字化けは変わりませんでした。
一応ご報告を
0267nobodyさん2007/12/25(火) 14:47:22ID:V7kmAO2b
非常に下らないかもしれませんが、EOSでの質問です。

$bbb[0]['abc']="表示テスト";
$a=<<<EOS
<table>
 <tr>
  <td>$bbb[0]['abc']</td>
 </tr>
</table>
EOS;
print $a;

EOS内で連想配列の変数を簡単に吐き出す方法はありますか?
そのままだと Array['abc'] となってしまいます・・。
変数に入れ直せば良いのですが種類が多いと大変で・・

皆さんはどうやってますでしょうか。
0268nobodyさん2007/12/25(火) 14:51:23ID:ek1/aJk1
PHPの質問と言っていいのか悩んだんですが、PHPファイルに限って起きるので質問させてください。

WEBサーバーでSSLを設定してそこにPHPファイルを配置したところ、httpでのアクセスだとPHPは正常
に動くんですが、httpsだと何故か404になってしまいます。
他の形式(aspx、txtや画像)はhttpでもhttpsでも問題無く動くのでアクセスしているフォルダが違うとかは
考えられず、httpだとPHPは動くのでPHP自体がおかしいってことも考えられず…。
通常のSSLの設定は終えていますが、PHPをSSLに配置する際は他に何か設定等必要なんでしょうか?

環境ですが、
Windows2000ServerSP4 + IIS5.0 + PHP5.2.5 (+ VisualStudio2003)
です。

よろしくです。
0269nobodyさん2007/12/25(火) 14:52:26ID:???
>>267
変数を挿入するときは
{$bbb[0]['abc']}
のように括りましょう。
0270nobodyさん2007/12/25(火) 14:57:18ID:V7kmAO2b
>>269
即答ありがとうございます!それだけで良かったんですね

基本的な方法が分からずにいろんな遠回り処理した上で
えーーそんな簡単にできたの・・みたいな事がよくあります

有難うございました。
0271nobodyさん2007/12/25(火) 15:32:13ID:???
>>268
404時のエラーログに出るフルパスは同じもの?
02722682007/12/25(火) 15:51:19ID:???
>>271
IISのログには相対パスのみ出てまして、httpとhttpsとで別サイトとして登録してますので
パスは別物です。
0273nobodyさん2007/12/25(火) 16:12:23ID:???
>>263
自己解決しました。
凡ミスだったので気にしないでください・・。 ;-;
0274nobodyさん2007/12/25(火) 16:32:12ID:???
PHPのメジャーな統合開発環境って何ですか?
フリーので。
0275nobodyさん2007/12/25(火) 16:35:17ID:???
>>273
       ヽ(・ω・)/   ズコー
      \(.\ ノ
0276nobodyさん2007/12/25(火) 16:41:01ID:Kk9QHm5I
>>275
すいません ><
ID出し忘れたので偽者と思われないようにも返信しときます・・
0277nobodyさん2007/12/25(火) 16:44:26ID:???
>>274
       ヽ(・ω・)/   ドボン
      \(.\ ノ
0278nobodyさん2007/12/25(火) 17:37:59ID:???
>>274
EmEditor→phpエディタ→phpeclipse→zend
と使ってきたけど俺はphpeclipseが一番使いやすかった
0279nobodyさん2007/12/25(火) 19:39:53ID:YdyXWQpG
Yahooのニュース記事の表示が、馬鹿丸出しなんだけどwwwwwwww

http://headlines.yahoo.co.jp/hl?a=20071225-00000912-san-soci

 <futoji>元福岡地検検事正で公証人の絹川信博さんの話</futoji> 「鑑定結果が今後、民事訴訟の証拠として採用される可能性は十分ある。
民事分野でも、ポリグラフの活用範囲が広がる可能性がある」
0280nobodyさん2007/12/25(火) 20:31:12ID:qdKsQYMA
質問です。

array("aaa" => "bbb", "ccc" => "ddd" "???" => "fff")

この配列から「三個目の要素」であること、又は「値がfff」であることから、
不明なキー名である???のみを抜き出したいのですがどのような方法があるでしょうか。
よろしくお願いします。
0281nobodyさん2007/12/25(火) 20:43:37ID:???
>>280
http://www.php.net/manual/ja/function.array-search.php
0282nobodyさん2007/12/25(火) 21:14:34ID:qdKsQYMA
>>281
普通に定義されてるんですね。回答ありです。
0283nobodyさん2007/12/25(火) 22:37:15ID:???
>>281
ゴクリ・・・
0284nobodyさん2007/12/26(水) 00:37:13ID:???
>>283
やめとけ、その釣り針に味わいどころがあるようには思えない。
0285nobodyさん2007/12/26(水) 00:57:00ID:???
 下記 ※※※ の部分にconvertコマンドで画像を少し加工したいのですが、

×imagejpeg ($image_new , $uploadfile , $quality);
○imagejpeg ($image_new , $image_temp , $quality);
 にして、

 /usr/bin/convert オプション $image_temp $uploadfile;
にすると、

PHP Parse error: syntax error, unexpected '/'
in /home/webmaster/blog/nucleus/plugins/NP_ImageLimitSize.php on line 65,
referer: http://******/nucleus/plugins/mediatocu/media.php

 と、出ました、フルパスで書けば問題無いと思ったのですが、どのようにコマンドを挿入すればいいでしょうか?

function event_PreMediaUpload(&$data) {

$collection = $data['collection'];
$uploadfile = $data['uploadfile'];
$filename = $data['filename'];

// evaluate the filetype from the filename
$filetype = strtolower(substr($filename, strpos($filename, ".")+1));

02862852007/12/26(水) 00:57:53ID:???
// filetype is jpeg
if ($filetype=='jpg' || $filetype=='jpeg') {

$size=getimagesize($data['uploadfile']);

// size[0] is the image width
if ($size[0]>$this->getOption('maxwidth')) {

$newheight = $this->getOption('maxwidth') * $size[1]/$size[0];
$image_orig = imagecreatefromjpeg($uploadfile);
$image_new = imagecreatetruecolor($this->getOption('maxwidth'), $newheight);
$quality = $this->getOption('quality');

imagecopyresampled($image_new, $image_orig, 0, 0, 0, 0, $this->getOption('maxwidth'), $newheight, $size[0], $size[1]);
imagejpeg ($image_new , $uploadfile , $quality);

                ※※※

// clear the memory
imagedestroy($image_orig);
imagedestroy($image_new);

}
}
0287nobodyさん2007/12/26(水) 01:02:18ID:???
>>1
02882852007/12/26(水) 01:08:43ID:???
>>287
CentOS 5.1
PHP 5.1.6
apache 2.2.3
これ以外しか思いつきません。
02892852007/12/26(水) 01:10:06ID:???
×:これ以外しか思いつきません
○:これしか思いつきません
0290nobodyさん2007/12/26(水) 01:39:36ID:???
CentOSってのもあるのか……
Linux界隈、ディストリ間の差異大杉でFreeBSD派にはついていけねえな
0291nobodyさん2007/12/26(水) 03:42:29ID:???
カーネル一緒なんだから大差あるようで本質的には大差はない
0292nobodyさん2007/12/26(水) 04:19:38ID:???
プリインストールされてるソフトが違うWindowsみたいなもんだからな
0293nobodyさん2007/12/26(水) 04:56:01ID:???
>>285
> PHP Parse error: syntax error, unexpected '/'
PHPの文法レベルでエラーが出てるんだからフルパスとかコマンドの違いとか全然関係ねーよ。

>  /usr/bin/convert オプション $image_temp $uploadfile;
> にすると、
ってこれ、PHPのソース中にシェルコマンドを生で書いてるのか?
PHPはシェルスクリプトじゃねーぞ?
system()とか使えよ。
0294nobodyさん2007/12/26(水) 10:54:23ID:WFCxb7oZ
ローカル側のphpとサーバー側のphpで、相互通信する仕組みを作りたいのですが、
どのような実装方式が一番楽な方法でしょうか?


ローカルphpが、サーバー側phpを呼び出す
サーバー側phpが処理を実行し、実行結果を返す
ローカルphpがサーバー側のphpの実行結果を受け取り、その実行結果により処理を条件分岐する

このような感じで、サーバー側の実行結果によってローカルの実行結果が異なります。

ソケット通信での実装を考えたのですが、少々面倒なので、もっと簡易にできる方法があれば助かります。
宜しくお願いします。
0295nobodyさん2007/12/26(水) 11:57:31ID:???
>>294
レスポンス速度重視でないならば、http で通信すればいいんじゃないの。サーバは apache経由にして。
0296nobodyさん2007/12/26(水) 11:58:07ID:???
soap
0297nobodyさん2007/12/26(水) 12:17:11ID:???
>>296
PHPネタじゃないけど、soapってどうなの?
以前 Javaでやったときは、なんか中途半端に隠蔽されて自由度が低いだけって印象なんだけど。
0298nobodyさん2007/12/26(水) 13:15:38ID:???
PHP.iniの設定で
auto_prepend_fileを使いたいのですが、
一部のディレクトリんは適用させたくないのですが、
その場合どのように記述すれば良いのでしょうか?
02992982007/12/26(水) 13:16:09ID:0y2BVKsS
すみません、sageチェックついてました
お願いします
0300nobodyさん2007/12/26(水) 13:30:41ID:???
つ auto_prepend_file htaccess
0301nobodyさん2007/12/26(水) 13:33:05ID:0y2BVKsS
>>300
ありがとうございます


すみません、書き忘れていました
レンタル鯖の仕様によりhtaccessでのphp_value・flagが仕様できないのですorz
0302nobodyさん2007/12/26(水) 15:08:20ID:???
情報小出しに日本語不自由か…ダメダコリャ
0303nobodyさん2007/12/26(水) 15:14:38ID:???
これでまた、何か案を出したら、それはすでにやったんですが・・・
と続くからなw
0304nobodyさん2007/12/26(水) 15:54:46ID:???
そして最後には、お前ら使えねーな、で締めるのか
0305nobodyさん2007/12/26(水) 16:07:23ID:5CJgBllV
認証システム作りたいと思ってます 以下のような処理でOKなんでしょうか?
(ログインフォームの次の会員トップページの処理です)
0)session_start(); (タイムアウト設定も同時にする)
1)$_SESSION['LogIn']=0;//ログイン状態のフラグの用意
2)1)をチェック →0なら3)
3)POSTされたid,passwordをもとにログイン処理 →LogIn=1にする
4)以降のページでは0〜3を(外部ファイル化して)最初にチェック
 ※3)のPOSTデータがなければ警告画面に遷移

PEAR:AUTHも考えたんですが、ログインフォームと認証後トップページを
同じにしなきゃだめっぽいんでやめました
環境はPHP5,APACHE2です
0306nobodyさん2007/12/26(水) 16:10:25ID:0y2BVKsS
>>302
すみません、小出しではなく>>301はただの書き忘れです
0307nobodyさん2007/12/26(水) 16:20:00ID:???
>>305
リクエスト毎に 1) の処理を行うの?
そうならヘンだと思うが。
03083052007/12/26(水) 16:32:50ID:5CJgBllV
>>307 ありがとう ごめんなさい、間違えました
LogInは初期化しません 最初にチェックするだけです
あと、今思ったんだけど、最初のログイン時にランダム値を持たせといて(DBにも登録)
それもリクエストごとにチェックするとかの方がいいのかな?
それがセッション名(?)てことだからわざわざやらなくていいんでしょうか?
0309nobodyさん2007/12/26(水) 16:53:52ID:???
乱数を設定しても意味は無いだろうけど、「ログイン状態のフラグ」を管理するぐらいなら、
誰がログインしているのかという、「ログインユーザのID」を管理した方が良いと思う。

ログイン後は、それが誰だかわからなくても良いなら、別に良いけど。
03103052007/12/26(水) 17:23:39ID:5CJgBllV
>>309
ログイン開始と終了を記入するテーブルみたいなのを作るわけですか?
考えたこともなかったです。
ログイン状態のチェックだけなら305の内容でokなんでしょうか 度々すみません
0311nobodyさん2007/12/26(水) 17:33:52ID:???
DBじゃなくてセッション変数の話。
「ログイン状態のチェック」が「だれかがログインしているが判定できる」なら、305の内容でOK。
普通は、このセッションでログインしているのが誰かも判らないと困るんじゃないかと。
03123052007/12/26(水) 17:53:13ID:5CJgBllV
親切にありがとうございます
しかしセッションの知識が不足でよく理解できません
idに依存したセッション名を発行するのかな、、 ちょっと勉強してきます
ありがとうございました
0313nobodyさん2007/12/26(水) 18:50:16ID:7SSM1+qD
すいませんお教えいただきたいのですが、

キーボードからそのまま受け取ったデータaを
cに変更して<textarea>に出力する ことはできますでしょうか?
いろいろ調べて下記のようなものを書いてみましたが、できません。

<form>
<textarea>
<?php

set_time_limit(0);
($stdin = fopen("php://stdin", "r"));
$s = trim(fgets($stdin, 256));

if($s == "a"){
$s = "c";
}
print $s;

?>
</textarea>
</form>

ハッスルサーバを使っていて、phpはバージョン4.3です。
初心者の質問で申し訳ありませんが、どうかよろしくお願いします。
0314はっしゅ(前すれ703)2007/12/26(水) 19:02:23ID:drjhjm0k
>>前すれ734
回答ありがとうごいました。
レベル低すぎて誰も答えてくれないのであきらめてたんですが、今日見たら回答きてたのでお礼に伺いました。
またわからないことあったら教えてください。
遅ればせながらありがとうございました。
0315nobodyさん2007/12/26(水) 20:44:56ID:???
キー入力された時その場で変えたいなら
JavaScript使うかAjax使わないと無理

phpはサーバーサイドスクリプトです
03163152007/12/26(水) 20:45:19ID:???
315は313宛ね
0317nobodyさん2007/12/26(水) 20:45:33ID:???
>>313
意味がわからない キーボードから受け取ったデータってなんだ?
サーバの送受信はするの? しないんだったらphpじゃなくてjavascriptでしょ
具体的にどういう操作と結果がほしいのかわからなきゃ回答不可だよ
0318nobodyさん2007/12/26(水) 22:33:52ID:???
C言語の本読んでもキーボードから1文字ゲットから先に進めない人

ノシ
0319nobodyさん2007/12/26(水) 22:40:10ID:???
$white = 'snow';
$black =& $white;
unset($white);
print $black; //snow

これで snowが出力されるんだけど、$blackは$whiteの参照になってるから
unset($white)で$blackの値も破棄されるんじゃないの?

なぜsnowがprintされるのかわかりません。
0320nobodyさん2007/12/26(水) 22:46:40ID:???
>>319
http://jp2.php.net/manual/ja/function.unset.php
>参照渡しされた変数が関数内で unset() された場合に、 ローカル変数のみが破棄されます。
>呼出側の環境でその変数は、 unset() がコールされる前と同じ値を保持します。

って書いてあるから良いんじゃないの。
03213202007/12/26(水) 22:51:51ID:???
良く見たら >>320 とはちょっと違うパターンか。ごめん。
03223192007/12/26(水) 22:54:50ID:???

参照渡しの場合はローカル変数しかunsetされないでいいんかな
0323nobodyさん2007/12/26(水) 23:00:42ID:???
mb_send_mail()の引数の本文部分に
「>」を入れると
勝手に「>」にエスケープされるんですが、
ホワイ?
特に htmlspecialcharsとかかけてないんですが。。。
0324nobodyさん2007/12/26(水) 23:11:12ID:???
ethnaの$this->af->getで取得した変数だからでした。
勝手にエスケープされるんでつね。。。

mb_send_mail( $this->af->get('to'), $this->af->get('subject'), $this->af->get('body') );
みたいな送信の仕方できないですが、
一回エスケープしたのを戻すとかの作業するのが一般的なんでしょうか
03253242007/12/26(水) 23:20:58ID:???
いや、すんません
ethna関係ないっぽいです、普通にやってむりぽでした。
0326nobodyさん2007/12/26(水) 23:53:50ID:5CJgBllV
条件分岐でページ遷移する処理をしたいんだけど
Header関数(location)がエラー起こします。ほかに方法はないんでしょうか?
echoでjavascript出力もできますがそれはあんまりなので、、 よろしくお願いします
0327nobodyさん2007/12/27(木) 00:13:03ID:kzcBaheO
>>326
飛ばしたいページのファイルをincludeすればいいんじゃね?
0328nobodyさん2007/12/27(木) 00:15:44ID:???
>>326
エラー書いた方が良い

>>324
うちの環境ではエスケープされなかった
0329nobodyさん2007/12/27(木) 00:39:58ID:???
>>326
単に、header関数の前に何か出力されちゃってるんでない?
それか場所の指定に変数を使ったりしてるならそこがおかしいか。
0330nobodyさん2007/12/27(木) 00:54:22ID:???
特にローカルの開発環境だと、
キャッシュが効いて動作がおかしくなったりもするがな<header()
03313262007/12/27(木) 00:57:52ID:k02W1D9g
>>327-328
ありがとうございます
前に一度相談してて、自力解決めざしたんですができなかったんです
詳細は>>111です 今apacheのエラーログ見たところ、
PHP Parse error: syntax error, unexpected T_EXIT in
 C:\\Program Files\\Apache Group\\Apache2\\htdocs\\system\\admin\\hoge\\index.php on line 14,
 referer: http://localhost/system/ …らしいです
14行目は>>111のexit;なので、コメントアウトしたら(//exit;)今度は
unexpected '}'〜〜 と出ました。ただのif文なのに意味がわかりません 
ググっても出てこないし、気が向いた方教えてください お願いします
0332nobodyさん2007/12/27(木) 01:10:18ID:???
構文エラーじゃん
エラーの行なんて参考でしかないから
/* */で囲みながら範囲をせばめてエラーで出てる箇所特定しろよ
どうせ、おっぱいかっこ{}の数があってないとか、そういうのだろ
0333nobodyさん2007/12/27(木) 01:32:39ID:???
>>313
そいつぁコマンドライン用です。
03342552007/12/27(木) 03:55:57ID:tJxOOzWu
>>258 遅れてすいません。
<?php
// メール送信先を指定します。
$to = "実際は指定しました。";
// フォームの値を取得します。
if ($_SERVER["REQUEST_METHOD"] == "POST") {
foreach($_POST as $k => $v){
// 「magic_quotes_gpc = On」のときはエスケープ解除
if (get_magic_quotes_gpc()) {
$v = stripslashes($v);
}
$v = htmlspecialchars($v);
$$k = $v;
}
}
else {
exit();
}

// メール本文を組み立てます。
$naiyou = "お名前:$name\n
メールアドレス:$from\n
タイトル:$title\n
内容:$naiyou\n"
03352552007/12/27(木) 03:56:48ID:tJxOOzWu
if ($name != "" and $from != "" and $title != ""
and $naiyou != "" ) {
if (mb_send_mail($to, $title, $naiyou, "From:$from")) {
echo "メールを送信しました";
}
else {
echo "メール送信失敗です";
}
}
?>
0336sage2007/12/27(木) 05:13:26ID:aXynhXDH
setcookieで「味噌」と日本語を食わして吐き出すと「?」となってしまいます。
ちなみにEUC-JPです。
ファイルを確認した所、保存時では「+%CC%A3%C1%B9+」とurlencodeされているのですが
webで表示(print $_COOKIE[hoge];)するときだけバグります。

64encodeしてから食わし、64decodeして吐かすとも考えたのですが、
ファイル全部の保存と表示部分を直すことは大量すぎて辛いっす。
何かいい解決策は有りませんでしょうか。
03373362007/12/27(木) 05:28:15ID:???
sagemissしてすいません。
追加ですが「あへあへ噌」や「味噌漬け」はバグりません。
03383262007/12/27(木) 05:57:19ID:k02W1D9g
>>332
ありがとうございます
構文エラーということで、{の閉じ忘れなどチェックしてもなかったので、
ソースをガンガン削っていったら
1)これは動作する
<?php
header("Location: http://www.yahoo.co.jp/");
?>
2)これは動作しない
<?php
header("Location: http://www.yahoo.co.jp/");
exit;
?>
という状況になりました。ホントに上のソース以外一切何も書いてません
誰か同じ症状になった方いないですか? 参った、、
PHP5.2.3 winXP apache2です
0339nobodyさん2007/12/27(木) 09:19:36ID:jblLPn+a
ドメインについて教えて下さい。
ドメインを正規表現を使って省こうとしているのですが、

このようなドメインが有効なのですが、
ドメインの2番目で3文字以上ないといけないのではないでしょうか?
ドメイン名の規約とかないでしょうか?
http://www.ms.com/
(モルガンスタンレー証券)
0340nobodyさん2007/12/27(木) 09:22:25ID:???
>>339
宣伝乙
0341nobodyさん2007/12/27(木) 09:26:19ID:???
>>326
例えば
header("Location: ./");
@file_put_contents("nnnnnnn.txt", "test" ,FILE_APPEND);//ファイル作成
とすると、表示はジャンプで終わるが読み込み処理は終わらずにファイルも作られる。

header("Location: http://www.yahoo.co.jp/");exit;
@file_put_contents("nnnnnnn.txt", "test" ,FILE_APPEND);
だとexitで終了され、ファイルは作られない。

exit終了しない場合の後述によるエラー文表記は動作が不安定なので一概に言えない。

if(!$a){header("Location: http://www.yahoo.co.jp/");exit;}
などとしてでも、Locationにexitはセットと考えた方がいい。

でもexitつけたら動作しないというのは初耳。
0342nobodyさん2007/12/27(木) 09:27:56ID:NgfmXqR6
>>315
>>317
>>333

313で質問したものです、
ご回答ありがとうございました。
javascriptを勉強してみたいとおもいます。
0343nobodyさん2007/12/27(木) 09:29:13ID:???
んなもんRFC読めよw
0344nobodyさん2007/12/27(木) 09:33:20ID:???
>>305
SESSION使うと「戻る」が使えなくなるから、ユーザーがウザがるよ。
COOKIEでいいんじゃない?
めっちゃ重要なセキュリティーが必要?
0345nobodyさん2007/12/27(木) 10:40:08ID:???
> SESSION使うと「戻る」が使えなくなる

んなこたーない
0346326=3052007/12/27(木) 10:41:55ID:k02W1D9g
>>341
ありがとうございます 結局これは僕の環境の異常という他ないんですかね?
php.iniで自動的に全ファイルに共通読み込みさせる機能がONになってるのかと思い
チェックしたんですがそれも問題ありませんでした…
もうあきらめてjavascript出力してリダイレクトさせることにしました
回答いただいた方、ありがとうございました

>>344
「戻る」が使えないってどういうことでしょう?
本やサイトを見るとセッションを使ってるので自分もそうしようと思っただけで
深い判断はありませんでした
今は>>309さんのいう“誰がログインしているのかという「ログインユーザのID」を管理”
の方が気になってたんですが、、
「めっちゃ重要なセキュリティー」は意識してません 普通の会員システムで十分です

なんかすみません、わからないことだらけで
0347nobodyさん2007/12/27(木) 12:00:59ID:???
多分 >>344が言いたいのは、複数のページにまたがって一連のデータを入力させるような場合、
「戻る」操作をするとブラウザ上の表示とセッション変数の状態が食い違うことがあることを
言ってるんだと思う。

セッションの使い方によっては「戻る」操作を禁止するのは定石だけど、セッションを使うと
ページ戻りできないって話はおかしい。少なくもログインチェックに使用しただけで、
ページ戻り出来ないってのはあんまりすぎる。
03483442007/12/27(木) 13:16:55ID:???
わかりにくくてごめん。
SESSIONをかましたページでデータの送信等をした際に
ブラウザの戻るや進むで前の画面に戻ろうとすると
「セキュリティーのどうたら」ってエラー文がでて、送信前の入力データが消えたり
新しくリロードしないとページが表示されないようになる。

セッション値とかは関係ないけど、上記理由で
普通の感覚で「戻る」と「進む」が使えないから
ID新規作成とか、何回もログインしない部分だけをセッション使用にして
ログインとか一般的な頻発部分はクッキーの方がいいと書いたのです。

例、ログインID-A(mailとか)/Passの入力→ID-B(Noとか)と暗号化したPASSのクッキーを発行
各ページでクッキーによって本人承認を行い、1日〜4週間&ログアウトでクッキーを消滅させる。

暗号化といえばPHP5の初期設定のままで、md5(一方向)、base_64encode、
urlencode、mb_convert_encoding以外に使えるものってないですかね?
C++のXORみたいなのは用意されてないのかな・・・
03493442007/12/27(木) 13:21:00ID:???
追記。凡ミス。 ×base_64encode → ○base64_encode
0350nobodyさん2007/12/27(木) 13:29:34ID:???
>>348
なんかめちゃくちゃ言ってない?

0351nobodyさん2007/12/27(木) 13:36:30ID:???
>>349
XORを用意ってビット演算子はあるんだからそれくらいの手間をケチるなよ。
...rot13とかなかったっけ? あとcryptも
0352nobodyさん2007/12/27(木) 13:43:05ID:???
>ブラウザの戻るや進むで前の画面に戻ろうとすると
>「セキュリティーのどうたら」ってエラー文がでて、送信前の入力データが消えたり
>新しくリロードしないとページが表示されないようになる。

これはフォーム送信した後に戻ろうとしたら「再送信します OK?」っていうアレのこと?
セッションとは関係なくない?
0353nobodyさん2007/12/27(木) 13:45:14ID:???
>> 348
てゆーかセッションわかってる?
0354nobodyさん2007/12/27(木) 13:50:22ID:???
>>348
それセッションとかクッキーとか全然関係無いだろw
0355nobodyさん2007/12/27(木) 14:17:26ID:???
>>348
それは、no-cache の話じゃないかな。sessionを使うと自動的にno-cacheにしてしまうような
フレームワークがあっても不思議じゃないけど、一般論として、sessionを使うとno-cacheになると
いうものではない。

>>344は、特定の環境で教えられたんじゃないかって気がする。
0356nobodyさん2007/12/27(木) 14:17:58ID:???
str_rot13() = 英字の置き換え ABCDE ←→ NOPQR
crypt() = 一方向ハッシュ化 $1$Ze5.ut0.$9k5PF7d6Wogm4fjfYcViE0

cryptってmd5より有名だったと知らなかったPHP暦1年の俺が来たよ
str_rot13についてはマイナーすぎて今知った
0357nobodyさん2007/12/27(木) 14:31:22ID:???
「crypt」って、エニグマと同じ方式による暗号化プログラムで、暗号化キーで復号できるものだと
思ってたんだけど、最近はcryptといえば単方向ハッシュであるものを言うようになったのか。

確かにPHPのマニュアルにも単方向って書いてあるし、何時の間にって感じなんだけど。
03583442007/12/27(木) 14:40:06ID:???
>>344>>348デス。
>>347>>350-355
暗号化について解説ありがとうございます。早速今日から使ってみます。
sessionについても丁寧なご説明ありがとうございます。
今調べたらまさにその通りでした。>>305>>346さんゴメンナサイ。

2年も間違ったまま覚えてたってやっべえ恥ずい。
どれぐらいって恥ずかしい性癖とかばれたぐらい?
反省してROMに戻ります。
0359nobodyさん2007/12/27(木) 15:45:25ID:???
>>357
たぶんUnixとかネットワーク関係プログラマ界隈では
crypt といえば crypt(3) のこと。
PHPのcryptもcrypt(3)の単なるラッパのはず。

>>356
rot13はたぶん一番古くて一番有名なそして一番弱い暗号だぞ!
シーザーさんをなめるな!
0360nobodyさん2007/12/27(木) 16:52:06ID:???
http://ytteter.so.land.to/ts/up59.jpg
0361nobodyさん2007/12/27(木) 18:06:57ID:???
>>359は、宝塚出身の女優と一緒だな。
本人は芝居上手だと勘違いしているが、押し付けがましいパフォーマンスに過ぎない。
0362nobodyさん2007/12/27(木) 18:27:55ID:???
だが、ぬくぬくと生き伸びていたりする。
0363nobodyさん2007/12/27(木) 23:42:07ID:???
過疎ってルナ
0364nobodyさん2007/12/28(金) 01:18:59ID:x8Ui+5jw
質問です。

次元数が任意の多次元配列で、その配列の要素数を数えながら
次元を自動的にさかのぼる処理をさせたいと思っています。
具体例を書くと、配列 $arr が下記のようなものだったとして、

Array
(
[0] => hoge
[1] => Array
(
[0]=> koke
[1]=> moke
)
)

$arr[1]の要素数(2)を取得できるようにしたいと思っています。

この時、この配列の内容は事前に分かっていないため、
count($arr) が1以上ならば、その要素を調べ、
更に配列あればが自動的に添え字を付加して(ここでは「count($arr[0])」として)
上位次元を走査するような方法を思いつきました。
そこで変数に格納した添え字を配列変数に付加したかったのですが、
その方法が分かりません。
感覚的には、 $index = "[1]"; だったとしてとして
$arr{$index}{$index} が 「 $arr[1][1] 」となり、「moke」を取得する、
というような動作を希望していますが、$index が文字列のためうまくいきません。
何か他に望む処理を行える方法があるでしょうか?
よろしくご教示ください。
0365nobodyさん2007/12/28(金) 01:28:39ID:???
>>364
>>$index が文字列のためうまくいきません。
ここの意味が分からない。

$arr["$index"]["$index"]
って話じゃなくて?
0366nobodyさん2007/12/28(金) 01:33:23ID:???
>>364
$index = "[1]";
と、絶対使いにくそうな値を敢えて仮定する理由は?
0367nobodyさん2007/12/28(金) 01:35:23ID:???
つまり

$index = "1";
$arr["$index"]["$index"]

みたいな形がやりやすい方法です。
03683642007/12/28(金) 01:53:54ID:???
>>365-367
みなさんレスありがとうございます。
その問いが来るかな、とは思っていたのですが、うまく説明できませんでした。

>>364 の例でいうと、$arr が何次元の配列なのか事前に分からないところが
ネックとなります。
つまり処理を行う前に最高次元が「$arr[]」なのか、「$arr[][]」なのか、
「$arr[][][]」なのかが分からないため、決め打ちできないということが問題です。
そのため、「[]」の角括弧を最初から書いておく「$arr["$index"]」方式では
対応できないので、角括弧を後から自由に付加できるような形を
求めていたというわけです。

例えば、$i = 1; で $index = "[$i]"; ならば、
$arr . $index で「 $arr[1] 」となって欲しいと思っていました。
このような目的を満たす処理方法はありますでしょうか?
引き続き、よろしくお願いします。
0369nobodyさん2007/12/28(金) 02:02:57ID:???
最初から分かってたらなら書けと・・

再帰的な手法は分かる?
「再帰的関数 php」とかでググッてみるといい
0370nobodyさん2007/12/28(金) 02:08:52ID:???
home/hoge
home2/hoge4
home/hoge2
home/hoge3
home2/hoge5

これを
-----------------
home
 hoge
 hoge2
 hoge3
home2
 hoge4
 hoge5
-----------------
と表示させられるように配列処理したいのですが、
良い方法思いつきません、
お助けを。
0371nobodyさん2007/12/28(金) 02:10:06ID:???
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
03723642007/12/28(金) 02:21:01ID:x8Ui+5jw
>>369
申し訳ありません。
>>364 の「この時、この配列の内容は事前に分かっていないため」で
伝わるかと思い込んでしまいました。
再帰処理については知っています。
今回の処理も再帰処理で、と思っていたのですが、
どうしても配列変数の添え字を自動生成する方法の所が分からなかったのです。
何か方策はありますでしょうか?

>>371
重ね重ね失礼しました。追記いたします。
サーバのOS: 「Windows2000」
Webサーバ: 「Apache 2.0.59」
PHPのバージョン: 「4.4.7」
以上の環境です。
なおこの環境は、OS 以外は利用しているレンタルサーバのスペックを
模倣したもので、この環境下での動作を求めています。
0373nobodyさん2007/12/28(金) 03:04:11ID:???
>>370
/でexplode()してキーと値に宛えば。

>>372
どうにも難しい処理だから微妙だけど
eval("return \$arr{$index};")
とか。
03743702007/12/28(金) 03:17:21ID:???
> キーと値に宛えば

詳しくキボンヌ
0375nobodyさん2007/12/28(金) 04:14:13ID:???
「キーと値に使えば」と予想

つまり
home2/hoge4
を分割して
$hoge["home2"] = "hoge4";
って形にすれ
0376nobodyさん2007/12/28(金) 04:44:15ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
03772552007/12/28(金) 06:41:54ID:rEU4Fn3c
環境fedora7

<?php


if (mail('ac10@fb3.so-net.ne.jp','titile','message'))


echo "<b>SUCCESS TO SEND</b><BR>";


else


echo "<b>fail to mail</b><BR>";


?>
でfail to mailという方が出ます。



恐らくphp.iniの設定が不足しているんだと思いますが、
php.iniのsendmail_pathについてまだよく分かっておらず、とりあえずデフォのままにしてます。
ポート25は開けていませんがこれでいいのでしょうか。
03782552007/12/28(金) 06:46:39ID:rEU4Fn3c
sh: /usr/sbin/sendmail: Permission denied
というログが出ました。
03792552007/12/28(金) 06:48:30ID:rEU4Fn3c
が、lrwxrwxrwx root root system_u:object_r:bin_t sendmail
とあったので別にパーミッションは良いかと思います、、、もしかしたら
bin_tをhttpd_sys_content_tにしなければならないですか。
0380nobodyさん2007/12/28(金) 07:40:41ID:???
/var/logを (って/var/logがFedoraにあるのかしらないけど)
良く調べてみたら。隅々まで。

http://bbs.fedora.jp/read.php?FID=2&TID=1428

ちょっとググってみたかんじだと SELinuxがどうのこうの、って
話がいくつか出てくるけど
03812552007/12/28(金) 08:10:09ID:rEU4Fn3c
有力情報ありがとうございます。SELinux disableにして実行してみたんですけど、やはりfail to mailでした。
ろぐ追加です。
[Fri Dec 28 06:18:37 2007] [notice] caught SIGTERM, shutting down
[Fri Dec 28 06:18:48 2007] [notice] SELinux policy enabled; httpd running as context user_u:system_r:httpd_t:s0
[Fri Dec 28 06:18:48 2007] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Dec 28 06:18:48 2007] [notice] Digest: generating secret for digest authentication ...
[Fri Dec 28 06:18:48 2007] [notice] Digest: done
[Fri Dec 28 06:18:49 2007] [notice] Apache/2.2.6 (Unix) DAV/2 mod_layout/4.0.1a PHP/5.2.4 mod_ssl/2.2.6 OpenSSL/0.9.8b configured -- resuming normal operations
sh: /usr/sbin/sendmail: Permission denied
もう少しググってみることにします。selinuxには気づきませんでせした。
03822552007/12/28(金) 08:12:50ID:rEU4Fn3c
あ、ほんとくだらない質問になるんですが、メル鯖立ててなくてもmail関数使えますよね。
sendmailpathの意味するところが分からなくて、、、
0383nobodyさん2007/12/28(金) 08:19:14ID:/nAj2CVO
会員システム作ってるんだけど kaiin/以下が会員領域だとして
その中にあるファイルはリファラがkaiin/内のファイルじゃない場合強制ログアウト
という処理にしたらセキュリティ上がるかなぁと思ってます
この処理をする場合、効率よくリファラチェックする方法はないでしょうか?
ひたすらif&orでやってけばいいんでしょうが何かみっともないので、、

また、そもそも↑みたいなことやっても意味ないですか?
ファイルをDLして手を加えられる侵入に対策したいと思ったんですが…
0384nobodyさん2007/12/28(金) 08:30:44ID:???
>>382
mail()を実行すると、
 Windowsの場合 : メールサーバに接続する(ネットワーク越し) - php.iniのSMTP
 Linuxなど : メール送信用のプログラムを呼び出す(プログラムの引数) - php.iniのsendmail_path
のように、OSごとに違った挙動をする。

>>383
ノートン先生のようにデフォルトの設定でrefererを送信しないものもある。
>ファイルをDLして手を加えられる侵入に対策したい
何をしたいのかよく分からないが、特定の人言い換えりゃ特定の情報を送信してくるブラウザを
識別するには次のどれかだろうね。
・cookie
・セッション(まぁ、これもcookieの場合もあるが)
・WebサーバのBasic認証とかDigest認証とか
03852552007/12/28(金) 08:34:06ID:rEU4Fn3c
>>384 ありがとうございます。
windows:mail()→ネットワークに接続
linux:mail()→mail program呼び出し→ネットワークに接続
みたいな感じに理解しました、(あってるかな。。。)
0386nobodyさん2007/12/28(金) 08:47:14ID:/nAj2CVO
>>384
ノートンてリファラ送信しないんですか じゃあダメですね、やめときます
ありがとうございました
0387nobodyさん2007/12/28(金) 11:31:19ID:???
今日で仕事納めです。
早速、phpも仕事を土管とやってみましたが、
やはりmb_系の関数が絵文字処理で悩まされました。

mb_をpregと統一して総合文字列関数として再スタートさせるべきではないでしょうか?
それでは、来年も良いお年をお過ごし下さい。
0388nobodyさん2007/12/28(金) 12:52:34ID:gGF8c07c
処理が遅い時、ブラウザを勝手に閉じると、
サーバーのスクリプトが終了したときに返却されるレスポンスのパケットはどこにいくのでしょうか?

サーバーの動作が遅いのですが、このパケットが行き先を失って、
ルーター内で無限ループしているってことは考えられますか?

送信要求しておいて、ページが表示されないからって閉じられるクライアントをどうにかしたいのですが、そうもいかないので。
0389nobodyさん2007/12/28(金) 13:04:54ID:???
横槍だが、メール送信を使いたいだけで自鯖にメール機能をインストする必要はなっしん。
無料レンタ鯖にデータ飛ばして、そこから送信して、必要なら戻ってくるようにすれば無問題。
使い慣れないメール設定やほーと設定で悩んでいる人にオススメ。
0390nobodyさん2007/12/28(金) 13:14:14ID:???
>>388

http://jp2.php.net/ignore_user_abort
http://ja.wikipedia.org/wiki/Transmission_Control_Protocol
0391nobodyさん2007/12/28(金) 17:13:21ID:???
こんど、
「天皇陛下もやっているPEARの活用講座」
という本を出すことになりました。宜しくお願いします。
0392nobodyさん2007/12/28(金) 18:45:23ID:???
こんど、
「将軍様もやっているPECLの活用講座」
という本を出すことになりました。宜しくお願いします。
0393nobodyさん2007/12/28(金) 21:09:26ID:41MrW7lh
作成中のシステムが
[notice] Parent: child process exited with status 3221225477 -- Restarting.
というメッセージをApacheのログに残して落ちるようになってしまいました。

多分、再帰に失敗してスタックオーバーフローか何かになっているのだと思うのですが、
例えば例外をスローしてくれたりする設定のような、場所を特定する良い方法はないでしょうか?

環境は、PHP5.2 Apache2.0 WindowsXP です。
フレームワークは使用していません。

ご存知の方、教えてください。よろしくお願いします。
0394nobodyさん2007/12/28(金) 22:07:55ID:/nAj2CVO
自力で会員システム作ってるんですが、二重ログインという問題があることに気づきました
この問題はどう解決したらいいんでしょう? 同一IDで後から入ってくる人を有効にすべき?
仕組みとしてはどういうものが理想ですか?

今考えてるのは、会員情報の管理テーブルに、現行のセッション名を保持するカラムを作って、
各アクションごとにブラウザが持ってるものと保存してるセッション名とを比較する
→不一致の場合強制ログアウト
というものです
どうなんでしょう ご意見いただければ幸いです よろしくお願いします
0395nobodyさん2007/12/28(金) 22:12:07ID:???
>>394
その処理が君のシステムにおける理想ならそれでいいじゃん
0396nobodyさん2007/12/28(金) 22:20:49ID:???
>>395
調子に乗ってんじゃねーぞ。このニート!!!
03973942007/12/28(金) 22:28:49ID:/nAj2CVO
自分のアイディアや知識に自信がないから聞いているので、
それでいいじゃんと言われても…
念のためググって調べて考えた上で質問させてもらいました
不快にさせたんならすみません
03983642007/12/28(金) 22:38:10ID:???
>>373
返事が遅くなりました。
試してみたら eval() で希望の動作が実現できました。
どうもありがとうございました。
03993932007/12/28(金) 22:44:02ID:41MrW7lh
例外を生成し、そのスタック長がある上限を超えていたら throwする関数を作って、
これを再帰している箇所に埋め込む事にしました。
0400nobodyさん2007/12/28(金) 22:44:30ID:???
>>394
二重ログイン禁止したいならそれでいいんじゃないかな。

後から来た方を拒絶しようにも、明示的にログアウトしてくれる人ばかり
じゃないしね。
一定時間経ったらログアウトって仕組みにしても、その間最ログインできないし。
0401nobodyさん2007/12/29(土) 04:16:39ID:???
冬休みを利用して、何か簡単なwebアプリを作ってみようと思い
開発を始めてみたのですが、一点質問させていただいてもよろしいでしょうか。

a.html 内でに b.phpというファイルをインクルードし、a.html内でb.phpの関数を呼び出し
実行したいのですが、うまく実行することができずに悩んでいます。

<?php include('./b.php'); ?>
<html><head></head>
<body>
<?php b_test(); ?>
</body>
</html>

といった具合です。
b_testの内容は、単純に文字列をprintしているだけなのですが
実行されず、ブラウザ上でソースを見るとそのままphpの記述が
残されている状況です。
各所で見て回った簡単なカウンタ等のアプリで同様の記述を行っているものもあり
自分も同じようなことをやってみようと思ったのですが、何か問題がありますでしょうか。
もしくは、他にhtml内でphpの関数を呼び出すのに適したやり方はございますでしょうか。
ご教示お願いいたします。

環境は、windowsXPにxamppを使用し、apache2.2.6とphp5.2.5をインストールしています。
mb_string系を有効にした程度で、ほとんど設定ファイルは弄っていません。
0402nobodyさん2007/12/29(土) 04:44:46ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0403nobodyさん2007/12/29(土) 04:45:44ID:???
.htmlという拡張子をphp扱いで動かさないとphpは実行できんよ
04043942007/12/29(土) 09:51:58ID:???
>>400
わかりました ありがとう!
0405nobodyさん2007/12/29(土) 11:02:50ID:???
softbankの一部の機種じゃ
GETでマルチバイト文字を送れないので
変換すべきと思われるンですが
どんな関数でそれをやればよいですか?>
0406nobodyさん2007/12/29(土) 11:25:51ID:???
マルチバイトが送れんつーか、逆に送れる文字つーのが決まってるんでURLエンコードすりゃええ
04074052007/12/29(土) 11:39:30ID:???
>>406
なるほど。
サンクスです。
0408nobodyさん2007/12/29(土) 15:00:42ID:???
なんか、ここのスレってサービスが劣化したなぁ。
前は、質問したら丁寧に教えてくれたし5分以内には的確な回答がきた。

今は、質問するとニートとか氏ねとかそんなのが殆ど。
ストレスを発散する場所を間違えないで欲しい。
0409nobodyさん2007/12/29(土) 15:08:36ID:???
なんだよもう…面倒くさいなあ。
仕方ない、面倒見てやるか

>>408
ニートとか氏ね
0410nobodyさん2007/12/29(土) 15:11:14ID:???
ま、2chだし
0411nobodyさん2007/12/29(土) 15:11:36ID:???
>>408
ニートとか氏ね
0412nobodyさん2007/12/29(土) 15:36:55ID:???
相手をニートと断定しないあたりに、プログラマらしさを感じた。
0413nobodyさん2007/12/29(土) 16:14:18ID:???
>>408
もしお前がニートなら氏ねそうでないならイ`
0414nobodyさん2007/12/29(土) 17:09:40ID:???
if( >>408 == 'ニート' ){
   $anser = '氏ね';
}else{
   $anser = '市ね';
}
0415nobodyさん2007/12/29(土) 17:11:40ID:???
>>414
ちょwwwwおまwwwスペルがwww俺氏ねorz
0416nobodyさん2007/12/29(土) 17:27:27ID:???
確かに、誰からも参照されなくなったニートオブジェクトは、ガベージコレクトされるべきではある。
0417nobodyさん2007/12/29(土) 17:56:44ID:tcLiBXaz
array("Apple" => "りんご", "Orange" => "みかん");
という連想配列を、
array('Apple' 'りんご' 'Orang' 'みかん');
という配列に変換したいんですが、どうすれば良いでしょうか?
0418nobodyさん2007/12/29(土) 18:06:27ID:???
>>417
foreach ($array as $key => $val) {
$new_array[] = $Key;
$new_array[] = $val;
}
0419nobodyさん2007/12/29(土) 18:19:38ID:???
$a = array("Apple" => "Ringo", "Orange" => "Mikan");
$b = array_keys($a);
$c = array_values($a);
$d = array();
for ($i = 0; $i <= count($a) - 1; $i++) {
array_push($d, $b[$i], $c[$i]);
}
print_r($d);
0420nobodyさん2007/12/29(土) 18:23:01ID:tcLiBXaz
すげー
天才だ!
有り難うございます。
04214192007/12/29(土) 18:23:05ID:???
配列の値がローマ字に変わってたのはさっきなぜか日本語がうてなかったからだ
気にしないでくれ
0422nobodyさん2007/12/29(土) 18:48:40ID:WA8jVfpj
PHPでコンストラクタのvisibility (public とか privateなどの指定) をsuper classより厳しく出来ないのは何で?
仕様というより、何の不都合があるのかという意味で。
0423nobodyさん2007/12/29(土) 18:52:50ID:???
継承じゃねーからだろ
0424nobodyさん2007/12/29(土) 18:56:45ID:yIBMpd50
ちりりDUKEの使い方を教えてほしい
0425nobodyさん2007/12/29(土) 18:56:45ID:WA8jVfpj
>>423
むしろ、継承だと出来ないんじゃないの?
0426nobodyさん2007/12/29(土) 20:06:36ID:???
>>414,415
しゅくだいはおわったのかい
0427nobodyさん2007/12/30(日) 01:39:18ID:???
ブラウザからPOSTして送るデータの改行コードって
何に依存するんでしょうか?
CRLFになったり、LFになったりして困ってまつ
0428nobodyさん2007/12/30(日) 01:42:14ID:???
phpでcookieの内容を受け取るにはどうすればええの?
自分でsetしたcookieではなくて、外部鯖から返されるcookieの値を取得したいんだけど
0429nobodyさん2007/12/30(日) 01:43:35ID:???
>>1 も読めないのか。このヴァカども
0430nobodyさん2007/12/30(日) 01:46:14ID:???
事故解決
0431nobodyさん2007/12/30(日) 02:34:00ID:+D3WOxGf
2点質問させていただきます。


1. htmlに書くname属性に日本語を利用しても問題無いでしょうか?

2. htmlのフォームからphpの変数に変換するツール等は無いでしょうか?
    例:html:<INPUT type="text" name="name"> ⇒ php:$name = $_POST['name'];
0432nobodyさん2007/12/30(日) 02:50:16ID:???
>>431
2はextract()でできるけど危険
0433nobodyさん2007/12/30(日) 02:57:27ID:???
>>431
foreachで回せ
つか$_POST['name']で使うのがそんなに嫌なのか
0434nobodyさん2007/12/30(日) 02:57:38ID:???
1 は html 的には何の問題もない
0435nobody2007/12/30(日) 03:15:18ID:8C08uScj
PHPで多次元配列の値を半分だけとりだすのはどうすればいいでしょうか?
0436nobodyさん2007/12/30(日) 03:21:54ID:???
半分だけってどう半分なの
0437nobody2007/12/30(日) 03:35:21ID:8C08uScj
$a["a"][0]=>1
[1]=>1
[2]=>0
[3]=>1
[4]=>0
の$a["a"][0],$a["a"][1],$a["a"][2]の値です

0438nobodyさん2007/12/30(日) 03:38:15ID:???
forなりforeachなりで回して半分まで行ったらbreakすりゃいいでしょ
0439nobodyさん2007/12/30(日) 04:45:05ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0440nobodyさん2007/12/30(日) 05:31:14ID:???
>>439
お前いい加減うざいよ
わざわざ>>1貼る必要ないだろ
冬休みだからって何回繰り返してるんだよ池沼
せめて>>1嫁ぐらいに留めとけ
0441nobodyさん2007/12/30(日) 05:38:36ID:???
>>440
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0442nobodyさん2007/12/30(日) 05:44:17ID:???
予想通りの流れだな
さすが冬休み
0443nobodyさん2007/12/30(日) 06:49:36ID:???
冬休み (笑
04442552007/12/30(日) 07:51:44ID:G9WMPe2A
やはりsendmailの設定を何もしていないとまづいんじゃないかと思ってます。が、、、
04452552007/12/30(日) 08:01:43ID:G9WMPe2A
でも #sendmail 〜 でメールは送れました。。。混乱しながら1週間くらい悩んでます。
0446nobodyさん2007/12/30(日) 08:41:04ID:???
そのスクリプトでエラー表示させてる?
エラーが出てて表示させないで真っ白になってるんと違う
04472552007/12/30(日) 08:52:27ID:G9WMPe2A
出せてます ifでmail()がtrueを返したらok falseならno をprintさせてます。

、、、先ほど少し進展がありました。
#setenfoce 0
#restorecon -R /var
を設定することでメール関数がokを返すようになりました。
上のはselinuxを無効にするという意味で、下のは、、、どういう意味だろう。
(cd http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20619&forum=10
でもメールがこない。。。httpdのerroelogを見てみると
Domain of sender address apache@localhost.localdomain
→やっぱりsendmailの設定をいじらないといけないのかなと思い、
とりあえず#sendmail 自分のメルアド
〜〜〜
としてsendmailをテストしてみると無事に自分のアドレス(プロバイダからもらったやつ)に届く

sender addressを設定しなくてもグローバルな環境でメール送れるじゃん
となって今また悩んでいるところです。
04482552007/12/30(日) 08:54:11ID:G9WMPe2A
失礼しました。Domain〜のところですが、Domain〜〜〜does not exitです。

0449nobodyさん2007/12/30(日) 09:06:56ID:???
Fedoraって /var/log/maillog とかないの?

あとif文でOKとか、そういうんじゃなくて、
PHPが吐くwarningとかnoticeとかもみてるのかな?

> Domain〜〜〜does not exit

does not exist? 自分宛に送ったメイルの差出人も localhost.localdomainに
なってるのかな?
04502552007/12/30(日) 09:46:25ID:G9WMPe2A
maillogの内容です。基本的にerrorlogと同じようなことがエラーになってま
す。
Dec 30 08:39:28 localhost sendmail[4414]: lBTNdBJQ004412:
to=<:::::::::@fb3.so-net.ne.jp>, ctladdr=<apache@localhost.localdomain>
(48/48),
delay=00:00:17, xdelay=00:00:17, mailer=esmtp, pri=120328,
relay=mxin2.ms.so-net.ne.jp.
[202.238.83.12], dsn=5.1.8, stat=User unknown
Dec 30 08:39:28 localhost sendmail[4414]: lBTNdBJQ004412:
lBTNdSJQ004414: DSN: User unknown

>>Does not exitst
自分宛(?.so-net.ne.jp)に送ったメールの差しだし人が
localhost.localdomaiになってる可能性大です。
この場合やはりsendmailの設定を変更すべきなのでしょうか。
上にも書いた通り端末からsendmailを利用して自分宛(?.so-net.ne.jp)に
送った場合成功するので、
どこを変更すればいいのかで悩んでいます。
0451nobodyさん2007/12/30(日) 10:04:09ID:???
もう完全に PHP とはかけ離れてるな
0452nobodyさん2007/12/30(日) 11:35:19ID:???
なんか面白い関数とかありませんかね
正月っぽいの
0453nobodyさん2007/12/30(日) 11:40:04ID:???
omikuji();
でおみくじが引けるよ!
0454nobodyさん2007/12/30(日) 11:48:59ID:???
php_logo_guid()だろ、、、常考
0455nobodyさん2007/12/30(日) 11:59:43ID:???
>>450

> メールの差しだし人が
> localhost.localdomaiになってる可能性大です。

俺mail関数使ったことないんで間違ってるかもしれないけど

これ見た感じだと→ http://jp.php.net/manual/ja/function.mail.php

「メールを送信する際には、必ず From ヘッダが含まれていなければなりません」
とかいてあるけど「可能性大」ってのは自分で「localhost.localdomail」のメアドを
指定した、っていう意味?
04564552007/12/30(日) 12:13:57ID:???
なんか変なこと書いてるな俺。気にしないで
0457nobodyさん2007/12/30(日) 12:28:12ID:???
PHPに関係するのは、ctladdrの所だけだぁね。
ctladdr=<apache@localhost.localdomain>
ctladdr - The ``controlling user'', that is, the name of the user whose credentials we use for delivery.
こいつは mb_send_mailの4だったか5番目だったかのパラメータで設定したものが使われる。
指定してなきゃ、sendmailを呼び出したプロセスの所有者が使われるんだったかな。
で、apacheになるっと。

その部分を除いてPHPには全く関係無く、”sendmailを適切に設定していないことが原因” だから板違い。
Linux板か自宅鯖板のsendmailスレで、どういうメル鯖の構成(ISPのメル鯖に全部投げとか)にするかを書いた上で聞けばいいよ。
0458nobodyさん2007/12/30(日) 13:13:30ID:???
ユーザー認証のページの作成をしています。
登録後のIDとPASSの管理をファイルでしようと思うんですが、
セキュリティを向上させるための定石というのはあるのでしょうか。

また、どのようにユーザーがログインする時はPOSTでデータを送信、
その後はセッションでログイン情報を維持という風にしたいのですが
これは特に問題ありませんよね?
0459nobodyさん2007/12/30(日) 13:29:12ID:???
>>458
とりあえず、オライリーの「入門PHPセキュリティ」を読むことを勧める。
04602552007/12/30(日) 16:15:22ID:G9WMPe2A
不本意ながらこの泥沼から逃げることで一応解決しました。つまりpostfixに移行しました。
0461nobodyさん2007/12/30(日) 16:50:41ID:???
逃げちゃだめ
とりあえず、オライリーの「sendmail」を読むことを勧める。
04624592007/12/30(日) 16:56:03ID:???
>>461
別に逃げても良いんじゃないの?
0463nobodyさん2007/12/30(日) 19:23:36ID:???
<tr>
<td class="aaa">あああ</td>
<td class="bbb">いいい</td>
</tr>

↑をまるごと変数に入れるにはどうすればいいでしょうか・・・
04644632007/12/30(日) 19:26:45ID:MvMxVYb6
ID出し忘れました
申し訳ない
0465nobodyさん2007/12/30(日) 19:27:27ID:???
1読め屑
0466nobodyさん2007/12/30(日) 19:29:49ID:???
$hoge = "<tr>\n<td class="aaa">あああ</td>\n<td class="bbb">いいい</td>\n</tr>";
$hoge = "
<<< HTML
<tr>
<td class="aaa">あああ</td>
<td class="bbb">いいい</td>
</tr>
HTML;
";
0467nobodyさん2007/12/30(日) 19:33:13ID:???
>>466は「"」→「\"」で。
下の方法が合ってるかはわからn
0468nobodyさん2007/12/30(日) 19:42:11ID:???
>>466
なんか、色々間違ってる気がする。
http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
0469nobodyさん2007/12/30(日) 20:02:47ID:1r819gof
聞きたいんですが、php5のマニュアルってどこかでダウンロードできないですか?
昔マンモス本の中身ダウンロードできるサービスがあったような気がするんだけど、
ああいうの今もないでしょうか?
あったら教えてほしいです、田舎に帰って勉強したいんだけど、
でかい本持ち歩くのキツイ、、
0470nobodyさん2007/12/30(日) 20:08:55ID:lUFWIq2Z
MVCでテンプレートエンジン使わずにVIEWをやりたいんだけど
コントローラーで
$title = "タイトル";
require("hoge.php");
exit;
とかみたいなやりかたってダメ?
他に何かいい方法あるかなー?
っていうかviewを別にするならテンプレート使わないといけないのかな?
0471nobodyさん2007/12/30(日) 20:12:51ID:lUFWIq2Z
>>469
ttp://www.php.net/download-docs.php
0472nobodyさん2007/12/30(日) 20:18:46ID:???
>>459
すいませんわがままだと思うんですが
Web上で参考になるセキュリティ対策のサイトというのはないでしょうか・・・
04734692007/12/30(日) 20:24:49ID:1r819gof
>>471
すごい! ほんとにあったんですね!! 大感謝です
ありがとう!
0474nobodyさん2007/12/30(日) 20:33:01ID:???
>>472
>>1
0475nobodyさん2007/12/30(日) 20:38:53ID:???
>>466
レスありがとうございます
↑の書き方で例を表示することはできたんですが、
自分の場合"あああ"、”いいい”の部分も<?=$hogehoge?>の様に変数になっていて、
このまま実行してもセルの中が空になります
変数に変数を代入しようとしてるのが問題だと思うんですが、どうにかならないでしょうか
ローカルでテストしてる場合OSとPHPのバージョンは自分の環境を書けばいいんでしょうか
WindowsでPHP5.25なのですが
04764632007/12/30(日) 20:39:38ID:MvMxVYb6
またやってしまった
申し訳ない
0477nobodyさん2007/12/30(日) 20:44:11ID:lUFWIq2Z
>>475
変数を『{}』でくくるか、
文字列と変数を『.』で繋げればいいんじゃない。
0478nobodyさん2007/12/30(日) 20:48:41ID:???
普通にシングルクォートで囲って入れればいい話じゃないのか?
04794312007/12/30(日) 21:24:43ID:+D3WOxGf
>>432-434
レスありがとうございます。
とりあえずやりたいことは出来そうです。
もう少し勉強してみます。
04804632007/12/30(日) 21:58:49ID:MvMxVYb6
>>477-478
$hoge="<tr>\n<td class="hoge2"><?=hoge3?></td>\n</tr>";

変数と言うか、<td>〜</td>間にPHPの書式を書こうとするとだめみたいです
<td class="hoge2">のようにタグの中だと効くのですが、<?=hoge3?>は無いものとして扱われてます
<?=hoge3?>を{}や''で囲むとその囲んだ記号だけ表示されます
0481nobodyさん2007/12/30(日) 22:00:51ID:???
俺はシングルクォートで文字列括って改行コードは定数にしてるな
$html = '<a href="hoge.html" onclick="alert(\'ラヴィ\')">'.$hoge.'</>'.NEW_LINE.
'以上ラヴィでした';
こんな感じで書いてるなー

#てーか携帯でソース書くの辛いな
0482nobodyさん2007/12/30(日) 22:09:56ID:???
つーかロジックとビューは分離しろ。
ヒアドキュメントとかアホじゃねーのか。
0483nobodyさん2007/12/30(日) 22:22:57ID:???
ヒアドキュメント使うと、ロジックとビューが混ざるの?
ヒアドキュメントと文字列に差はないと思うけど。
0484nobodyさん2007/12/30(日) 22:24:45ID:???
PHPのヒアは変数展開とかしてくれないから、混ざらないと思う。
0485nobodyさん2007/12/30(日) 22:28:09ID:UcZOMDnE
>>484
展開したと思う。
04864842007/12/30(日) 22:34:14ID:???
ごめん、勘違いしてたみたい。
自重します。
0487nobodyさん2007/12/30(日) 22:35:18ID:???
配列の展開やオブジェクトの参照はしてくれないけど({}付は省く)
普通に$unkoとかは展開されてる
0488nobodyさん2007/12/30(日) 23:08:06ID:WyJGCA3E
.cgi .plのスクリプトを使いたいのだが
どうすれば いいだろうか?
クリックしても .bat / .exeみたいに 動かないし…
0489nobodyさん2007/12/30(日) 23:15:01ID:???
>>488
スレ違い
PHPからなら
<?php
exec("pl hoge.cgi");
?>
とか
0490nobodyさん2007/12/30(日) 23:16:28ID:???
(;´Д`)
0491nobodyさん2007/12/30(日) 23:51:59ID:???
吹いたwwwwwww
0492nobodyさん2007/12/31(月) 00:40:49ID:???
>>427
クライアントのOSだったと思う
俺はLFに統一してる
0493nobodyさん2007/12/31(月) 02:01:26ID:ye8NBX1l
クッキーにIDとパスがあった場合、
そのままログイン後の画面を表示させるか、
入力フォームに値を入れてボタンを押させるか、
どっちが主流?
0494nobodyさん2007/12/31(月) 02:05:01ID:???
IDはまだしも、パスワードはクッキーに保存しちゃ駄目wwwwwwwwww
0495nobodyさん2007/12/31(月) 02:07:28ID:???
mysqlも穴だらけだなぁと思う今日この頃。
ソフトウェア開発のがリスクがない分楽かもしれん
0496nobodyさん2007/12/31(月) 02:22:13ID:???
>>493
IDやPASSをそのまま入れてる訳ではないけど
ログインしたままが多いんじゃないかな(Googleとかニコ動とかそうだし)
0497nobodyさん2007/12/31(月) 03:43:38ID:???
そこらへんのphpゲーム見て回ってるんですけど
普通にhiddenでIDとPASSをやり取りしてページを移動していますよね、
これってセキュリティ的にどうなんですか?。。
0498nobodyさん2007/12/31(月) 03:55:53ID:???
最悪
0499nobodyさん2007/12/31(月) 04:08:11ID:???
そうなんですか、どこでも普通に使われてるので何かやってるのかと・・・。

ログイン画面でID・PASSを送信、ハッシュ化、
それに応じたハッシュがあればセッションを作成してページ間の移動に利用、
ページを移動したらセッションを破棄、また移動時にセッションを作成、破棄・・・

というの無知ながら考えたんですが、これはセキュリティとサーバーの負担から考えてどうなんでしょう・・・。
どなたかご教授お願いいたします。
0500nobodyさん2007/12/31(月) 04:09:21ID:???
クッキーに保存して良いのはセッションIDのような、ワンタイムパスワードっぽいのだけ。
0501nobodyさん2007/12/31(月) 04:44:33ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0502nobodyさん2007/12/31(月) 04:46:57ID:???
KY
0503nobodyさん2007/12/31(月) 04:59:41ID:???
いっそのことテンプレをNGワードにしてしまおうか。
0504nobodyさん2007/12/31(月) 05:18:46ID:???
普通に答えてやればいいのに
0505nobodyさん2007/12/31(月) 10:13:13ID:???
自信満々な態度でテンプレを貼り付けてくるバカを見ると失笑を買う
0506nobodyさん2007/12/31(月) 14:09:09ID:ExHZywTc
phpでMySQLからデータを引っ張ってきて、XMLに加工して出力してるんですが、
XMLの加工そのものは成功してて、IEなんかのブラウザで見てる分には問題ないんですが、
Ajaxで非同期受信すると、responce has no propertiesとなってしまいます。
(status=4を受信できないっぽい)

上記のエラーは、FirefoxのFirebagで見てます。
Firebag上は、ちゃんとXMLが取得できてるので、php側からstatusの4を送信できればいいんだと思うんだけど、やり方わかる人っていますか?
0507nobodyさん2007/12/31(月) 14:09:53ID:ExHZywTc
もしくは、Ajax用にphpで動的にXMLの生成を経験した人っておりますか?
0508nobodyさん2007/12/31(月) 14:21:09ID:???
どうせどっかでタイプミスしてんだろ
0509nobodyさん2007/12/31(月) 14:21:27ID:???
質問する時は、せめて「どうすればいいですか?」って聞き方にした方がいいと思いますよ。
わかる人、経験した人ってのは案外多いもんです。
0510nobodyさん2007/12/31(月) 14:29:56ID:ExHZywTc
phpでxmlを出力すると、ヘッダーが違うからっぽいですね。
何を出力すればいいんだろ?

>>508
してないです。

>>509
はぁ・・・
05114552007/12/31(月) 14:32:14ID:???
> php側からstatusの4を送信できればいいんだと思うんだけど

HTTPのことを全く理解せずにAjaxとかやってるやつって
色々大変なんだろうなー
0512nobodyさん2007/12/31(月) 14:33:17ID:???
ヘッダなら、これで

header("Content-Type: application/xml; charset=utf-8");
0513nobodyさん2007/12/31(月) 14:37:06ID:ExHZywTc
自己レスです。やっぱりヘッダでした。無事解決しました。
0514nobodyさん2007/12/31(月) 14:39:10ID:ExHZywTc
>>511
Ajaxやったことない人からすると、羨ましいですか?

>>512
はい、それです。やっぱ実力のある人は回答をスパッと出しますね。
実力無い人って、なんでウザイんですかね?
0515nobodyさん2007/12/31(月) 14:40:39ID:???
>>514
そうそうお前みたいに質問者の癖に無駄に解答者煽ったりとかな。
本当に勘弁して欲しいわ。早く巣に帰れ。
0516nobodyさん2007/12/31(月) 14:43:42ID:???

「実力のある人は回答をスパッと出しますね」

実力のないやつがえらそうにこういうこと言うのって恥ずかしいなあ。

"responce has no properties"

"Firebag"

この手の注意力散漫なやつはくだらない打ち間違いで時間を無駄にするタイプ。(中学生か?)

ふつーにFirefox使ってりゃ、この手のバカが打ち間違えないように
赤い下線で打ち間違いを教えてくれるのに、それでも間違えるってのは真性だなあ
0517nobodyさん2007/12/31(月) 14:45:09ID:???
恥知らずの中二病が冬休みのお勉強中か?

はやく「php側からstatusの4を送信」してみろよカスが
0518nobodyさん2007/12/31(月) 15:11:38ID:ExHZywTc
>>515-517
そんなに悔しかったんですか?(w
久しぶりに必死な人を見ました。
今年の歳暮れも大変だと思いますが(w 頑張って下さいね。
0519nobodyさん2007/12/31(月) 15:23:53ID:???

Firebag(笑)

> 上記のエラーは、FirefoxのFirebagで見てます。
> Firebag上は、ちゃんとXMLが取得できてるので、

0520nobodyさん2007/12/31(月) 15:24:29ID:???
>>518

随分舐めた態度の奴だなあ

何様のつもりなんだろう
0521nobodyさん2007/12/31(月) 15:28:11ID:???
おまえが何様だ
0522nobodyさん2007/12/31(月) 15:28:26ID:???
          ____
       / \  /\  キリッ
.     / (ー)  (ー)\
    /   ⌒(__人__)⌒ \        上記のエラーは、FirefoxのFirebagで見てます。
    |      |r┬-|    |
     \     `ー'´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0523nobodyさん2007/12/31(月) 15:30:50ID:???
>>521

「php側からstatusの4を送信」ってのはいつになったらできるの?
0524nobodyさん2007/12/31(月) 16:17:17ID:???
>>521は質問者ではないぞ。
大して解決策も出してない輩が粋がっていて、なんだかなーと。
0525nobodyさん2007/12/31(月) 16:18:07ID:???
          ____
       / \  /\  キリッ
.     / (ー)  (ー)\
    /   ⌒(__人__)⌒ \        php側からstatusの4を送信
    |      |r┬-|    |
     \     `ー'´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/    だっておwwwwwwwww
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /
 |    |   l||l 从人 l||l      l||l 从人 l||l  バンバン
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0526nobodyさん2007/12/31(月) 18:23:23ID:ExHZywTc
今、家の用事から帰ってきました。
まぁリアルで高校生なんですけど、高校生より劣っていることが
そんなに悔しかったんですか?(w
0527nobodyさん2007/12/31(月) 18:26:45ID:ExHZywTc
まぁ高校生でもプログラム歴5年くらいあるからなぁ。
PHPは1年だけど(w
おっさん、めげるな!
0528nobodyさん2007/12/31(月) 18:29:44ID:???
NG推奨 ID:ExHZywTc

いい加減しつこい。
0529nobodyさん2007/12/31(月) 18:36:41ID:???
しつこさは同意だが、おまえも同じくしつこい野郎だな
0530nobodyさん2007/12/31(月) 18:38:52ID:???
5年もやってて>>506か。頭の病気かも分からんね。
0531nobodyさん2007/12/31(月) 18:41:07ID:???
いちいち反応するなよ。はい次の質問者どうぞ。
0532nobodyさん2007/12/31(月) 18:41:25ID:???
極論厨死ね、リアルで死ね
0533nobodyさん2007/12/31(月) 18:44:12ID:3CT6jxWV
投稿フォームでhttp://yahoo.co.jp/のようなアドレスを自動リンクさせるには
正規表現で<a href=""></a>を加えて置換する以外に何か方法ありますか?
0534nobodyさん2007/12/31(月) 18:46:14ID:???
>>533
URLかどうかを判断する方法は正規表現以外でもできるが、結局は置き換えになる。
0535nobodyさん2007/12/31(月) 18:52:11ID:???
URL入力欄を設ける
0536nobodyさん2007/12/31(月) 18:58:49ID:???
>>535
おまいは何を言ってるんだ
0537nobodyさん2007/12/31(月) 19:01:45ID:???
>>536
頭の固い馬鹿だな
05385332007/12/31(月) 19:02:09ID:3CT6jxWV
>>534-535
ありがとうございました。
都合のいい正規表現を考えるか、探した方が良さそうですね。
0539nobodyさん2007/12/31(月) 19:36:21ID:???
>>537
ちょww質問の意味を汲み取れてない馬鹿はお前だろww
投稿フォームでアドレスの入力があった場合のオートリンクの話をしてるのに
なんでURL入力欄を設けるとかイミフなこといっちゃってるわけ?wwww
0540nobodyさん2007/12/31(月) 19:43:39ID:???
必死な釣り人がいるが
低学歴は数年後にちゃんとみじめな人生送ることになってるから
放置しておいてやろう
家が金銭的に小康状態を保っているから
他にやることが無いから書き込みをしているんだ
今の彼は最高に輝いている
0541nobodyさん2007/12/31(月) 19:47:16ID:???
煽らんでいいからおとなしく自分の非を認めて黙って引っ込んどけよ。

1. URL入力欄
http://www.example.com/ (自サイトのURL)

2. 投稿フォーム
こんにちは。よかったらサイトに遊びに来てください。
最近 http://www.2ch.net/ にもたまに出没しています。


1と2で張られたリンクには関連性はないだろ。
0542nobodyさん2007/12/31(月) 20:41:37ID:???
>>538
正規表現関連、英語で良ければ
ttp://regexlib.com
が便利。
0543nobodyさん2007/12/31(月) 22:34:43ID:zQ+yU81P
たとえば
<name>ひろゆき</name>
って文字列があるとして、ここから「ひろゆき」だけを抜き出すには、どんな方法がスマートなの?
substrとstrposでゴチャゴチャ処理するのが嫌なんだけど。
0544nobodyさん2007/12/31(月) 22:36:38ID:???
>>543
>>542
0545nobodyさん2007/12/31(月) 22:36:53ID:???
>>543
DOM
SimpleXML
0546nobodyさん2007/12/31(月) 22:46:18ID:zQ+yU81P
>>545
xmlって言ってないのに気を遣ってくれてありがとう。
simplexml使ってみます
0547nobodyさん2007/12/31(月) 23:01:32ID:fLI7N5P/
インクルードさせて使うファイルが直接ブラウザで開かれたときに
エラーを返す方法ってありますか?

そもそもそんなこと気にしないで良いんでしょうか?
0548nobodyさん2007/12/31(月) 23:04:14ID:???
.htaccessとかでインクルードさせる鯖アドレスだけを許可すればいんじゃね。
order deny,allow
deny from all
allow from localhost

みたいな
0549nobodyさん2007/12/31(月) 23:07:17ID:???
ドキュメントルートの上に置けよと
0550nobodyさん2007/12/31(月) 23:07:40ID:???
includeする時は別にHTTPでアクセスする訳じゃないから
localhost許可する必要すらないよ。

普通に全て拒否すればおk
0551nobodyさん2007/12/31(月) 23:12:28ID:???
おいらはクラスや関数にして、直接呼び出しても出力や処理が実行されない形で書くから、
そういうのは気にして無いな。

その他には、他の人と重複するけど、
・Webサーバから直接アクセスできない場所に置く
・htaccessを使うなどして、アクセスを制限する
・設定ファイルなどで定数を設定して、インクルードファイル内でそれを確認
ってところかな。
0552nobodyさん2007/12/31(月) 23:22:44ID:???
Webサーバからアクセスできない場所に置いたらincludeできねーだろw
0553nobodyさん2007/12/31(月) 23:26:57ID:???
まぁ所有者と権限の設定をきちっとしろよという事だな
0554nobodyさん2008/01/01(火) 00:01:03ID:???
あけおめ
0555nobodyさん2008/01/01(火) 00:03:26ID:QS3lzF/U
くわしい解説ありがとう
勉強になりました

あけましておめでとうございます!
0556 【中吉】 【1298円】 2008/01/01(火) 00:42:52ID:???
<?php echo "A Happy New Year !!\n"; ?>
0557nobodyさん2008/01/01(火) 01:54:00ID:mia1J22w
PHP5の正規表現について質問です。
PHP5.2.5 (cli) を使用しています。

1. PHPスクリプトのエンコードはUTF-8
mb_regex_encoding('UTF-8');
mb_internal_encoding('UTF-8');
2. http://2ch.net/ を fsock で取得(これは問題なし)
3. mb_convert_encoding で UTF-8 に変換(これも問題なし)
4. その文字列を正規表現で処理…(ここで問題発生)

//if (mb_eregi('<div[^>]*>(?:(?!</div>)(?:.|\s))*?利用者各位', $body, $matches)) // 動かない(エラーも吐かずに停止状態になる)
if (mb_eregi('<div[^>]*>(?:(?!</div>)(?:.|\s))*?利用者各位', $body, $matches)) // 動く
print_r($matches);
else echo 'NO MATCH';

正規表現的に問題は無いと思うのですが…
「(?!</div>)」を消したり、「(?:.|\s)」を「(?:.|s)」や「.」にすると動きます。
「.」が改行にマッチするので、「.」に置換すればいいのですが、何故この様な事になるのか解りません。
何か無限ループ的なことになっているような気も…
0558nobodyさん2008/01/01(火) 02:58:34ID:mia1J22w
確認用ソースです。[\r\n] でも発生する事があるようです。
http://abc.s65.xrea.com/prox/wiki/?plugin=attach&pcmd=open&file=mb_eregi_test.php&refer=%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C0
0559nobodyさん2008/01/01(火) 03:19:28ID:mia1J22w
PHP4.4.7だと正常に動作しました。
MLog: [PHP-users 29514] Re:UTF-8、正規表現で全角スペースがヒットしないことがある?
http://mlog.euqset.org/archives/php-users.php.gr.jp/29514.html
見たいなのも有るようなので、仕様(納得行かないのでバグのような気がしますが)でしょうか・・・?
0560nobodyさん2008/01/01(火) 03:21:45ID:???
>>559のURLは関係無かったようです
0561nobodyさん2008/01/01(火) 04:44:18ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0562nobodyさん2008/01/01(火) 04:48:03ID:???
>>561
そろそろいい加減にしないとアク禁されんぞ
0563nobodyさん2008/01/01(火) 06:09:31ID:???
PHPで、既存のクラスにメソッドを追加することはできませんか?
RubyやPythonやJavaScriptでは、既存のクラスに対してあとからインスタンスメソッドやクラスメソッドを追加できるんですが、同じことをPHPでしようとして、やり方が分からず困ってます。
なおこの質問はPHP批判ではなく純粋に質問なので、「Ruby使えやボケ」とかはなしでお願いします。
0564nobodyさん2008/01/01(火) 06:13:35ID:???
>>557
その現象が発生する $body はどんなの?
なるべく短いのを書いてみて。
0565nobodyさん2008/01/01(火) 06:18:22ID:???
>>563
PHPをハックすればできるんじゃない?
ていうか既存のクラスいじるとかトリッキーなことしないで、
継承してからいじればいいと思う。
クラスの再利用ってそういうものでしょ。
0566nobodyさん2008/01/01(火) 06:45:56ID:???
>>565
継承すると別のクラスになります。
使おうとしいてるライブラリがクラス名を固定しているため、他のクラスは使えません。
factory methodとかDIコンテナを使っていればいいのですが、そうではないので、継承では解決できません。
0567nobodyさん2008/01/01(火) 06:52:45ID:???
単純な興味なんだけど
何のクラスにどういうメソッドを追加しようとしてんの?
0568nobodyさん2008/01/01(火) 06:59:41ID:???
>>557
止まってるんじゃなくて、マッチングに時間がかかってるだけみたい。
対象文字列を短くしたら、数秒で終わるようになった。
たぶんeregi()のマッチングアルゴリズムがまずいんだろう。

UTF-8でいいなら、mb_eregi()のかわりにpreg_match()を使って、パターンに u オプション使えばいい。

それから、質問するときは現象が発生する最小限のコードにしてほしい。
getPage()とかいらんから、対象文字列を短くしてコードに貼付けるべし。
0569nobodyさん2008/01/01(火) 07:02:35ID:???
つかあえてeregi使う利点ってあんの?
0570nobodyさん2008/01/01(火) 07:03:40ID:???
>>567
privateやprotecedになっているインスタンス変数に対して、publicなアクセッサを定義したいというだけです。
他人が作ったまずい設計のクラスを、なんとかして使わなければいけないときに、RubyやPythonだとなんとかできてしまうので、同じことがPHPでもできたらいいなと思って。
0571nobodyさん2008/01/01(火) 07:19:12ID:???
ふーん、ま無理だから自力で何とかするのがいいかと
0572nobodyさん2008/01/01(火) 07:37:33ID:9i91PKAG
皆さんあけおめです

php_qrってのを使おうと思ったんですが、インスコまではやったんだけど
php_output_from_zvalがみつかんねぇってこと言われました
php_output_from_zvalってなんのパッケージ入れればいいんですか?
0573nobodyさん2008/01/01(火) 07:46:35ID:???
PHPのバージョンが合ってないんじゃね
0574nobodyさん2008/01/01(火) 07:54:18ID:9i91PKAG
>>573
php4なんですが、php_qr-0.1.0.tgzとphp_qr-0.1.3.tgzを試したんですが出来ませんでした。
php4ではどのバージョンを使えばいいんでしょうかね?

とりあえずエラーメッセージ載せておきます

Warning: dl(): Unable to load dynamic library '/usr/lib/php4/qr.so' - /usr/lib/php4/qr.so: undefined symbol: php_output_from_zval in /var/www/html/index.php on line 3
0575nobodyさん2008/01/01(火) 09:04:48ID:???
>>564,568
有難うございます。色々試してみた所、仰るとおり、
PHP5だと何故か異常に時間が掛かるだけで(PHP4だと一瞬)、固まっている訳ではなかったようです。
どういう表現&対象文字列だと遅くなるのかがよく解らなくて困りますが…

一応、テストに使用したスクリプト、対象のソース、結果を纏めた物を用意してみました。
http://abc.s65.xrea.com/prox/wiki/?plugin=attach&pcmd=open&file=mb_eregi-test.zip&refer=%A5%A2%A5%C3%A5%D7%A5%ED%A1%BC%A5%C0

後、異常に遅い表現は、preg_match + i,s,uオプション ではマッチしないようです(PHP4.4.7のmb_eregiだとマッチする)。
もう訳が解りません…
0576nobodyさん2008/01/01(火) 09:27:18ID:???
>>574
そりゃドキュメントなりリファレンスなりreadmeなり見れば書いてあるんじゃないの
あとは作者に聞け
05775742008/01/01(火) 09:54:04ID:???
しょうがないからコード書き換えた
php_qr.cの594行目のチェックをはずしたらうまく行ったっぽい
0578nobodyさん2008/01/01(火) 10:08:13ID:???
>>575
//if (preg_match('{<div[^>]*>(?:(?!</div>)(?:.|[\r\n]))*?管轄裁判所)}isu', $body, $matches)) // NO MATCH(何故一致しないのかわからない…)

i,s,uはパターン修飾子だから、 /正規表現/isu の書式じゃないの?
http://jp.php.net/manual/ja/reference.pcre.pattern.modifiers.php

0579 【大凶】 【1876円】 2008/01/01(火) 10:15:38ID:???
自分で正規表現考えながら書くのは結構好きなんだが、
他人が書いてるものを見るとわけがわからなくて嫌いになりそうになるよな。
0580 【大凶】 【1905円】 2008/01/01(火) 10:24:01ID:???
そこでコメントですよ
0581 【末吉】 【1693円】 2008/01/01(火) 10:35:04ID:???
大凶 2連チャンとかw
0582nobodyさん2008/01/01(火) 10:56:15ID:???
>>578 は関係ないっぽい。忘れて。
0583 【吉】 【1505円】 2008/01/01(火) 13:54:05ID:???
この板の連中は運悪いなw
今年もくだらねぇ質問して、時には回答にまわって勉強させてもらうぜ。
ヨロシクな
0584nobodyさん2008/01/01(火) 14:43:07ID:???
コーディングが冗長になると、スクリプトの動作速度も鈍くなったりする?
0585nobodyさん2008/01/01(火) 15:02:55ID:???
とんでもない冗長なら遅くなるね
0586nobodyさん2008/01/01(火) 15:06:59ID:???
理論的には単純にコードが長くなれば誤差程度だが当然影響は出る
ただ100行のコードが1万行になるわけではないだろ?
せいぜい数行〜数十行増えるだけのはずだ
そうなると体感動作速度は一緒だし実測しても変わらない
気にする必要はないからわかりやすく書くよろし
間違っても条件文で読みにくい三項演算子なんて使うなよ
0587nobodyさん2008/01/01(火) 15:31:35ID:???
行数で判断できるもんじゃないよ
0588 【豚】 【542円】 2008/01/01(火) 15:33:09ID:???
2chの書き込みは行数で判断できるから3行以上の長文はスルーだな
0589nobodyさん2008/01/01(火) 15:35:00ID:???
>>588にスパムフィルタとか作らせたら凄いことになりそw
0590nobodyさん2008/01/01(火) 15:35:06ID:???
気になるならプロファイラ使って調べれば良いんじゃね。
あとで使い勝手とか教えてくれたら嬉しい。
05915842008/01/01(火) 15:56:16ID:???
>>585-590
レス、thx.
ちょっと安心したわ。
プロファイラってのも使ってみようと思う。
ありがとう。
0592nobodyさん2008/01/01(火) 16:14:59ID:???
>>588
豚ってwwwwwwww
0593nobodyさん2008/01/01(火) 17:29:15ID:F2c2JMdr
setcookieのドメインの所に、
クッキーを与えるドメインとは別のドメインを書いても
別のドメインでそのクッキーを使えるようにはならないのでしょうか?
やってみたけど上手くいかないので、やり方が悪いのか根本的に出来ないのかを知りたいです。
0594nobodyさん2008/01/01(火) 17:31:31ID:???
$sql = "SELECT id,pass FROM login WHERE id = '".$id."' AND pass = '".$password."'";
$result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql);

この記述でクエリの送信に失敗しました と出るのですが
記述が間違っているんでしょうか?
0595nobodyさん2008/01/01(火) 17:43:33ID:???
>>593
多分だけど、それが可能だとしたら他のドメインのcookieを書き換える事が可能ということに
なるので、ブラウザ側が許可しない気がする。
0596nobodyさん2008/01/01(火) 17:49:21ID:???
>>594
mysql は使ってないから、詳しくは知らないけど、これで調べれば少しは判るかも。
http://jp.php.net/manual/ja/function.mysql-error.php
0597nobodyさん2008/01/01(火) 18:02:26ID:???
>>596
その関数を使ってみたところ
単純にデータベース接続が完了してなかったみたいでしたorz

くだらない質問にありがとうございました。
0598nobodyさん2008/01/01(火) 19:52:12ID:gtyeLFx+
少人数利用のBBSで
setcookie("pass", $pass,time()+60*60*24*30);
$pass = $_COOKIE["pass"];
if($pass == abc){BBSを表示}
を使って、簡単なログイン制限を掛けてるのですが、
この処理のあるbbs.phpを直接表示した場合、IE7.0でもFireFoxでも全く問題なく処理されるのですが、
bbs.phpをIE7.0でインラインフレームを使い入れ子にした場合、
フォームの処理を行うとクッキーがクリアされて、またpassの入力画面に戻ってしまいます。
FireFoxでは問題ないようなのですが、インラインフレームの利用で何か特別な問題が起こることはあるのでしょうか?
0599nobodyさん2008/01/01(火) 21:46:01ID:???
IEとFirefoxではcookieが共有されるセッション管理の単位が違うせいかな。

同じPCから複数のユーザとしてログインする必要がないなら、 setcookieで path とか domain も指定すれば
cookieが共有される気がする。
0600nobodyさん2008/01/01(火) 22:55:23ID:???
javaでいう static intializer はPHPではどう書きますか。

class Foo {
 static Map table = new HashMap();
 static { // static initializer
  table.put("<", "lt");
  table.put(">", "gt");
  table.put("&", "amp");
  table.put("¥"", "quot");
 }
}
0601 【大吉】 【314円】 2008/01/01(火) 23:02:33ID:???
>>1
06025982008/01/01(火) 23:04:36ID:gtyeLFx+
>>599
ここでも仕様が違うんですね。
他の方法を試してみます、どもでした。
0603nobodyさん2008/01/01(火) 23:30:56ID:???
Parse errorでunexpected T_PAAMAYIM_NEKUDOTAYIMとか出てきた
ハァ?何これフザケテンノ?
http://php.liukang.com/manual/ja/tokens.php

ぐぐってみたら同じこと思った人がいたようで
http://p0t.jp/mt/archives/2006/08/paamayim_nekudo.html
0604nobodyさん2008/01/01(火) 23:43:58ID:???
ユダヤの陰毛でつね
0605nobodyさん2008/01/02(水) 03:58:58ID:xlZOpAZW
画像レスできる板とできない板のある掲示板の画像レスできない板で
投稿フォーム改造して画像レスを送ってみたら
アップロードされちゃったんですが見ることができません。
これをHTMLやヘッダに手を加えて画像レスが見れる状態のHTMLを送って
もらうことはできますでしょうか?
PHPを使ってる掲示板なのでここで質問してみました
よろしくお願いします
0606nobodyさん2008/01/02(水) 04:25:51ID:zb153+EZ
12345678790
みたいな可変する文字列のn番目に文字列"\n"を挿入する場合、
substrで切り出してシコシコ成形する以外にスマートな方法ありませんか?
0607nobodyさん2008/01/02(水) 04:44:42ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0608nobodyさん2008/01/02(水) 06:24:31ID:XSzMXv90
sqlへのselectの結果(オブジェクト化したもの、$obj)に対して、
$obj->NAMAE で名前カラムのデータが求められるとします(カラム名は必ず大文字)
で、上記の呼び出しを関数化したとき
function yobidashi($name){
 $name=strtoupper($name);
 return $obj->name;
}
としても上手くいきません
$obj->の後に続くのはカラム名でなければいけないからなんですが、
どういう書き方にしたらいいのかわかりません
どなたかアドバイスお願いします
0609nobodyさん2008/01/02(水) 06:46:53ID:???
>>608
$obj->$name
0610nobodyさん2008/01/02(水) 07:34:16ID:???
4:44 のテンプレ貼り ktkr
0611nobodyさん2008/01/02(水) 07:51:34ID:???
手動スクリプト乙w
0612nobodyさん2008/01/02(水) 08:26:14ID:???
>>608
いまいち状況がワカラン中でレスをするが・・・・
return $obj->$name;

これでどう?
関数呼び出す時は呼び出し方の例も記載すると
レスし易いと思う

0613nobodyさん2008/01/02(水) 08:56:01ID:???
>>608

return $obj->__get($name);

ではどうですか?
0614nobodyさん2008/01/02(水) 08:59:39ID:???
>>608
そのオブジェクトを返してる部分にメソッドを追加する
0615nobodyさん2008/01/02(水) 09:49:13ID:???
>>608
global $obj;
0616nobodyさん2008/01/02(水) 10:06:19ID:???
>>608
evalを使うしか思いつかない。
http://jp.php.net/manual/ja/function.eval.php

return eval('return $obj->'.$name.';');
ってかんじかな。
0617nobodyさん2008/01/02(水) 10:12:07ID:???
ありがとうございます
単純に$obj->$nameでOKでした すみません、クダ質で…
evalとかglobalとか調べてついでに覚えます
ほんとにありがとう
06186162008/01/02(水) 10:17:01ID:???
>>617
そんな書式があったのか...。
逆に勉強になった。ありがと。
0619nobodyさん2008/01/02(水) 12:44:05ID:???
Active Perlをインストールしないと 「.pl」は動かないの?
0620nobodyさん2008/01/02(水) 12:52:33ID:???
答えてるやつも大分初心者だな
0621nobodyさん2008/01/02(水) 14:12:54ID:???
そんな下らない事を書かずにはいられない620は人生初心者だな
0622nobodyさん2008/01/02(水) 16:30:00ID:???
>>617
一番覚えるべきなのは「可変変数」かと
0623nobodyさん2008/01/02(水) 19:05:49ID:???
>>619
Windowsでの話ならその通り。あくまで中身がPerlだったらの話だけど。
別にActive Perlじゃなくてもいいけど、定番だし普通これかな。
Linuxがどうかは知らない。

んでPHPと関係ないんで、次からはスレちゃんと選んでね。
0624nobodyさん2008/01/02(水) 19:27:01ID:???
そういえば長いこと*.plのうんこアイコン見てないな
0625nobodyさん2008/01/02(水) 20:42:30ID:lW+cmhhe
>>623 ありがとうございます 
PHPとPerlを同じものと勘違いしていました すみません 
0626nobodyさん2008/01/02(水) 21:55:46ID:XSzMXv90
jpgファイルが存在するかどうか確認する関数ってないですか?
0627nobodyさん2008/01/02(水) 22:08:15ID:???
file_exists
0628nobodyさん2008/01/02(水) 22:08:22ID:???
どういう使い方を想定してるのかよく分からんので、適当に推測して答えると、

想定用途 : 得ろサイトの直リンクのURLを文字列として持っていて、
       それがまだ取得可能かどうか調べたい

答え : getimagesize() で充分。
    getimagesize(そのURL)、あるいはファイルを取得してから、getimagesize()
0629nobodyさん2008/01/02(水) 22:14:46ID:???
クラスを使って、プログラムしてる人どれくらいいる?

掲示板を作ってみようと思うんだけど、クラス……というかオブジェクト指向がいまいち理解出来ない。
やっぱし、これくらい使いこなせないと掲示板自作するのは早いかな。
06306262008/01/02(水) 22:19:01ID:XSzMXv90
>>627
ありがとう
if(file_exists("http://jp2.php.net/images/php_snow.gif")){
echo "ファイルあったよ";
}else{
echo "ファイルなかった";
}
というのを試したんだけど、「なかった」と言われます
マシン内の画像で試してもそういわれます。絶対存在してるのに、、
何が原因でしょうか?
php5 apache2 winXPでやっています
0631nobodyさん2008/01/02(水) 22:37:06ID:???
>>629
(゚Д゚)ノ ァィ
0632nobodyさん2008/01/02(水) 22:37:22ID:???
志村〜
0633nobodyさん2008/01/02(水) 22:38:43ID:???
>>629
bbsなんてそんなの理解せんでもできるよ
ただ後のメンテを考えるなら覚えた方が良いかも

あとから直すのなんてめんどくさくてやってられねーとなる
0634nobodyさん2008/01/02(水) 22:39:17ID:???
クラスは使うけどオブジェクト指向の概念なんかわざわざ理解しようと思ったことはない
0635nobodyさん2008/01/02(水) 22:47:04ID:???
>>629
覚えれば便利。

同じような処理を書くのにウンザリしてきたら、嫌でも辿り着くから心配ないよ。
0636nobodyさん2008/01/02(水) 22:51:42ID:???
>>629
関係ない。
単なる概念、プログラムする対象の捉え方の違い。
06376292008/01/02(水) 22:54:29ID:???
レスありがとう。

荷がだいぶ軽くなったよ。
いろいろ、PHPの参考書とかネット上のOOP関連の文献を読み漁ってみたけど、やっぱりモヤッとしてた。

何にせよ、ありがとう。
0638nobodyさん2008/01/02(水) 23:10:10ID:???
functionで関数作ってるんですけど
クラスとオブジェクト指向っていうのはそれとはまた違ったものなの?
0639nobodyさん2008/01/02(水) 23:12:39ID:???
OOPっていうのは読んでいるだけじゃ身に付かない。
実際に自分でコードを書いてみて体で体験して初めて感覚がつかめる。
その感覚こそが大事。つまりオナニーだけしていてはダメで、
実際に女に入れてみなければ真理はつかめないということ。
そして真理をつかんだなら、ぜひオウム真理教の再興を祈念し、入信することを勧めたい。
0640nobodyさん2008/01/02(水) 23:16:11ID:???
オウムなんか再興しないでいいだろ
>>639がセックス教団作ってよ
0641nobodyさん2008/01/02(水) 23:18:30ID:???
>>638
関数でハンドルを取る奴があるとするだろ?
例としてファイルハンドルとしようか

fread(file,num)

↑をOOPではハンドルを主体にして呼ぶ↓という感じ

file->fread(num)

メソッドに操作対象を渡すか、操作対象からメソッドを呼ぶかという違い
0642nobodyさん2008/01/02(水) 23:19:38ID:???
>>638
class と function はまったく別物。
http://www.php.net/manual/ja/language.oop5.basic.php
0643nobodyさん2008/01/02(水) 23:25:06ID:EFH6C9iG
大規模なもん書く予定なんで
クラスについておぼえときます・・・
0644nobodyさん2008/01/03(木) 01:26:52ID:PuYJW96T
$array = array("aaa","bbb","ccc")

をechoした時

"aaa","bbb","ccc"

と表示させたいのですが、forを使う以外の方法はありませんでしょうか?
0645nobodyさん2008/01/03(木) 01:31:37ID:???
>>644
echo '"'. implode('","', $array) .'"';
06466442008/01/03(木) 01:35:00ID:???
>>645
出来ました!こんなやり方があったんですね。
勉強になりました。ありがとうございました。
0647nobodyさん2008/01/03(木) 01:35:13ID:???
>>645
俺が投稿しようとしてた内容と1文字も違わなくてワロタ
0648nobodyさん2008/01/03(木) 02:08:57ID:???
何に使うんだろうな
0649nobodyさん2008/01/03(木) 04:45:11ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0650nobodyさん2008/01/03(木) 08:23:14ID:9iX7ULgu
http://phpspot.org/blog/archives/2007/01/php_71.html

ここにある?filename=**で**をincludeするのが危険なのはわかったんだけど、こういうのも危なかったりする?
$text = htmlspecialchars($_GET['text']);
$textfile= './txt/'.$text.'.txt';

readfile($textfile);
0651nobodyさん2008/01/03(木) 09:11:37ID:???
>>650
text=../../hogehoge みたいなアクセスも出来てしまう気がする。
ディレクトリ指定が不要なら basenameを使うべき。
http://jp2.php.net/manual/ja/function.basename.php

あとファイル名に対して htmlspecialchars を使うのに、意味があるのかちょっと疑問。
0652nobodyさん2008/01/03(木) 09:15:33ID:???
>>651
ためしにtext=../../hogehoge

htmlspecialchartは元ソースに$textがなかったときに{$text}がみつかりませんでした。って表示してるからだ。ごめん消し忘れた。
06536502008/01/03(木) 09:21:41ID:9iX7ULgu
ああ、途中で書いちまった。
ためしにこのphpファイルと同じディレクトリにaaa.txtを置いて?text=../aaa ってやってもWarning: readfile(./txt/../aaa.txt) [function.readfile]: failed to open stream: No such file or directory in C:\www\aaa.php on line *。になる。
06546502008/01/03(木) 09:25:59ID:9iX7ULgu
あ、ごめん、aaaよみyこめた。basenameつかってみるー
06556502008/01/03(木) 09:47:57ID:9iX7ULgu
うーん、、困った。
できればディレクトリ指定でファイルを読み込みたいんだけど、どうにかならないものですかね・・・
06566502008/01/03(木) 09:56:17ID:9iX7ULgu
eregで$textに.が入ってたら不正扱いにするとかでおkかな?
ごめん俺書き込みすぎだ。
0657nobodyさん2008/01/03(木) 10:16:03ID:???
一般論として、不正な文字列かチェックするのではなく、正当な文字列かチェックするようにしたほうが良い。
0658nobodyさん2008/01/03(木) 10:27:05ID:???
if(eregi("^[a-z0-9_]+$",$text)){
$textfile = './txt/'.$page.'.txt';
}else{
$textfile= './txt/error.txt';
}

こんなかんじになりました。大丈夫かな・・・
>>651>>657ありがとう。
06596262008/01/03(木) 10:33:10ID:uA4WBKbO
すみません、>>630の問題ですが、何が原因に考えられるでしょうか?
お手隙の方、意見いただけると嬉しいです お願いします
0660nobodyさん2008/01/03(木) 10:40:55ID:???
>>659
>>628 >>632 が不憫すぎる。

原因は
http://jp.php.net/manual/ja/function.file-exists.php
http://jp.php.net/manual/ja/wrappers.http.php
0661nobodyさん2008/01/03(木) 14:38:25ID:sD9SHXAa
セッションにユーザーのログイン情報を書き込み、ページ間のやり取りで使用してるんですが
これだと、セッションを破棄・ブラウザを閉じるかしない限り、
下記のように、他のページへ一旦移動してまた戻ってくることができますよね

ログイン画面→ID・PASS認証・セッション発行→専用ページ→他の見知らぬサイト→専用ページ

見知らぬサイト へ行ったら
専用ページへ直接入れないようにしてしまいたいんですがどういう手があるんでしょうか。
ちなみにセッション管理でやりたいんですが。。
0662nobodyさん2008/01/03(木) 15:45:13ID:???
Cache-Control no-cache
0663nobodyさん2008/01/03(木) 16:03:13ID:???
no-cache してもsession はサーバ・クライアント共に残ってる気がする。
0664nobodyさん2008/01/03(木) 16:16:18ID:???
>>663
「気がする」じゃ、何の説得力もない。
学生ならバカ学生で済むが、社会人でそんな安い了見で仕事しているなら死んだ方がいい。
お前は人間の屑。
0665nobodyさん2008/01/03(木) 16:20:29ID:???
>>664
まあまあ私のオッパイでも揉んで元気だしてよ
0666>>6612008/01/03(木) 16:21:10ID:???
no-cacheはセッションに関係ないみたいですね。
0667nobodyさん2008/01/03(木) 16:25:54ID:???
読解力がない人は人生楽しそうな気がする。なりたくはないが、うらやましい。
0668nobodyさん2008/01/03(木) 16:26:17ID:???
専用ページを表示した時にsession破棄するんじゃだめなの?
0669nobodyさん2008/01/03(木) 16:28:33ID:EPFlyde6
掲示板の書き込み終了後、リロードによる二重投稿防止を行いたいのですが、
ユーザーがフォームよりデータをサーバに送信後、サーバ側での処理についてご質問させていただきます。

1.ユーザーから送られてきたデータと、ログファイルの最終行のデータを比べる
2.1のデータがお互い違うデータであれば書き込み


このような処理を思いつきました。しかし、これだと2回ログファイルを開くことになるのですが、どなたか
もっとこうしたほうがいいっていうのがありましたらご指摘アドバイスお願いいたします。
0670>>6612008/01/03(木) 16:29:57ID:???
>>668
一番重要なこと忘れてました;
専用ページは複数あって、その橋渡しにセッションを使っているんです。
セキュリティ面でセッションがいいかと思って。。
0671!omikuji !dama2008/01/03(木) 16:31:50ID:???
>>661
・セッションデータに時間情報を入れて、専用ページではその時間情報ではじく。
 3秒ルールみたいなものだから厳密には要求通りじゃないが、
 セッションハンドラを使えば簡単に実装できる。
・専用ページ内での遷移は全てAjaxで行い、ブラウザの履歴・キャッシュを無意味なものにする
 めんどくさい
・そもそも外のページに行ってもいいじゃないか。
 重要なデータが漏れるのなら、サイト自体の作りに問題がある
0672nobodyさん2008/01/03(木) 16:35:44ID:???
>>669
http://www.phppro.jp/school/phpschool/vol22/2
ここが参考になると思います
0673nobodyさん2008/01/03(木) 16:47:34ID:???
>>671
うーん
やっぱり難しいんですかね・・・
0674nobodyさん2008/01/03(木) 16:54:28ID:+JPyHTOV
soap関数を使ったアマゾンの検索サービスを作ろうと思っているのですが、
本に付いてきたサンプルを実行させた所、

-------------------------------------------
Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client]
We encountered an error at our end while processing your request.
Please try again in C:\Program Files\Apache Group\Apache2\htdocs\php\day06-2\
amazon.php:22 Stack trace: #0 [internal function]:
SoapClient->__call('KeywordSearchRe...', Array) #1
C:\Program Files\Apache Group\Apache2\htdocs\php\day06-2\amazon.php(22):
SoapClient->KeywordSearchRequest(Array)
#2 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\php\day06-2\amazon.php on line 22
-------------------------------------------

この様なエラーが出てしまい実行できませんでした。
自分でエラーの出てる箇所を追ってはみたのですが、どうしても分からず困っています。
どうかよろしくお願いします。

ソースはこれです
http://ranobe.com/up/src/up248796.zip
0675nobodyさん2008/01/03(木) 16:55:06ID:???
sessionのキーをcookieに保持しないようにすれば?
リンクのみでキーの受け渡しを行えば多分いけるはず
あとついでだからsession_regenerate_idで
毎回sessionid変えてやればいいんでない?

0676nobodyさん2008/01/03(木) 17:09:46ID:???
>>674
21行目でエラー返ってるのに
22行目で変換しようとしてexception発生してるんじゃないかな
http://jp.php.net/manual/ja/function.is-soap-fault.php
0677>>6612008/01/03(木) 17:16:44ID:sD9SHXAa
>>675
ユーザ側が下手しなければセキュリティ的にも一番理想的かもしれない
ちょっと試してみます
0678nobodyさん2008/01/03(木) 17:16:53ID:???
よく分からんがアマゾンからIDとかもらった?
0679nobodyさん2008/01/03(木) 17:17:02ID:???
>>674

ぐぐると色々出てくる、なんなんだろうね。
http://www.google.co.jp/search?hl=ja&q=amazon+soap+We+encountered+an+error&btnG=%E6%A4%9C%E7%B4%A2&lr=
06806742008/01/03(木) 17:52:55ID:+JPyHTOV
>>676>>679
色々とありがとうございます。参考になります。
もうちょい調べて頑張ってみます。

>>678
確か無くても実行できるはずなので、プログラム側の問題かと思います・・
06816262008/01/03(木) 18:21:01ID:???
>>660 >>628 >>632
気づかずすみませんでした
いまさらですが、getimagesizeを使わせてもらいました。
が、上手くいきません
とりあえずもうしばらく自分でがんばってみます ありがとうございました
0682nobodyさん2008/01/03(木) 18:23:33ID:???
>>675
それだとさ
セッションIDの含まれたURLを保存しといただけで
直接専用ページに入れるんじゃ?
セキュリティ敵にもよくないんでは
0683nobodyさん2008/01/03(木) 18:34:04ID:???
>>681
自分でやろうとしているところを邪魔して悪いが、うまくいくっぽい。XP/PHP5 実行はコマンドライン。

<?php
checkValidImageUrl('http://jp.php.net/images/php_snow.gif');
checkValidImageUrl('http://jp.php.net/images/php_snow2.gif');

function checkValidImageUrl($url) {
if (@getimagesize($url)) {
echo "$url is valid.\n";
} else {
echo "$url is unvalid.\n";
}
}
?>
0684nobodyさん2008/01/03(木) 18:35:43ID:???
unvalid はないな、invalidだ。恥ずかしい。うぇ。
0685nobodyさん2008/01/03(木) 18:39:27ID:???
file_existsもコケてたから、URLのwrapperをoffにしてるんだろうね。
0686nobodyさん2008/01/03(木) 18:45:42ID:???
>>685
file_exists は stat ファミリで、http/httpsはstatをサポートしてないから、onにしても動かないはず。
0687>>6612008/01/03(木) 19:02:25ID:sD9SHXAa
>>682
そうなんですか
もうなんかどーにもorz
0688nobodyさん2008/01/03(木) 19:05:42ID:???
>>682
過去のセッションを適切に破棄してやればそれは無い
破棄しなくても可能な時間はセッションの有効期限内のみだし

php5.1以降であれば
session_regenerate_id(true);
とすることで自動的に破棄される
あとはリロード時のURLチェック等入れればいける
0689nobodyさん2008/01/03(木) 19:07:22ID:???
つーか専用ページに戻った時にセッション張られてると困ることって何があるの?
0690>>6612008/01/03(木) 19:22:21ID:sD9SHXAa
えーとすいません。
phpゲームを開発してて、戻るボタンでNPCにまた話しかけたりとか無くしたいんです。
(でもこれってSESSION使えば二重処理とか発生することはないなそういえば・・・。)

とりあえず戻るボタン押したり、他のサイト行ったら
ページが表示されないようにできればこちらは万々歳ですから
>>675使ってみます。
0691nobodyさん2008/01/03(木) 19:24:01ID:???
>>690
phpに詳しい奴ちょっと来い
http://yutori.2ch.net/test/read.cgi/news4vip/1199354355/l50
0692>>6612008/01/03(木) 19:38:02ID:sD9SHXAa
>>691
ちょっとみてきます
0693nobodyさん2008/01/03(木) 19:44:42ID:???
>>692
ちょっと見てきますってw
どう見てもお前って分かるから
0694nobodyさん2008/01/03(木) 21:56:40ID:???
変数に出力前の関数を代入することはできないんでしょうか
絶対に出力後が代入されてしまうのですが
0695nobodyさん2008/01/03(木) 22:01:34ID:???
出力前の関数って何
0696nobodyさん2008/01/03(木) 22:07:30ID:???
isset等の値を参照するものです。
0697nobodyさん2008/01/03(木) 22:08:14ID:???
俺用語では分からん
0698nobodyさん2008/01/03(木) 22:10:13ID:???
どういう風に呼び出したいんだよw
0699 ◆SHiMA//5DA 2008/01/03(木) 22:11:06ID:DBOTcnZE
 
0700nobodyさん2008/01/03(木) 22:26:00ID:???
渡した引数をそのまま返して欲しいということか?
0701nobodyさん2008/01/03(木) 22:28:23ID:???
>>696
どういうことなのかよく分からんが、第6感を働かせて
みたところ、「issetで存在を確認したい変数を関数の
引数に入れて処理させるだけの話じゃないのか」という
結論に達した。

もしくは関数呼ぶ前にifなりなんなりで処理してしまうとか。
……>>694が意味不明でやっぱりよく分からんな。
0702nobodyさん2008/01/03(木) 23:02:36ID:???
MySQL使ってみたんですけどこれってflockとかないんですか?
書き込み多いので変なことにならないか心配すぎる
0703nobodyさん2008/01/03(木) 23:04:04ID:???
ないが大丈夫
0704nobodyさん2008/01/03(木) 23:06:12ID:???
どもっす
0705nobodyさん2008/01/03(木) 23:22:41ID:???
トランザクション処理はやっとけ
0706nobodyさん2008/01/03(木) 23:48:17ID:???
>>702
RDBMSにはファイルのロック以上に緻密なロックの仕組みがあり、それを
知らないと意図通りの更新や読み出しができないことはある。
なのでそれはきちんと勉強した方がいい。
MySQLにどの程度実装されているかは知らないけど、ファイルロックよりは
安全にデータの更新や参照ができるはず。
0707nobodyさん2008/01/04(金) 00:52:28ID:Qh7lpWjF
wordpressでプラグインを自分のページ用に改造しています。
global $wpdb;→$random_idにランダムな記事のIDを指定をし、そのIDに基づいて
query_posts('page_id=urlencode($random_id)');
while (have_posts()) : the_post();
ループ
endwhile
としているのですが、どうもうまくいきません。
query_posts('page_id=urlencode($random_id)');
の部分の書き方がおかしいのかと思いますが、どうすればいいのかわからないのでおしえていただけませんか。
0708nobodyさん2008/01/04(金) 04:38:17ID:eljYrwXk
static変数のアクセスの仕方がよく分からないんですが

error_reporting(E_ALL);
class Hoge
{
    public static $name = 'test';
}
$obj = new Hoge;
echo Hoge::$name; //test
echo $obj->name; //Notice: Undefined property: Hoge::$name
echo $obj::name; //Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM

phpではインスタンスからはstatic変数にアクセスできないってことなんでしょうか?
他にどういう方法がありますか?
(アクセサ使えって話かもしれないけど)
0709nobodyさん2008/01/04(金) 04:45:07ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0710nobodyさん2008/01/04(金) 05:30:54ID:???
>>708
http://www.php.net/manual/ja/language.oop5.static.php
0711nobodyさん2008/01/04(金) 07:51:10ID:???
php5
windows
preg_replaceでーを比較しようとしたところ
for character class at offsetというエラーがでました。
SJISだからかなとおもってEUC-JPに変換してみましたがやはり同じエラーがでました。

どうしてなんでしょうか?
0712nobodyさん2008/01/04(金) 08:39:34ID:???
>>1 >>709
07137112008/01/04(金) 10:02:56ID:z4j42IHm
お願いします
0714nobodyさん2008/01/04(金) 10:10:03ID:???
EUC-JPで保存してないんじゃないの
変換ができてないとか
SJISだとエラー吐くよ
0715nobodyさん2008/01/04(金) 10:12:04ID:eljYrwXk
>>710
それは勿論読んだ上の質問。
その例で言うと
print $foo::$my_static . "\n";
がパースエラーになるんだけどなんで?
0716nobodyさん2008/01/04(金) 10:49:17ID:???
>Example#1 static メンバの例
>〜中略〜
>print Foo::$my_static . "\n";

読んだ、ねぇ
0717nobodyさん2008/01/04(金) 11:59:14ID:???
>>716
質問者はインスタンス経由でstaticフィールド変数にアクセスする書式がないのか聞いてるんでしょ?


>>715
でも、

http://www.php.net/manual/ja/language.oop5.static.php
>static なメンバは、インスタンス化されたクラスオブジェクトから アクセスすることはできません (static なメソッドからは可能です) 。

ってはっきり書いてあるから、疑問を持つ余地はないかと。
マニュアルページのサンプルがエラーになるのは、どうかと思うが。
0718nobodyさん2008/01/04(金) 12:23:57ID:???
zendのやってることだからなぁ…
windows のセットアップバイナリは壊れたまんまだし、
.chm のヘルプファイルのキーワード文字化けも一向に直そうとしないし…
0719nobodyさん2008/01/04(金) 14:12:45ID:KzTuE4cg
ファイルの最終更新日取得のスクリプトについてです。
なぜか、下記スクリプトでは動きません。(結果が表示されません。echo date をはずしてもブランクが表示されます)ご教授ください。

<?php echo date("y.m.d H:i:s", filemtime("http://xxx.com/index.php")); ?>

サーバー:さくら
バージョン:4.4.7
0720nobodyさん2008/01/04(金) 14:19:29ID:???
>>719
外部ファイルは取得できない
07217192008/01/04(金) 14:23:57ID:KzTuE4cg
>>720

/homeからのパスに書き直したら取得できました。
ありがとうございました。
0722nobodyさん2008/01/04(金) 16:07:08ID:WmrqhPBt
文字列に全角スペースが含まれている時、半角スペースに変換します。
strtr($word," "," ");

これで変換出来るのですが、複数の全角スペースが含まれている時、
1つの半角スペースにしたいです。その場合、もっとも簡単な方法(関数)
はありますでしょうか?(forを使う方法は自分で試しました。)
0723nobodyさん2008/01/04(金) 17:02:46ID:HZMzJv1w
UTF8でPHPスクリプトを書いてます。
勉強のため、ユーザーがフォームから名前を入力して、ファイルに記録する簡単なスクリプトを書いて練習してます。
そこで名前は18バイトまでの入力を受付け、それ以上の入力はもう一度やりなおしさせるためのチェックをしてみました。
半角1文字=1バイト、全角文字1文字=2バイトとして計算したいのですが、ここで詰まっております。

UTFなため全角文字を3バイトとなってしまいます。

$_POST['name']←これがユーザーが入力した名前が入ってる変数です
ためしに、フォームより、名前「あああ」を入力してみたとして、6バイトとしてサーバで解釈したいのですが、
echo strlen($_POST['name']);←これだと半角1バイトですが、全角3バイトで9と表示されます。
echo mb_strlen($_POST['name'], "UTF8")←これは3と表示されます。

どなたかご教授お願いします。
0724nobodyさん2008/01/04(金) 17:16:24ID:???
>>723
http://jp.php.net/manual/ja/function.mb-strwidth.php
こいつでどないかな。
0725nobodyさん2008/01/04(金) 17:47:17ID:???
> echo strlen($_POST['name']);←これだと半角1バイトですが、全角3バイトで9と表示されます。
> echo mb_strlen($_POST['name'], "UTF8")←これは3と表示されます。

9バイトで3文字→一文字3バイト、ってわかるのなら
一文字2バイト換算で 3文字 x 2バイト = 6って計算はできるよね

ぢゃあ、strlenで10バイト、mb_strlenで4文字だったら、

「半角」の文字数を x 「全角」の文字数を y と置いて
連立二次方程式の解の公式を使って、
半角の字数と全角の字数を計算して、

x + y * 2 を求めりゃいいんじゃないの
(深く考えずに書いているので、まにうけないでください)
0726nobodyさん2008/01/04(金) 18:14:15ID:???
>>725

>>724の処理のほうがいい
0727nobodyさん2008/01/04(金) 18:15:59ID:???
つーか何でバイト数で切ろうとするのかが謎
0728nobodyさん2008/01/04(金) 19:00:42ID:HZMzJv1w
>>724
ありがとうございます。そのやり方で解決しました。
0729nobodyさん2008/01/04(金) 20:11:18ID:???
>>722
正規表現
0730nobodyさん2008/01/04(金) 22:13:43ID:jY1Gv87H
以前、フォーム入力の修正ページで、
<input type=text name=url value="$_POST['URL']" />
としたんですが、ブラウザのフォームには表示されません
$_POST['URL']にはhttp://www.sample.com/が代入されてるのをソースでは
確認できたんですが、、 なぜでしょうか?またどうしたらいいですか?
0731nobodyさん2008/01/04(金) 22:14:29ID:???
<input type=text name=url value="<?php echo $_POST['URL']; ?>" />
0732nobodyさん2008/01/04(金) 22:49:56ID:mPgF8z0i
オブジェクト指向の概念はなんとなく理解できるのですが、
実際作るとなるとどうやっていいのかさっぱりで…。
色々サンプル(pukiwiki, XOOPS)を見てみたんですが、うーんと唸ってしまいます。

初心者向けのわかりやすい、また短めのサンプルコードなどありましたら教えて頂けませんか?
よろしくお願いします。
0733nobodyさん2008/01/04(金) 22:59:18ID:???
>>732
何となくではなくしっかり理解してから作りなされ
0734nobodyさん2008/01/05(土) 00:07:08ID:???
>>732
zend framework のなにか
0735nobodyさん2008/01/05(土) 00:43:33ID:???
OOP素人なら、Javaやらpythonやらrubyやらのドキュメント読んで実際に触ってみてから戻ってきた方が話が速い。確実に。
「オブジェクト指向をできるようにした言語」と「オブジェクト指向であろうとした言語」には習得効率の差がある

それで学習したら戻ってくればおk
OOPL/デザパタの各種利点・欠点を把握した上で「どうPHP上で生かそうか」という頭になりさえすればいいのだ
0736nobodyさん2008/01/05(土) 00:59:45ID:???
>>735
正論。
OOPを勉強したいならPHPじゃないほうがいいね
0737nobodyさん2008/01/05(土) 01:06:52ID:???
なんで?
PHP5は、けっこうマトモなオブジェクト指向言語だと思うけど。
0738nobodyさん2008/01/05(土) 01:12:16ID:???
理由は735にかいてあるだろ
0739nobodyさん2008/01/05(土) 01:15:50ID:???
これを理由と言うのか。( ´・∀・`)へー
0740nobodyさん2008/01/05(土) 01:16:12ID:???
( ´・∀・`)
0741nobodyさん2008/01/05(土) 01:17:42ID:???
C++のが本格的だと思うんだぜ
0742nobodyさん2008/01/05(土) 01:18:08ID:???
(・ω・)モキュ
0743nobodyさん2008/01/05(土) 02:12:44ID:???
>>741
お調子ぶっこえてんじゃねーぞ、士ね。
0744nobodyさん2008/01/05(土) 02:14:09ID:9q7TTvct
質問させてください。

$file = fopen("ログファイル.txt", "r");

↑のようにログファイルを読み込み、項目の抽出・判定を
行うスクリプトを作っています。
職場のLinux環境では、正常に動くのですが、
家のLinuxでは、ログファイルの読み込みが出来ず、
項目の抽出が出来ず空欄となります。
スクリプト自体にはエラーは出ずに、読み込みだけ出来ていない状態です。
家のlinuxがおかしいと思い、簡単なファイルを読み込む
テストスクリプトで試したところ、テストスクリプトでは、
家のlinuxでも正常に読み込めました。
テストスクリプトも本番用スクリプトをコピーしたもので、
スクリプトの行数が違うくらいで特に差がありません。
(テスト50行、本番700行)
同じ記述なのに、fopen出来たり出来なかったりするような
状況なのですが、解決方法等ありますでしょうか。
0745代行者2008/01/05(土) 02:15:45ID:???
よーわからんけど、フルパスでないと駄目なんじゃなかったっけ?
職場のはパスが通ってるとか。
0746nobodyさん2008/01/05(土) 02:16:11ID:???
権限を確認しれ
0747nobodyさん2008/01/05(土) 02:38:18ID:???
>>735=>>738
0748nobodyさん2008/01/05(土) 02:38:54ID:???
>>745
相対でもおk
07497442008/01/05(土) 02:54:41ID:9q7TTvct
744です。申し訳ありません。
良く見たら、fopenの問題では無く、preg_matchが動作していませんでした。
テストスクリプトで動作していたのは、eregでした。
職場はPHP4環境ですが、preg_matchが正常に動作します。
家でも最初、PHP4環境で試したのですが、動作せず、PHP5にあげてしまいました。
php.ini等にpreg_matchが正常に動作するような設定等無いでしょうか。
権限も疑ったのですが、パーミッションは755で、グループはrootとなっております。
0750nobodyさん2008/01/05(土) 03:43:12ID:???
PHP4なんてはやく卒業しろよ
0751nobodyさん2008/01/05(土) 04:44:06ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0752nobodyさん2008/01/05(土) 06:37:12ID:???
>>751
俺様のNGトラップによってあぼんされました。たくさん仕掛けてるから何でひっかかったんだか気になるけどどうでもいい
0753nobodyさん2008/01/05(土) 06:40:58ID:???
>>752も含めてどうでもいいな
0754nobodyさん2008/01/05(土) 08:03:39ID:???
>>737
その話はここで突っ込むと、宗教戦争にしかならないからなー。
何を「マトモ」か言い始めると、JavaもC++も含めてどの言語だって批判の俎上に上げられてしまう。
絶対Smalltalkがどうのとか言い出す奴出て来るしw

PHPは実用的な仕組みを色々借りて来てるけど、良い悪いじゃなく
「なぜこういう仕様になった/なってるのか」みたいな視点で
学びにくい点もあると思うよ。
PHPに斬新な言語であってもらう必要はないから、悪い事じゃないけど。
0755nobodyさん2008/01/05(土) 10:07:31ID:???
PHPをバカにするなよっ!!!!!!!!!!!!!
0756nobodyさん2008/01/05(土) 10:10:03ID:???
宗教戦争おこす気はないけど、個人的には、型の定義、継承、ポリモーフィズムがあれば、OO言語として
十分マトモだと思ってる。

OOであることとは関係がないけど、相性の良さから有ったほうが良いと思うのは、ガベジコレクションと例外処理。

PHPの言語仕様がキレイかと言われれば相当疑問だけど、それとOO言語としてどうかという話は別物だと思ってる。
0757nobodyさん2008/01/05(土) 10:21:24ID:???
中規模担当の俺からすれば継承はイラネ
0758nobodyさん2008/01/05(土) 10:26:15ID:???
なんでこのスレはID表示をきつく言っているんだ?
相当荒れているということか?
0759nobodyさん2008/01/05(土) 10:35:43ID:???
>>758
>>1
0760nobodyさん2008/01/05(土) 10:36:47ID:???
>>756
Webアプリでガベージコレクションいる?
0761nobodyさん2008/01/05(土) 10:38:51ID:???
>>760
C/C++で書いてあっても、一切 free / delete されてなかったら気分悪いと思う。
07627612008/01/05(土) 10:41:17ID:???
メモリ開放されなくても良いという意味じゃなくて、free/deleteでも十分対応可能という意味なのだったのかな。
Webアプリでも複雑なデータ構造をメモリに持つ場合、やっぱり free/delete だと、ちょっとつらい。
0763nobodyさん2008/01/05(土) 11:15:29ID:???
おまえらフリーで仕事を依頼されるとき、前金とか貰ってる?
自分は1/10くらい貰ってるんだけど
0764nobodyさん2008/01/05(土) 11:17:36ID:???
板違い

SOHOやフリーで細々食え出した奴 27人目
http://pc11.2ch.net/test/read.cgi/hp/1197725381/
0765nobodyさん2008/01/05(土) 12:06:41ID:fWLhflwQ
PHPは、データベースとの連携がいいと良く聞くけれど、
具体的に何処がいいのかが良く分かりません。
例えば、PerlのDBIは、データベースからデータを取る場合、
以下のようなモジュールを使えば非常に便利です。
selectrow_array、selectcol_arrayref、selectall_arrayrefなど。
これ以上の機能のモジュールがPHPにはあるということなのでしょうか。

サイトをいくつか検索してみたのですが、思うような
情報が得られませんでしたので、ここで質問してみました。
ヒントとなるキーワードだけでも良いので、よろしくお願いします。
0766nobodyさん2008/01/05(土) 12:17:21ID:???
>>765
http://jp.php.net/manual/ja/ref.pdo.php
こんなんとか。
0767nobodyさん2008/01/05(土) 12:27:21ID:???
>>765
>PHPは、データベースとの連携がいいと良く聞くけれど

誰が何と比較して言ってるの?
0768nobodyさん2008/01/05(土) 12:49:37ID:???
いいというか前提じゃないの
と言ってみる
0769nobodyさん2008/01/05(土) 15:33:31ID:???
ここ見に来てる細々SOHOどもは巣に帰りやがれクズ
0770nobodyさん2008/01/05(土) 15:35:41ID:???
あたたかい正月を過ごせなかったのか?
イライラしすぎだろw >>769
0771nobodyさん2008/01/05(土) 18:28:48ID:Dao7FJFa
header("Content-disposition: attachment; filename= $fname");
header("Content-Length: ".$content_length);
header("Content-Type: audio/mpeg");
$fp = fopen($file_path,"rb");
while($buf = fread ($fp, 4096)){
echo $buf;
}
fclose($fp);

tp://foo.jp/hogehoge.php?id=xxx にアクセスすると、上記のような感じでサーバー上にあるmp3やmp4を読み込んで
ブラウザ上で再生させたいのだが、ファイルがダウンロードされてしまう。
普通にtp://foo.jp/hogehoge.mp3 とファイルを置いてアクセスするとプレイヤが起動して再生するようにしたいのだが、
どうすれば良いでしょう?Content-Type をいろいろ変えてみたんですが・・・。
0772nobodyさん2008/01/05(土) 18:43:16ID:???
>>771
attachment→inline
0773nobodyさん2008/01/05(土) 19:22:00ID:Dao7FJFa
>>772
ありがとう、うまくいったよ。ほんとうにありがとう
0774nobodyさん2008/01/05(土) 20:40:09ID:???
>>771
readfile($file_path);
0775nobodyさん2008/01/05(土) 23:27:19ID:BCQmUqUR
すいません質問なんですが、URLからそのウェブページのタイトルを
取得することできますか? RSSのないページです。

ヒントがあれば教えてください、検索してみます。
いまんとこ見つけれてません。

0776nobodyさん2008/01/05(土) 23:31:51ID:???
ページを取得する。
取得した内容を調べる。
さぁ、分かんないのはどぉーこだ?
0777nobodyさん2008/01/05(土) 23:59:39ID:???
>>775
get_title_from_url($url);
0778nobodyさん2008/01/06(日) 00:56:47ID:???
ぐぐってしまったじゃないか・・・
0779nobodyさん2008/01/06(日) 02:00:46ID:???
function get_title_from_url($url) {
$contents = file_get_contents($url);
$retAry = array();
preg_match('!<title[^>]*>(.*)</[^>]*>!',$contents,$retAry);
return $retAry[1];
}
0780nobodyさん2008/01/06(日) 02:12:36ID:Njbvq9C9
私が使用しているレンタルサーバで、phpを動かした場合、
以下のコードではipアドレスが取得出来ませんでした。
$ip = $_SERVER['REMOTE_ADDR'];
そこで、以下のように書いてみると取得できました。
$ip = getenv("REMOTE_ADDR");

FORMタグにてPOSTされたものも、以下のコードでは
取得できなかったのですが、
上記getenvにあたる関数はないのでしょうか。
$pos = $_POST['test'];

よろしくお願いします。
0781nobodyさん2008/01/06(日) 02:28:45ID:???
>>780
まさかとは思うがphpのバージョンって4.1より古い?
$_HTTP_POST_VARSとか$_HTTP_GET_VARSん使ってみるといいかも
0782nobodyさん2008/01/06(日) 02:52:45ID:???
phpinfo()
07837802008/01/06(日) 02:54:37ID:Njbvq9C9
すばやいレスありがとうございます。
教えていただいたコードを使ってみたり、
phpのバージョンをしらべてみたりしてみます。
0784nobodyさん2008/01/06(日) 04:36:15ID:5j6bL89B
if(hoge() && huga()){
echo "両方成功";
}
だとhoge()に成功しないとhuga()を実行してくれませんよね。
hoge()に関係なくhuga()も実行したい場合に以下のコードを書いてみたんですが、あまりスマートじゃない気がします。
何かもっといい方法がありましたら教えてください。

$bool1 = hoge();
$bool2 = huga();
if ($boo1 && $bool2) {
//何かの処理
}
0785nobodyさん2008/01/06(日) 04:43:56ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0786nobodyさん2008/01/06(日) 05:45:53ID:???
>>784
if ((hoge() && huga()))


かも
0787nobodyさん2008/01/06(日) 06:19:05ID:???
>>784
回答しない癖になんだけど、そうしなきゃいけない実装自体に問題あるよなあ
0788nobodyさん2008/01/06(日) 06:39:21ID:++XQtjId
アップしてあるファイルを、ディレクトリごとZipで一括でダウンロードする仕組みをつくっています
zip.lib.phpやZipArchive()を試しに使用しており、出来る限り一時ファイルを作成したくないため
直接クライアントに送信するよう書いてみましたが、ファイルによってはメモリがきついです
何か上手な方法はありますか?
0789nobodyさん2008/01/06(日) 06:46:09ID:???
メモリを増やす
0790nobodyさん2008/01/06(日) 06:56:26ID:++XQtjId
ありがとうございました
0791nobodyさん2008/01/06(日) 10:42:16ID:???
>>784
やったこと無いけど、 if(hoge() & huga()) みたくビット演算にすれば出来るかも。
まぁ、他の人がコード読んだらバグにしか見えないから止めたほうがいいとは思うけど。
0792nobodyさん2008/01/06(日) 11:22:00ID:???
>>788
メモリ的に無理だと、対処しようが無いでしょ。
例えば、検索結果で100万件が1ページで表示されるようにしないのは、
メモリが関係しているから。
なので、ページを分割するか、途中で処理を無理やり止めてしまうか
しか方法はない。
0793nobodyさん2008/01/06(日) 11:39:16ID:???
レベルひっく

下を見ればキリがないっていうけど、ここの回答者はひどいなw

0794nobodyさん2008/01/06(日) 11:47:02ID:???
よし、じゃ君が「レベルの高い回答」とやらを書いてくれ
0795nobodyさん2008/01/06(日) 11:47:08ID:???
具体的に言わないとね
0796nobodyさん2008/01/06(日) 11:54:25ID:???
>>794
いや、ここは週に1回、優越感をひたるために来てるからw

ってか、おまいら学歴低そうだな。IQ100はあるか?
PHPなんて下等ランゲなんかやってると、そのうちホームレスになるぞw
0797nobodyさん2008/01/06(日) 11:56:18ID:???
じゃ何やればいいの
0798nobodyさん2008/01/06(日) 13:51:41ID:???
学歴とIQの関係を詳しく
0799nobodyさん2008/01/06(日) 14:06:59ID:???
ランゲだとよw
0800nobodyさん2008/01/06(日) 14:08:00ID:???
IQは簡単にいうと (精神年齢)/(実際年齢) * 100 だから、
あんまり上げすぎると、体は大人!頭脳はじっちゃん! になっちまうから注意。な。

PHPの質問マダー?
0801nobodyさん2008/01/06(日) 14:56:41ID:???
スレ違いな事書いているという認識を持てや。低能共
0802nobodyさん2008/01/06(日) 14:58:09ID:???
>>801
ごめんなさい。もう書かないので許して頂けませんか。。
ちなみに>>801さんのIQはいくつでしょうか・・?
やはり801でしょうか。。
0803nobodyさん2008/01/06(日) 15:05:59ID:???

ここにいる人は人間的にもレベルがひくいっすねw


0804nobodyさん2008/01/06(日) 15:19:16ID:???
ヤレヤレだぜ
0805nobodyさん2008/01/06(日) 15:25:17ID:???
>>803さんはどうですか?IQいくつですか?
0806nobodyさん2008/01/06(日) 15:27:11ID:???
>>805

小学校低学年の時、132で学年トップでした。

0807nobodyさん2008/01/06(日) 15:50:31ID:???
さっきから痛々しい会話してる奴らは全員IQ30位だなw
0808nobodyさん2008/01/06(日) 15:55:37ID:???
うpろだによっては平気で何百Mも処理しているし
$_FILESの内容、処理だけでも大変そう
実メモリ、memory_limitの値を見てみたい
0809nobodyさん2008/01/06(日) 16:09:02ID:???
PHPってアップロードファイルは一時ファイルに展開するんでしょ。
少ないメモリで動かすのは不安があるけど、実メモリそんなに使うかな。
0810nobodyさん2008/01/06(日) 16:10:38ID:???
まさか全部メモリに読み込んでからファイルに書き出すとでも思ってるのかね。
まさか・・ね。
0811nobodyさん2008/01/06(日) 16:19:39ID:???
コード埋め込まれているかファイルの内容までは
流石にチェックしてないのかな
自分のところengine offとかにしても、経由して他のところ
いたずらされるかもしれんけど
08128092008/01/06(日) 16:24:04ID:j3gkesVW
>>810
昔読んだ Java Servletで作ってあったやつはそういう作りだったから、ありえない話でもない。

最近のは知らないけど、ServletAPIだとリクエストはメモリに展開されて受け渡されたから、
servlet側ではどうしようもなかったはず。
0813nobodyさん2008/01/06(日) 16:24:29ID:???
あ、意味も無くあげちゃった。
0814nobodyさん2008/01/06(日) 16:28:07ID:???
データベースから取得したデータが10:20:30で$jikanに格納されていて
これを10時20分30秒と時・分・秒と分けて表示する方法ありますか?
0815nobodyさん2008/01/06(日) 16:34:25ID:???
>>1
0816nobodyさん2008/01/06(日) 16:54:42ID:???
回答者レベルひっくw

0817nobodyさん2008/01/06(日) 16:58:30ID:???
マニュアル見ればすぐにわかることだから、答える気もしないだろ。
0818nobodyさん2008/01/06(日) 17:50:49ID:???
とあるスレで、SQLの質問したら、使えない回答しか返ってこなかったので、
こちらでお伺いします。

SELECT id FROM test WHERE id=1 or id=2 or id=3

として、IDが1か2か3のデータを出したいと思います。
上記のSQLなら3つのレコードがヒットします。

idを検索する数だけid=を付けるのは変だと思うのですが、
どういう書き方をしたらいいのでしょうか?
0819nobodyさん2008/01/06(日) 17:53:20ID:???
orでも変じゃないと思うけど、in句でも使えば。
オプティマイザ的に差があるかどうかは知らん。
0820nobodyさん2008/01/06(日) 18:12:36ID:???
くだらねぇの構わんが、無関係なのは困る
0821nobodyさん2008/01/06(日) 18:15:15ID:???
idate('h' ,$jikan);
これはダメなのか?
0822nobodyさん2008/01/06(日) 18:22:46ID:???
>>821
PHPは色んな関数があるな、ほんと。

でも idate の第2引数は int型(timestamp) みたい。
http://php.benscom.com/manual/ja/function.idate.php

文字列になってるなら explodeで良いんじゃないの。
0823nobodyさん2008/01/06(日) 19:19:38ID:???
>>818
SQLは長くしすぎると文法では問題なくてもエラーが出て動かなくなったりするよ。
長くならなければ、プログラムで文字列を自動的につなげてやるのもいいと思うけど、
BETWEEN を使った方がいいと思う。
構文の書き方においてはここでは聞かないでね。
0824nobodyさん2008/01/06(日) 19:32:17ID:???
>>823
BETWEENは遅いと思うんですが。
0825nobodyさん2008/01/06(日) 19:34:04ID:???
一般的なプロバイダ契約 (IP固定契約を行っていない場合) では上記のグローバルIPアドレスは変動的な数値になります。
PCの電源を切った時やインターネットとの通信を切断した場合などはグローバルIPアドレスが変更になります。
また常時通信状態にしておいてもプロバイダ側の都合で不定期に変更になる場合があります。
0826nobodyさん2008/01/06(日) 19:38:57ID:???
>>824
だからなんだよ。

>>825
意味が分からん。
0827nobodyさん2008/01/06(日) 19:50:18ID:???
betweenが遅いというのは気になるが、続きはDB板でやってくれ。
http://pc11.2ch.net/db/
0828nobodyさん2008/01/06(日) 20:59:58ID:???
>>826
人に教えを請う態度じゃないな。
冬休みも今日で終わりかぁ。
0829nobodyさん2008/01/06(日) 23:03:03ID:???
phpでfinallyがないのは何故ですか?
0830nobodyさん2008/01/06(日) 23:10:12ID:???
>>829
phpは未完の大器であり(あってほしい)、終わりはないという意味を込めて、
finallyを実装していない。これはマジな話。
0831nobodyさん2008/01/06(日) 23:25:57ID:???
cloneの使い方がよくわかりません><
0832nobodyさん2008/01/06(日) 23:53:40ID:???
>>831
crontabでググレ
0833nobodyさん2008/01/07(月) 00:01:12ID:???
(´Д`;)
0834nobodyさん2008/01/07(月) 00:19:41ID:???
意味不明なレスがw
php4までは
$obj = new hoge();
$hoge = $obj;
で$hogeにコピーできてたんだけど
php5からはコピーできなくなっちゃったので
$hoge =  clone $obj;
でコピーするようになった
0835nobodyさん2008/01/07(月) 00:31:43ID:???
ほぇ〜
ありがd
0836nobodyさん2008/01/07(月) 00:44:50ID:???
俺もcronの話かと思った。
0837nobodyさん2008/01/07(月) 00:49:41ID:???
そういえば綴り違うんだな、今まで意識してなかった。
ぐぐったらcronの名前の由来はクロノスからきてるらしい。なんかすげー。
0838nobodyさん2008/01/07(月) 00:58:35ID:???
>ぐぐったらcronの名前の由来はクロノスからきてるらしい。なんかすげー。
KWSK
0839nobodyさん2008/01/07(月) 01:03:00ID:???
全角大文字英数字きめぇww
0840nobodyさん2008/01/07(月) 02:23:52ID:???
PHP
0841nobodyさん2008/01/07(月) 02:34:35ID:???
きめぇからヤメロ。
今度全角英数で書き込んだら、
今日の午前9時にこのスレに凄いこと書き込むぞ。
0842nobodyさん2008/01/07(月) 02:37:59ID:???
841 名前:nobodyさん[sage] 投稿日:2008/01/07(月) 02:34:35 ID:???
きめぇからヤメロ。
今度全角英数で書き込んだら、
今日の午前9時にこのスレに凄いこと書き込むぞ。
0843nobodyさん2008/01/07(月) 02:38:47ID:???
echo "\x82\x6f\x82\x67\x82\x6f";
0844nobodyさん2008/01/07(月) 03:13:09ID:???
なにこの必死な人、失笑をかう
0845nobodyさん2008/01/07(月) 03:24:18ID:???
失笑って売ることできるの?ちなみにペッサリーなら知ってるが。
0846nobodyさん2008/01/07(月) 04:16:51ID:???
世にも奇妙な物語「失笑屋さん」
0847nobodyさん2008/01/07(月) 04:43:31ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0848nobodyさん2008/01/07(月) 04:46:18ID:???
手動スクリプト乙
体内時計狂ってるぞw
0849nobodyさん2008/01/07(月) 05:20:42ID:???
ワロタ
0850nobodyさん2008/01/07(月) 05:20:42ID:???
半角カタカナきめぇww
0851nobodyさん2008/01/07(月) 06:03:31ID:???
ピーエイチピー(ワラ
0852nobodyさん2008/01/07(月) 06:35:03ID:???
もう冬休みも終わりですよ
いい加減元の流れに戻してください
0853nobodyさん2008/01/07(月) 10:45:04ID:???


   回答者のレベルひっくw

   さすが ピーエイチピーーーーーーーー

0854nobodyさん2008/01/07(月) 11:38:18ID:???
>>852
ここは一生冬休みの人の集まりです。
0855nobodyさん2008/01/07(月) 13:46:16ID:???
なあ、配列をforeachとかでマワした後って$valueをうんせtしないとまずい?
$valueを参照する予定がなくても?
0856nobodyさん2008/01/07(月) 14:58:28ID:???
2つ以上のクラスを継承(extends)するにはどうすればいいのでしょうか?

CLASS config {
// 基本設定クラス
}
CLASS DB {
//DB関連のクラス
}
CLASS main {
// メインとなる処理を行うクラス
}
mainがconfig,dbを継承できるようにしたいです。
configがdbを継承すると3つが継承されるんですが、それだとすべてのアクセス時にDB接続を行ってしまうので避けたいです。
0857nobodyさん2008/01/07(月) 15:07:17ID:???
>>856
多重継承がない言語では委譲として実装するのが定石
http://ja.wikipedia.org/wiki/委譲

>>855
何を心配しているのか、わからない。
0858nobodyさん2008/01/07(月) 16:36:12ID:???
>>856
>>1
0859nobodyさん2008/01/07(月) 19:11:38ID:???
test
0860nobodyさん2008/01/07(月) 20:06:15ID:???
当方初心者のため、大変基本的な質問で申し訳ありません。
あるディレクトリ以下のファイルが更新された場合、
その最終更新時刻を表示するということをやりたいのですが、
どうにもあまり良い方法が浮かびません。

$dir="/file/";
if (file_exists($dir)) {
    $filetime=date ("m/d/Y H:i:s.", filemtime("$dir"));
}

一応このようなことをやってみたのですが、/file/のみの更新時間しか表示されません。
それ以下の階層に関しても全て含んだ上で、最も遅い最終更新時刻を得るには
どのようにしたら良いのでしょうか。
拙い説明で済みませんが、宜しくご教授下さい。
0861nobodyさん2008/01/07(月) 20:14:41ID:???
ディレクトリ内のファイルが更新されたら、そのディレクトリの最終更新日時も
更新されるんじゃなかったか。

ディレクトリ内で最も最終更新日時が最近のを取得したいとかだったら、
scandirみたいなことして一覧を取得してソートするのがいいんじゃないだろうか。
0862nobodyさん2008/01/07(月) 20:15:28ID:???
>>860

>>1
http://www.php.net/manual/ja/function.opendir.php
0863nobodyさん2008/01/07(月) 20:24:24ID:???
>>861
たとえば最後に/file/file2/a.phpのようなファイルを更新した時、
その最終更新時刻を表示させたいのですが、やってみてもダメでした。

>>862
質問に夢中で環境を失念しておりました、済みません。
Debian、PHP5、apache2です。
0864nobodyさん2008/01/07(月) 20:32:49ID:???
回答もらうことだけ考えてないでまず>>1をちゃんと読めよ。
0865nobodyさん2008/01/07(月) 20:35:25ID:???
>>863
ID出すように

まぁディレクトリ階層も対象にするなら再帰処理でもすれ
0866nobodyさん2008/01/07(月) 21:09:31ID:???
とりあえず回答者のレベルを俺様が吟味する。

回答しろ、カスども。

0867nobodyさん2008/01/07(月) 21:17:25ID:???
phpでやるよりコマンド発行して結果をパースする方が早くない?
0868nobodyさん2008/01/07(月) 21:50:16ID:???
>>863
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($last = new SplFileInfo('/file/'))) as $entry)
if($entry->getMTime() >= $last->getMTime())
$last = $entry;
echo date('Y/m/d H:i:s',$last->getMTime()),' ',$last;
無駄にSPLを使ってみたの図。
0869nobodyさん2008/01/07(月) 21:54:45ID:???
>>867
そのような他システムに依存するようなパラサイトなプログラムは設計者としては最低。
システムの不確定要素を増やし、バグポイントを増やすだけ。
最近、こういう安易な発想でシステムを組もうとするやつがうちの会社にも湧いて呆れるよ。
0870nobodyさん2008/01/07(月) 21:58:34ID:???
あきれてないで優しく教えてやれよ
0871nobodyさん2008/01/07(月) 22:37:58ID:???
コマンドを発行するのは変では無いと思うんだが・・・
多量に発行すると後々大変な事になるけど
0872nobodyさん2008/01/07(月) 22:58:24ID:???
既に出ている通り、scandir か opendir使えば良いだけだと思うが、質問者は解ったんだろうか?
0873nobodyさん2008/01/07(月) 23:20:23ID:???
DIRでいいんじゃまいか?
0874nobodyさん2008/01/07(月) 23:26:13ID:???
>>873
それって、いいんじゃない、と、ジャマイカ、を掛けているの?
面白いね。
0875nobodyさん2008/01/07(月) 23:29:12ID:???
>>874
日本最大級の掲示板2chにようこそ
0876nobodyさん2008/01/07(月) 23:42:36ID:???
ごめんただのタイプミス
0877nobodyさん2008/01/07(月) 23:49:34ID:L/merKP+
urlに aiueo=なんとか とする場合はGETになりますが
formとかでメソッドはPOSTなのにアクションの指定で
aaa.php?aiueo=なんとかと指定しても良いものなのでしょうか?
動くのはわかるのですが推奨しない等ありましたらご教示お願いします。
0878nobodyさん2008/01/08(火) 00:00:06ID:???
別にいんじゃまいか?
0879nobodyさん2008/01/08(火) 00:11:26ID:jfnuwFRE
if($test="aaa" or $test="bbb" or $test="333")

というのをもっと簡略化出来ませんかね?
MySQLのINみたいに。
0880nobodyさん2008/01/08(火) 00:15:15ID:???
in_arrayでいいと思うが、比較演算子は == 。
0881nobodyさん2008/01/08(火) 00:16:26ID:???
とりあえずswitchとか
0882nobodyさん2008/01/08(火) 00:19:33ID:???
1ヶ月に3回は出る質問だな
0883nobodyさん2008/01/08(火) 00:19:51ID:???
もう回答しなくていいよ。
わかんないなら、わかんないって言えよ。レベルひくいなぁ。・・
0884nobodyさん2008/01/08(火) 00:22:22ID:???
>>880
すみません、==にするの忘れてました・・・。

で、in_arrayということは、配列にするわけですよね?
そうすると、array("aaa","bbb","ccc")
という処理が入るので、あまり使い勝手が良くないんです。

>>881
普段は879のソースとswitchを使っていますが、
妙にコードが長くなるので、短くできないかな?と思いまして。
0885nobodyさん2008/01/08(火) 00:23:11ID:???
>>879

 if($test="aaa::bbb::333") {

0886nobodyさん2008/01/08(火) 00:27:35ID:???
>>883
くだすれで何言ってんの?
0887nobodyさん2008/01/08(火) 00:28:27ID:???
>>884
「処理が入る」を誤解してたら悪いが、配列を別の変数に入れなくても
if (in_array($test, array('aaa', 'bbb', 'ccc')))
とすれば879より行数も減るし構造的にも好ましいと思うぞ。
あとは自分で関数化するか。
0888nobodyさん2008/01/08(火) 00:29:44ID:???
>>883
というかこんなスレで>>883みたいな発言しちゃう奴は人間的にレベルが低い
0889nobodyさん2008/01/08(火) 00:30:08ID:???
>>887
なるほど。。たしかにこれの方が構造的にわかりやすいですね。
こちらをin_arrayを使うようにしてみます。ありがとうございました。
0890nobodyさん2008/01/08(火) 04:45:12ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0891nobodyさん2008/01/08(火) 11:30:36ID:???
$timeに10:50:30と入っていて
date('H' ,(int)$time);,date('i' ,(int)$time);,date('s' ,(int)$time);
上記で時・分・秒と表示できそうなんですが違う値が表示されます

他に使い方ありますか
0892nobodyさん2008/01/08(火) 11:39:23ID:M0cxpji0
>>891
まずはタイムスタンプについて勉強しような
0893nobodyさん2008/01/08(火) 11:47:10ID:???
>>892
いやです。勉強するならここきてねーよ。
早く教えろハゲ。
0894nobodyさん2008/01/08(火) 11:50:23ID:???
↑誰?…暇人ですねw

ここが使えそうです.やってみます
ttp://oshiete1.goo.ne.jp/qa3475658.html
0895nobodyさん2008/01/08(火) 12:32:51ID:???
>>891
変なのが湧かない様に質問はあげてIDつけろ。

http://jp.php.net/manual/ja/function.explode.php
http://www.php.net/manual/ja/function.strptime.php
0896nobodyさん2008/01/08(火) 13:06:54ID:Y4XNoL9V
あるサーバ(外部)に接続してヘッダ(サーバトークン)を取得したいのですが、
どのような関数を使えば簡単に取得することが可能でしょうか?
取得するサーバはhttpdとは限らないです。
0897nobodyさん2008/01/08(火) 13:14:47ID:???
@一昔前はPerlの達人と恐れられたが、Rubyのクラスが分けわからず時代に乗り遅れた化石Perler
AJAVAの思想は素晴らしいのに周りに理解者が少なく、コストの問題でクライアントがPHPを指定してきて嫌々やらされているJAVAer
B周りはネット全盛なのに、未だにSoketプログラムが理解できずネットの海に出られない鎖国状態のVisualStudioer
CwebデザイナーはPHPぐらいできないとゴミと言われて、いつの間にかPGにさせられてしまった自称webデザイナー
Dプログラマーという職業に憧れているけど、PG的思考ができずに指をくわえて見ていることしかできないゲーマー

さあレッツ プロファイリング!
0898nobodyさん2008/01/08(火) 13:26:58ID:???
Soket
0899nobodyさん2008/01/08(火) 14:42:45ID:???
>>897
しねくず

0900nobodyさん2008/01/08(火) 15:07:32ID:???
シダックスっていうのは知ってますが
しねっくす゛は知らんがな><
0901nobodyさん2008/01/08(火) 16:10:29ID:???
ックスって見ると、エロい事を考えてしまうが、俺だけ?
0902nobodyさん2008/01/08(火) 16:26:43ID:???


   ピーエイチピーーーーーーーー wwwww



0903nobodyさん2008/01/08(火) 16:31:09ID:???
チョキチョキプルルルリィィィィィィィwwwwwwwwwwwwwwwww
0904nobodyさん2008/01/08(火) 17:03:55ID:???
>>903
足利義寧
七尾藩足利家十九代当主

(財)室町文庫理事長
(株)足利地所社長
北陸銀行相談役顧問
北陸電力相談役顧問
北國銀行顧問
北國新聞顧問
能登国出身会会長
0905nobodyさん2008/01/08(火) 18:09:16ID:lZ/KTkrG
ip-122-152-xxx-xxx.asianetcom.net
から必要な攻撃を受けているの弾きたいのですが、
.htaccessで、したのように設定しても弾かずにスルーしてしまいます。

order allow,deny
allow from all
deny from .asianetcom.net

phpのREMOTE_ADDRで弾くしかないのでしょうか?
宜しくお願いします。
0906nobodyさん2008/01/08(火) 18:34:06ID:???
>>905
必要ならそのまま攻撃受けてろ
というかスレどころか板違い
0907nobodyさん2008/01/08(火) 18:34:31ID:???
IPアドレスでやってみても駄目かね
0908nobodyさん2008/01/08(火) 19:12:45ID:EQjeskZg
PHP5.2 で、SQLite 2.8.17 使ってます。

sqlite_query を実行して得られる結果ハンドルをcloseする関数が見当たらないのですが、
結果ハンドルはcloseしなくて良いんでしょうか?

http://www.php.net/manual/ja/ref.sqlite.php
0909nobodyさん2008/01/08(火) 19:16:58ID:YuL/x3if
FORMに値を設定してPOSTしたデータってURLエンコード・デコードは気にしなくていい?
デコードはする必要ある?

0910nobodyさん2008/01/08(火) 19:33:57ID:???
>>909
エンコードは意識しなくて良い。
http://www.php.net/manual/ja/language.variables.external.php

ただ、magic_quoteには注意が必要。
http://www.php.net/manual/ja/ref.info.php#ini.magic-quotes-gpc
0911nobodyさん2008/01/08(火) 21:31:46ID:???


  ピーエイチ ピーーーーーー wwwwwww


0912nobodyさん2008/01/08(火) 21:33:42ID:???
>>908
結果ハンドルopenしてんの?
0913nobodyさん2008/01/08(火) 22:47:08ID:EQjeskZg
>>912
openっていうか、sqlite_query実行すると戻り値として生成されます。
http://www.php.net/manual/ja/function.sqlite-query.php
0914nobodyさん2008/01/08(火) 23:29:44ID:???
ところでお前ら、DBのことをディービーって発音しないで、デービーって発音するのはなぜだ?




お前らは、小学生かなんか?
0915nobodyさん2008/01/08(火) 23:40:48ID:???
はいはいワロスワロス
0916nobodyさん2008/01/08(火) 23:43:49ID:???
>>914
DBをデービーって発音しないあなたは学生かなんか?

「ディー」とか「ティー」とかいうと、電話なんかで聞き取りづらい
と感じる人が多く、聞き返されることが少なくない。
だからDは「デー」、Tは「テ(ry

もしかして、社長を捕まえて堀江呼ばわりする秘書は失礼な奴
系のネタだった?
0917nobodyさん2008/01/08(火) 23:46:00ID:???
>社長を捕まえて堀江呼ばわりする秘書は失礼な奴
kwsk
0918タヌキ ◆kN93rkdiOs 2008/01/09(水) 01:46:23ID:1HfuVzUD
PHPを使って現在サイトを作成しています。

SQliteのデータベースに登録してある日本語のデータが検索してもヒットしません。
半角英数のデータは問題なくヒットします。
Webページのencodeの宣言はUTF8を指定しています。
どうすればよいでしょうか。御教授下さい。


Apache2.2.4
PHP 5.2.4を使用しています。
0919nobodyさん2008/01/09(水) 01:51:06ID:???
set names utf8
0920nobodyさん2008/01/09(水) 02:04:50ID:???
>>918
特に何も設定した覚えも無いけど、自分はUTF-8で問題なく検索できてる。
DB中にUTF-8で格納されているか/SQLはUTF-8で生成されているか確認してみたら?
09219182008/01/09(水) 02:14:21ID:???
>>920
なんでオマエそんなに偉そうな口調なんだよ。
何様のつもりだ? あぁ?

0922nobodyさん2008/01/09(水) 02:21:11ID:???
>>921
すいません・・。特に偉ぶっているつもりはないのですが・・。
0923nobodyさん2008/01/09(水) 02:25:45ID:???
>社長を捕まえて堀江呼ばわりする秘書は失礼な奴
kwsk
0924nobodyさん2008/01/09(水) 02:28:56ID:???
ブンヤ「堀江社長はいますか?」
美人?秘書「堀江は現在席を外しております」
ゆとり「社員が社長を呼び捨てwwwww」

ってやつじゃないか?
0925nobodyさん2008/01/09(水) 05:01:59ID:???
>>924
ってか、上司に敬称をつけないのって常識だろ?
お前がゆとりなんじゃないの?
0926nobodyさん2008/01/09(水) 05:05:54ID:???
( ゚д゚ )

流れを読めない>>925は間違いなくゆとり
0927nobodyさん2008/01/09(水) 05:10:57ID:???
>>926
流れ云々とかじゃなくて、常識的にオカシイだろwww
0928nobodyさん2008/01/09(水) 05:16:35ID:???
あぁ〜そういうことか。
まぁ、>>924の書き方もオカシイよな。
0929nobodyさん2008/01/09(水) 05:53:49ID:???
PHPの中のswitch文から条件に応じて別のPHPファイルを呼び出す
(ジャンプする)ときはMETAタグを使えばいいんでしょうか?
0930nobodyさん2008/01/09(水) 06:06:09ID:???
その発想はなかったわw
0931nobodyさん2008/01/09(水) 06:52:34ID:???
>>929
    〈\_/ /               
 '´ ̄ ,z≧D≦ \   /.       
   /´⌒/|  /'⌒ l   )     え  
   | /Tメ| /ヘヾハ  ) ど   l . 
   |/ l! ∨ l! |`ト  ) ん   l . 
   | 、_  、_,Y  ) だ ! . 
   |///r─‐┐//〉|  ) け     . 
 \|、_V⌒V イヽ|   ) }  .   
  ト、__了 /j    ) {     
  \   //r'´    \    
0932nobodyさん2008/01/09(水) 06:54:46ID:???
でも発想が面白いとおもた
0933nobodyさん2008/01/09(水) 07:51:23ID:???
switch($hoge) {
  case 1:
    header('Location: a.php');
    exit;
  case 2:
    include_once('hoge,php');
    break;
  case 3:
    echo '<html><header><meta http-equiv="Refresh" content="0;URL=hoge.php"></header></html>';
    exit;
}

ってとこか?w
0934nobodyさん2008/01/09(水) 08:01:09ID:???
<header>
09359202008/01/09(水) 09:14:03ID:???
なんか知らんが >>922が自分の代わりに謝ってる。
まぁ、>>921は最近荒らしてるバカが詐称してるだけだろうから、どうでもいいけど。( ゚д゚)、ペッ
0936nobodyさん2008/01/09(水) 11:16:51ID:???
あれ?今日スクリプトきてないな
毎日ほぼ同じぐらいの時間だったから
てっきり自動かと思ってたんだが
0937nobodyさん2008/01/09(水) 11:27:31ID:???
手動の暇人にきまっとる
0938タヌキ ◆kN93rkdiOs 2008/01/09(水) 13:47:53ID:1HfuVzUD
>>919
>>920
ありがとうございます!
0939nobodyさん2008/01/09(水) 15:42:49ID:kGicjkjv
phpが
if($_POST['submit'] == "cookie"){
setcookie("test", "testest", 0);
$test = $_COOKIE['test'];
}

htmlが(bodyのみ)
<form action="cookie.php" method="POST">
<p><input type="submit" name="submit" value="cookie"></p>
<p>$test</p>
</form>

のようなファイルを作りました。
1回ボタンを押して、クッキーがセットされますが$testにはまだ値が入っていません。
2回目以降はtestestが表示されるのですが1回目で表示させたいのです。
何か方法があればよろしくお願いします。
0940nobodyさん2008/01/09(水) 15:52:27ID:???
if($_POST['submit'] == "cookie"){
setcookie("test", "testest", 0);
$test = "testest";
}

でいいじゃまいかw
0941nobodyさん2008/01/09(水) 15:54:45ID:???
setcookie("test", "testest", 0);
をした時点ではクッキーは発行されてないから
$_COOKIEで取得はできない

0942nobodyさん2008/01/09(水) 15:54:56ID:???
if($_POST['submit'] == "cookie"){
$test = 'testest';
setcookie("test", $test, 0);
} else {
$test = $_COOKIE['test'];
}

でどう?
0943nobodyさん2008/01/09(水) 15:59:44ID:kGicjkjv
申し訳ありません。言葉足らずでした。
cookieの値自体はではなく、そのタイミングで発行できるか重要でした。

>>941
なるほど。わかりました。
Location辺りで1回飛ばしてみようと思います。
0944nobodyさん2008/01/09(水) 16:13:59ID:???
>>943
それで良いなら別に良いんだけど、1回ボタンを押したとき画面には $test の値が表示されなくても、
ブラウザに cookie は設定されてるよ。
0945nobodyさん2008/01/09(水) 16:20:05ID:kGicjkjv
そうなんですか? $_COOKIEは取得できなかった気がしたので・・・
0946nobodyさん2008/01/09(水) 16:28:13ID:???
それは当たり前。一度のリクエスト内で処理してるんだから。
まあやっていくうちに分かるさ。
0947nobodyさん2008/01/09(水) 16:50:12ID:lojqq5Hc
初めまして、よろしくお願い致します。

100〜200行程度のCSVファイルがあり、それの特定行から特定行までを読み込むにはどうすれば良いでしょうか?

データ自体のCSVファイルと別に、インデックス用のCSVファイルがあり、何行目から何行目に
必要なデータがあるのか予め分かるようになっています。

fgetcsvで1行ずつ読み込みができるという所までは分かったのですが、
これを使ってデータ呼び出しの度に[1行目から読み込み]→[必要な行に到達したか判定]を繰り返すしかないのでしょうか?

毎回1行目から呼び出すのは効率が悪そうなので、できるならば、直接その行を呼び出せれば嬉しいです。

失礼な部分があったら申し訳ありません。
よろしくお願いします。
0948nobodyさん2008/01/09(水) 17:07:57ID:???
200行程度なら配列に入れとけば?
0949nobodyさん2008/01/09(水) 17:07:59ID:???
>>947
おまえには教えない。
なんか知らないけど、ムカツクから。

0950nobodyさん2008/01/09(水) 17:26:08ID:???
配列に入れてarray_sliceか
whileで頭から読んで改行を数えるかだろうなぁ
0951nobodyさん2008/01/09(水) 17:32:20ID:???
>>947
PHP5ならSplFileObject->seek()で行単位シーク出来るよ。
SPLが使えなけりゃ指定回数fgetsかしら。
0952nobodyさん2008/01/09(水) 18:22:21ID:???
ファイルアクセスについてマニュアルで file_get_contents とか調べると

http://jp.php.net/manual/ja/function.file-get-contents.php
>もしOSがサポートしていれば パフォーマンス向上のためにメモリマッピング技術が使用されます。

って書いてあるけど、その対応してるOSって何があるだろ?
この件で使えそうな file 関数もメモリマッピングを使おうとするのかよくわからんし。

http://jp.php.net/manual/ja/function.file.php
0953nobodyさん2008/01/09(水) 19:52:58ID:???
php5ならこれか?
http://jp.php.net/manual/ja/function.stream-get-line.php

正直使った事ないけどw
0954nobodyさん2008/01/09(水) 19:56:00ID:???
あ、すまん953は忘れてくれw

0955nobodyさん2008/01/09(水) 20:05:21ID:???
だが断る
0956nobodyさん2008/01/09(水) 20:59:30ID:???
>>933
ご教授深謝。
いろいろ方法ありますね。
headerがオーソドックスなのかな。
0957nobodyさん2008/01/09(水) 21:34:58ID:???
>>956
http://www.tt.rim.or.jp/~rudyard/torii009.html
0958素人2008/01/09(水) 21:35:29ID:4fMiWS+z
プログラム板では、WEBプログラム板に池と言われ、
WEBプログラム板に行くとなぜかサーバに接続出来ず、
仕方が無いので、プログラマの皆さんに質問させてください。

次が全く分かりません。

【環境】
PHP5 + MySQL5.0 + Windows XP (Home) + Apache

【事象】
WEB画面から入力された値をDBに登録(Insert)するという
単純な処理を実装してみたところ、半角数字なら問題無く登録出来
るのですが全角(日本語等)が登録データに含まれているとなぜか
登録が出来ません。
(しかもエラーも何も表示されない。)

エスケープシーケンス回りを疑ってはみたものの、そもそも特殊文字
など入力していません。
(例:' " & ・・・等)
0959nobodyさん2008/01/09(水) 21:36:25ID:???
>>958
mysql_error()
0960素人2008/01/09(水) 22:13:06ID:4fMiWS+z
>>959
mysql_error()を実行したところ次のエラーメッセージが表示されました。

【実行SQL】
insert into tab1 values('485','あいうえお','あいうえお')

【エラー】
Incorrect string value: '\x82\xA0\x82\xA2\x82\xA4...' for column 'name' at row 11366
numberが [485] のデータを登録しました


しかし、実行してエラーになったSQLをMySQL上から実行すると普通に
登録出来ました。。。

何が原因でしょうか?
0961nobodyさん2008/01/09(水) 22:20:13ID:???
mysqlの文字コードとHTMLの文字コード(+PHPの文字コード)を合わせるべし
それより登録できてないくせに登録しましたと表示するエラー処理のほうも何とかすれ
0962素人2008/01/09(水) 22:34:08ID:4fMiWS+z
>>961さん
そうですね<numberが [485] のデータを登録しました >
の出力は削除します。

MySQLでの文字コードを調べてみたところ次の通りです。
 character_set_system
の部分を【sjis】に統一すれば良いでしょか?

________________________________________
show variables like '%char%';
________________________________________
_______________________________________
Variable_name Value
________________________________________
| character_set_client | sjis
| character_set_connection | sjis
| character_set_database | sjis
| character_set_filesystem | binary
| character_set_results | sjis
| character_set_server | sjis
| character_set_system | utf8
| character_sets_dir |
C:\Program Files\MySQL\MySQL Server 5.0
\share\charsets\ |
0963素人2008/01/09(水) 22:35:12ID:4fMiWS+z

【補足】
1.*.phpファイルは、サクラエディタで編集し保存時には
 文字コードとして<SJIS>を使用しています。
2.ブラウザは<Lunascape4>を使用しており、文字コードの
 デフォルトのチェックは次の通りです。
 表示(V) ⇒エンコード(D) ⇒ 日本語(シフト JIS)
0964nobodyさん2008/01/09(水) 22:46:39ID:???
とりあえずSJISに拘る必要ないならphpとか
表示関係全部utf-8にしといたほうが幸せになるぞ
0965nobodyさん2008/01/09(水) 22:51:58ID:???
>>963
PHPのほうもSJIS?
0966素人2008/01/09(水) 23:02:41ID:4fMiWS+z
>>964
先ほどPCを再起動してみたのですがやはり全角文字だと文字化けします。
一度全てutf-8にしてみようかと思います。

【エラー内容】
Incorrect string value:
'\x82\xA0\x82\xA0\x82\xA0...' for column 'name' at row 11366

>>965
php.iniの事でしょうか?
0967nobodyさん2008/01/09(水) 23:05:11ID:???
>>966
うん
0968nobodyさん2008/01/09(水) 23:07:51ID:???
スクリプト側でset names sjisですんなりいくかも
あとmy.cnfでskip-character-set-client-handshakeとか
キーの重複は関係ないか
0969nobodyさん2008/01/09(水) 23:11:45ID:???
質問です。

数メガの容量のファイルを読み込んで、配列にいれる。
それをPHPで一度に処理して表示したいんですが、
サーバーへの負担はどのくらいになるのでしょうか?

レンタルサーバーを借りていて、あまり処理が重かったら迷惑かなと思いまして。
0970素人2008/01/09(水) 23:24:08ID:4fMiWS+z
>>968さん
ありがとうございます!!解決しました!!
0971素人2008/01/09(水) 23:24:40ID:4fMiWS+z
>>965
php.iniもSJISです。
0972nobodyさん2008/01/10(木) 01:01:47ID:nr809F9h
何らかのフラグに用いる変数を100個用意するのと、
配列ひとつ用意して、それに要素100個入れてフラグとして利用するのでは
どっちが処理早い?
プロのプログラマってそういう処理速度考えて作業してるんでしょ?
そういうのの代表例教えて ケースバイケース過ぎて無理かな
0973nobodyさん2008/01/10(木) 02:06:04ID:???
>>972
後者。つか前者は実行速度/効率云々の前に
プログラム組んでる時点でコスト掛かるだろ。
0974nobodyさん2008/01/10(木) 02:42:44ID:???
っていうか、プロならフラグを100個も使うようなコーディングはしない。
フラグを使わないコーディングが出来るように勉強しろよ。
趣味でやっているなら、動けばいいと思うけどな。趣味ならな。
0975nobodyさん2008/01/10(木) 04:44:00ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0976nobodyさん2008/01/10(木) 08:42:00ID:???
そろそろ次スレな季節な訳だが
質問者にID表示をさせてるがこれトリップでも問題なくない?
IDなんてIP変われば変わるんだし
0977nobodyさん2008/01/10(木) 09:09:13ID:jxxVBXDn
画像縮小でBMPファイルを扱うにはどうすれば良いんですか?
jpgならimagecreatefromjpeg()で問題ないんだけど、BMPのことはマニュアルにも載ってないみたいで。
0978nobodyさん2008/01/10(木) 09:54:38ID:???
>>977
なんかのエクステンション使うとかしないと無理
bmp→jpgとかならimagecreateの下の方にやり方が載ってる
0979nobodyさん2008/01/10(木) 10:03:32ID:jxxVBXDn
どうも。見てみます
0980nobodyさん2008/01/10(木) 10:07:02ID:cQpcF1mT
独学でLinuxやPHPを学んで今就職活動してます。
PCサイトを作ってる会社と携帯サイトを作ってる会社、
どっちで働こうか迷ってるんだけど、
PCサイトと携帯サイトのプログラミングって全然違うもんなの?
いろんなスキルを身に付けるならPCサイトの方が良さそうな気がするんだけど、
どうなんでしょうか?
0981nobodyさん2008/01/10(木) 10:17:29ID:???
別に同じ
0982nobodyさん2008/01/10(木) 10:18:01ID:???
Web屋きたあああああああああああああああああああああああああああああああああ
現実見ろよ
http://d.hatena.ne.jp/waseda23/20071225/1198573722
0983nobodyさん2008/01/10(木) 10:38:53ID:???
三行でまとめてくれ
0984nobodyさん2008/01/10(木) 12:41:02ID:???
>>980
> いろんなスキルを身に付けるならPCサイトの方が良さそうな気がするんだけど
いろんなスキルを身につけたいならむしろPCサイトと
同様の事を求められるのにキャリアや機種による制約が多い
携帯サイトの方が良いと思う
0985nobodyさん2008/01/10(木) 12:44:34ID:???
>>974
>プロならフラグを100個も使うようなコーディングはしない
むしろプロの方が"ちゃんと"そういう方法を採用するだろ。
今日日メモリなんて只みたいなもんだからな。
0986nobodyさん2008/01/10(木) 12:59:31ID:???
とりあえずPHPは単価安いし仕事がないんでASP.NETやっとけばおk
会社としても高い仕事やりたいわけよ
となると仕事で使うのはASP.NET>Java>PHPとなってくるわけよ
PHPだけのとこにはいかないほうがいいよ
安い給料がさらに安くなるぜ
0987nobodyさん2008/01/10(木) 14:02:43ID:???
フラグを100個なんて管理破綻するからそんなことやらんわ
状態遷移を有効に使う
0988nobodyさん2008/01/10(木) 14:39:44ID:???
地方SOHOの俺涙目。
0989nobodyさん2008/01/10(木) 15:04:58ID:???
100個(件)と100種(状態)を混同してないか?
0990nobodyさん2008/01/10(木) 15:14:24ID:???
>>989
混同しているのはお前。>>972をよく嫁
0991nobodyさん2008/01/10(木) 15:19:40ID:???
どうせなら、西鹿児島駅を鹿児島駅とし、鹿児島駅を東鹿児島駅とでもすればいいのに、と思うのは私だけでしょうか。
0992nobodyさん2008/01/10(木) 16:08:06ID:???
>>990
フラグって上げ下げ(2値)か、せいぜい3値程度で
100もの値を保持するのはステイタスだよな。
>>972は100個のフラグの処理の話と解釈してるが
そこで「状態遷移を有効に使う」方法ってどんなの?
0993nobodyさん2008/01/10(木) 16:41:10ID:???
恐らく>>987は知ってる単語を並べただけかと
0994nobodyさん2008/01/10(木) 16:52:35ID:???
レベルひっくwwwwwwwwwwwwwwwwwwWWWWWWwwWWwW
0995nobodyさん2008/01/10(木) 16:57:27ID:???
そもそも100個のフラグを使う仕様がタコだって話だろ。
>>993みたいな初心者は口出さないでアホな質問だけしてろよ。
0996nobodyさん2008/01/10(木) 17:00:26ID:???
ん?悔しかったの?
0997nobodyさん2008/01/10(木) 17:12:39ID:???
どうせなら、西鹿児島駅を鹿児島駅とし、鹿児島駅を東鹿児島駅とでもすればいいのに、と思うのは私だけでしょうか。
0998nobodyさん2008/01/10(木) 17:31:13ID:???
麻布高校から慶応大学を経て公認会計士になりましたが、何か??
0999nobodyさん2008/01/10(木) 18:09:43ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
1000nobodyさん2008/01/10(木) 18:11:51ID:???
>>1
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。