[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/05 02:47 / Filesize : 235 KB / Number-of Response : 906
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はID出して書き込みやがれ 74



1 名前:nobodyさん mailto:sage [2008/09/20(土) 20:23:08 ID:???]
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ

581 名前:nobodyさん mailto:sage [2008/10/03(金) 10:33:20 ID:???]
>>576
しまいにはDB使わずナマズさん使ったほうが速いお
とか言いだしそうだな(わらう)


582 名前:nobodyさん mailto:sage [2008/10/03(金) 10:37:06 ID:???]
>>579
find.2ch.netがDBかどうかなんて話してないだろw

583 名前:nobodyさん mailto:sage [2008/10/03(金) 10:49:34 ID:???]
ひろゆきや狐やrootがDB分かんないからログファイルなんじゃね

584 名前:nobodyさん mailto:sage [2008/10/03(金) 10:55:46 ID:???]
>>583
お前は本当にその3人だけでやってると思ってんのか?
ってか、ひろゆきはDBわかるだろ

585 名前:nobodyさん mailto:sage [2008/10/03(金) 11:45:30 ID:???]
ドラゴンボールが何だっての?

586 名前:nobodyさん [2008/10/03(金) 11:58:56 ID:/eEzlvvL]
ディレクトリ構造?ってどうしてますか
phpファイルを機能別に分けたりしてますか?

587 名前:nobodyさん mailto:sage [2008/10/03(金) 12:20:21 ID:???]
好きにしろ

588 名前:nobodyさん [2008/10/03(金) 15:56:15 ID:xSW6clzh]
すみません。普通のPHPファイルとAjaxの部分とで同じSESSION変数を使いたいんですが、
データの整合性とか、大丈夫ですか?

589 名前:nobodyさん [2008/10/03(金) 16:06:53 ID:rpr6AsK7]
PHPからMySQLに格納すると文字化けするので、コネクトするたびに、
$sql = "SET NAMES utf8";
$result = mysql_query($sql);
とクエリを投げるようにして、とりあえず解決したのですが、
あまりスマートじゃないですよね?

上のPHP2文がある/無い で、文字化けする/しない という結果になるんですが、
この結果から、どの部分で文字コードがおかしくなっているのか予想ってできますでしょうか?



590 名前:nobodyさん mailto:sage [2008/10/03(金) 16:21:01 ID:???]
>>589
コネクトするたびにって、、、1ページ読み込むのに何回もコネクトしてるってこと?
DBのホストを分散しているとかは別だけど、もしそうならスクリプトを1から作り直したほうがいい
それかmysqlのコンフィグを書き換えデフォをUTFにする

591 名前:nobodyさん [2008/10/03(金) 16:53:27 ID:rpr6AsK7]
>>590
いや、データベースのクラスがあって、
そのクラスをnewするたびにconnectしています。

基本的に1ページには1回newして、そのオブジェクトを使うので、
1ページ=1connectです。

PHPのファイルがUTF-8で、my.cnfの設定もUTF-8に統一している
(コンソールからMySQLにつないで、statusで確認済み)のですが、
あと文字コードに関わる部分ってどこがあるでしょうか?

592 名前:nobodyさん mailto:sage [2008/10/03(金) 17:13:26 ID:???]
>>591
クラスにしているなら特にSET NAMEを複数書く必要もないしスマートだと思うけど
格納するクエリが文字化けしてなく、格納した時にすでに文字化けしているなら他に原因は思いあたらない

593 名前:nobodyさん mailto:sage [2008/10/03(金) 18:08:56 ID:???]
>>588
javascriptはアクセス先のPHPへ同じセッションIDを通知するから、
ページ全体を表示する際に生成したセッションと同一と言える


594 名前:nobodyさん mailto:sage [2008/10/03(金) 18:10:44 ID:???]
>>591
何にせよmysql側で対応したいなら、
MySQL「サーバ」とMySQL「クライアント」の文字コードを統一しないとな
PHPの文字コードじゃないから注意だぞ(PHPからMySQLクライアント(ドライバ)に渡る際に変換されるから)


595 名前:nobodyさん mailto:sage [2008/10/03(金) 18:38:33 ID:???]
>>589
その説明は、俺がmy.cnfの設定方法を含めて前レスで詳しく説明したから、
それを見てくれ。

596 名前:211 [2008/10/03(金) 19:14:51 ID:XpYjXbv/]
もう誰も興味ないと思いますが・・・というか、結果的にかなり場違いな
質問でしたが、一応解決したので書いておきます。
結果的には oci8.so をユニバーサルバイナリにしてみたら動きました。
理由は説明できないので聞かないでください。

最初に書かないといけなかったような気がしていますが、環境は、
$ uname -a
Darwin macbook.example.com 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386
です。

いろいろ試行錯誤していて、以前指摘された "DYLD_PRELOAD"に相当する
ものは"DYLD_INSERT_LIBRARIES"ではないかと思い、試していると、
$ export DYLD_LIBRARY_PATH=/usr/local/instantclient_10_2
$ php ocitest.php
(成功)
$ /usr/sbin/httpd
dyld: could not load inserted library: /usr/local/instantclient_10_2/libclntsh.dylib.10.1

Trace/BPT trap
こうなりました。全然理解できませんが。

ユニバーサルバイナリにしたら良いかもと勝手に思い、
$ pecl bundle oci8
$ CFLAGS='-arch i386 -arch x86_64 -arch ppc -arch ppc64' LDFLAGS='-arch i386 -arch x86_64 -arch ppc -arch ppc64' ./configure --with-oci8=instantclient,/usr/local/instantclient_10_2 --disable-dependency-tracking
$ sudo make install

これで試したらすんなり動きました。
おわり。

597 名前:211 [2008/10/03(金) 19:23:49 ID:XpYjXbv/]
>>596
途中一行抜けてました。
$ export DYLD_LIBRARY_PATH=/usr/local/instantclient_10_2
$ export DYLD_INSERT_LIBRARIES=/usr/local/instantclient_10_2/libclntsh.dylib.10.1
$ php ocitest.php

あと、せっかくなのでちょっと追記。
$ file oci8.so
oci8.so: Mach-O universal binary with 4 architectures
oci8.so (for architecture i386): Mach-O bundle i386
oci8.so (for architecture x86_64): Mach-O 64-bit bundle x86_64
oci8.so (for architecture ppc7400): Mach-O bundle ppc
oci8.so (for architecture ppc64): Mach-O 64-bit bundle ppc64
$ file oci8.so.orig (動かなかったoci8.so)
oci8.so.orig: Mach-O bundle i386
$ file libclntsh.dylib.10.1
libclntsh.dylib.10.1: Mach-O dynamically linked shared library i386


598 名前:nobodyさん mailto:sage [2008/10/03(金) 19:25:49 ID:???]
自分のblogに書いといてくれ

599 名前:nobodyさん mailto:sage [2008/10/03(金) 19:26:25 ID:???]
ごくろうさん



600 名前:211 [2008/10/03(金) 20:00:31 ID:XpYjXbv/]
すみません。。。
pc11.2ch.net/test/read.cgi/mac/1216824430/
に似たような事例があって、いくつかわかりました。
標準でインストールされている httpd は x86_64 で動作しているようです。
アクティビティモニタ上で "Intel (64ビット)" と表示されていました。

で、oci8.so はユニバーサルバイナリにすることでロードされましたが、
その中で使っている libclntsh.dylib は i386 のバイナリしかないわけで
ocitest.php をapacheに実行させたら Trace/BPT trap で失敗してました。。。

なかなか上手くいかないもんだのう。。。

601 名前:nobodyさん mailto:sage [2008/10/03(金) 20:28:26 ID:???]
嫌がらせか

602 名前:588 mailto:sage [2008/10/03(金) 21:05:21 ID:???]
>>593
どうも同一のセッションIDを送ってくれるので、大丈夫ということを知り安心しました。

回答つかないかと思ってあせってたんです(;´д`)

本当にありがとうございました。助かりました。

603 名前:nobodyさん [2008/10/03(金) 22:38:52 ID:19ebb2MR]
$array[0]["name"]
$array[1]["name"]
$array[2]["name"]

となっている配列があったとして、
nameの中が空の場合、その配列を削除したいと思っています。
ひとつずつIFで条件分岐する以外で方法はないでしょうか?

604 名前:nobodyさん mailto:sage [2008/10/03(金) 23:42:28 ID:???]
機能別にすることもあるし分けないこともある。
本体とログとかさらにいくつもファイル複数あるなら分けたほうがいい気はする。

605 名前:nobodyさん mailto:sage [2008/10/03(金) 23:58:50 ID:???]
>>603
なさげ。
普通にif文でやってください。
で、ついでに配列に格納する段階でどうにかするという方向性でいったら?

606 名前:nobodyさん [2008/10/04(土) 00:02:17 ID:qepvww6d]
フレームワーク使ってるかってどうやってわかるんでしょうか?

607 名前:nobodyさん mailto:sage [2008/10/04(土) 00:25:18 ID:???]
>>606
デフォルトのまま使えば特徴は出るがそんなのはいくらでも隠蔽できるし
使ってる本人がこのサイトはなんたらのフレームワークで構築されてます
みたいな自己紹介してないとわからない

608 名前:nobodyさん [2008/10/04(土) 00:29:35 ID:qepvww6d]
>>607
なるほど。 ご回答ありがとうございました

609 名前:nobodyさん mailto:sage [2008/10/04(土) 09:35:14 ID:???]
どうしてもモジュール単位でクラス化していくと、
require_onceの数が多くなってしまいます。
ファイルをインクルードするためのオーバーヘッドは気にしなくて大丈夫でしょうか?





610 名前:nobodyさん mailto:sage [2008/10/04(土) 11:25:40 ID:???]
>>609
ファイル数が多いならrequire_onceよりrequireを。
onceは重複チェックの分オーバーヘッドがrequireよりありんす。


611 名前:nobodyさん mailto:sage [2008/10/04(土) 16:11:14 ID:???]
mailって内部的には、sendmailを起動している、って
WEBの解説ページに書いてあったんだけど、
それってUNIX環境だけだよね?

Windowsでは、起動しているメールサーバーソフト(mercuryとか)を
使って送信してるんだよね?

612 名前:nobodyさん [2008/10/04(土) 16:23:54 ID:qMLHDr64]
wink.pncn.net/server/php_mail.php

ここに、

「あとは、Apacheを再起動します。そうしないとphp.iniの設定内容が反映されません。」

って書いてあるけど、php.iniは
別にアパッチを再起動しなくても設定の変更は
反映されるよね?

613 名前:nobodyさん mailto:sage [2008/10/04(土) 16:29:09 ID:???]
>>612
モジュール版のPHPはApache起動と同時にPHPも内部的に稼動させるから、
Apache起動時点でのiniになる、だから変更には再起動が必要
CGI版なら、アクセス時にPHPが起動するから再起動は必要なし



614 名前:nobodyさん [2008/10/04(土) 16:56:57 ID:qMLHDr64]
xamppのPHPの場合はどっちなのかな?
自分のPHPがCGI版なのか、
モジュール版なのか、
どこを見て判定するの?

615 名前:nobodyさん [2008/10/04(土) 17:28:26 ID:qMLHDr64]
自己解決した。
oshiete1.goo.ne.jp/qa4116414.html
↑ここに書いてあった。

「phpinfo()を見る」
「ServerAPIを見る」
「Apache 2.0 Handlerとなっていたら、モジュール版」

「CGIとなっていたら、CGI版」

616 名前:nobodyさん mailto:sage [2008/10/04(土) 17:45:37 ID:???]
質問スレって絶対頭おかしいやつ多いよな
質問に答えればすぐ終わることをわざわざ関係ないレスするやつ
答えにならないレスするやつのほとんどが質問してるやつがどういう答えを求めてるかがわかってない馬鹿

このPHPスレだけじゃなくてどこの質問スレも同じ
なんなんだろね?
リアルが馬鹿でどうしようもないから質問しに来たやつに対して優越感にでも浸りたいのか?w

617 名前:nobodyさん mailto:sage [2008/10/04(土) 17:50:17 ID:???]
スレチだが、今でもレン鯖ってPHP4使ってるとこが多いよな
4のサポートもう終わってるんだし5にしてくれよと思う

618 名前:nobodyさん mailto:sage [2008/10/04(土) 17:53:44 ID:???]
>>615
自分の入れるのがどっちなのかくらい分かってから使おうぜ・・・
>>617
運営に頼むか、そんなひどいとこは使わないのが吉。

619 名前:nobodyさん mailto:sage [2008/10/04(土) 18:01:54 ID:???]
>>618
いや、まだまだ殆どのとこが4じゃないかな
たとえ使えてもFTP接続先が/public_html/直下だったり結構ひどいとこばかりだわ

俺の探し方が下手糞なのかもな・・・



620 名前:nobodyさん mailto:sage [2008/10/04(土) 18:05:36 ID:???]
殆どのとこって例えばどこ?

621 名前:nobodyさん mailto:sage [2008/10/04(土) 18:25:57 ID:???]
>>619
PHP可と書いてるところで登録してみたらPHP4だったーってのはよくあるな

>>620
いろんなとこ借りて覚えてないわ


他にはmod_rewriteが使えないとことか多いよな

622 名前:nobodyさん mailto:sage [2008/10/04(土) 18:27:49 ID:???]
覚えてないくせに「殆どのとこがPHP4じゃないかな」とかwww

623 名前:nobodyさん mailto:sage [2008/10/04(土) 18:28:45 ID:???]
>>671
php4でしか動かない奴も多いからな。
「ウチのblogが急に動かなくなった、どうしてくれる!」とか
クレームが来ること考えるとそう簡単には切れないべ。

624 名前:nobodyさん [2008/10/04(土) 19:02:55 ID:qMLHDr64]
lh.gamesns.jp/cap.php?rand=9844254
これってどうやるの?

625 名前:nobodyさん mailto:sage [2008/10/04(土) 19:12:43 ID:???]
captchaでググれ

626 名前:nobodyさん [2008/10/04(土) 21:02:35 ID:Ac3kpf8k]
簡易的なアクセス解析プログラムを作っています。
HTMLファイルからimgタグでtest.phpを読み込み、
そこで訪問者のログを取っています。
(<img src="./test.php?page=top" />←こんな感じです)

その時test.phpでは
header("Content-length: " . filesize('./dammy.gif'));
というように1px×1pxの画像を出力しているのですが、
画像を出力しないで済む方法はないでしょうか?

アクセスログの取り方はimgタグでやりたいと思っています。
分かる方いらっしゃればお願いします。

627 名前:nobodyさん mailto:sage [2008/10/04(土) 21:04:14 ID:???]
ページをphpで作ればいいじゃん

628 名前:626 [2008/10/04(土) 21:34:46 ID:Ac3kpf8k]
>>627
ページは原則的に静的という縛りがあります、すみません。

629 名前:nobodyさん mailto:sage [2008/10/04(土) 21:35:45 ID:???]
なぜに?
あと画像を出力したくない理由は?
どうでもいいことは書いてるけど必要な情報が足らん



630 名前:626 [2008/10/04(土) 22:01:56 ID:Ac3kpf8k]
>>629
アクセス解析のプログラムはフリーで配布する目的でして、
手間がかからないよう静的ページからでもOKにしたいのが理由です。

>画像を出力したくない理由は?
特に大きな理由はありません。
ただbodyタグ内のどこにimgタグを突っ込んでもデザインが崩れなければ最高だと思いまして。
情報の後出し申し訳ないです。

631 名前:nobodyさん mailto:sage [2008/10/04(土) 22:04:33 ID:???]
>>630
やったことないけど
JavaScriptとしてPHPで読み込んでみてはどうかな?

<script type="javascript" href="./test.php?page=top"></script>


632 名前:626 [2008/10/04(土) 22:19:45 ID:Ac3kpf8k]
>>631
ありがとうございます、解決しました!
なぜかhrefをsrcに変更したところ動作しました。
javascriptでphpを呼べるんですね。
ホントにありがとうございました。

633 名前:nobodyさん mailto:sage [2008/10/05(日) 05:46:20 ID:???]
たんに>>631のhtmlのミスだな
まぁそこはどうでもいいか

634 名前:nobodyさん mailto:sage [2008/10/05(日) 12:36:18 ID:???]
>>626
jsでするみたいだからどうでも良い話にはなるが
1x1のサイズだとbase64エンコードして出来た文字列を内部に持たせる方が楽だぞ

635 名前:nobodyさん [2008/10/05(日) 19:21:16 ID:BsaGVD4F]
PHPの世界で
「PHPマニュアル」
っていったら、
なにか公式のものがあるの?

ようは固有名詞になってるの?

636 名前:nobodyさん mailto:sage [2008/10/05(日) 19:27:23 ID:???]
テンプレ読まないやつは帰っていいよ

637 名前:nobodyさん [2008/10/05(日) 19:38:09 ID:BsaGVD4F]
w1.nirai.ne.jp/freeze/appli/file01.html

ここに書いてあるんだけど、

「6の項目は実現できませんでした。なぜうまく行かなか
ったかと言うと、ブラウザのキャッシュが大きな壁だった
のです。同じ画面にするとどうしても再読込あるいは次
の投票を行わないと反映されないのです。ある程度対応
策があるのですが、サーバー側のプロキシ(?)の問題も
あるようで100%は無理みたいですね。あちこちで見られる
アンケートもほとんど2画面ですからね。」

って書いてあるのだが、PHPでやる場合、
基本的に2画面設計にするのが業界の主流なの?

638 名前:nobodyさん [2008/10/05(日) 19:47:25 ID:BsaGVD4F]
www.php.net/manual/ja/

PHPマニュアルってこれか?
まさかおまえら、これ全部読んだの?

639 名前:nobodyさん [2008/10/05(日) 21:25:33 ID:BsaGVD4F]
10人で同時にプレイする
CGIゲームのテストって
ローカルでは限界があるのか?



640 名前:nobodyさん mailto:sage [2008/10/05(日) 21:28:43 ID:???]
いや別に?

641 名前:nobodyさん [2008/10/05(日) 21:29:17 ID:BsaGVD4F]
www.sound-uz.jp/php/note/basicPhp

ここ読んだら、

[ステップ2] サーバにアップロードする

「今書いたPHPスクリプトファイルを、FTPソフト
でサーバのブラウザでアクセスできるところにア
ップロードします。CGIのようにパミッションを設定
する必要はありません。」

って書いてあるんだけど、本当にパーミッションを
設定する必要はないの?

642 名前:nobodyさん mailto:sage [2008/10/05(日) 21:32:21 ID:???]
CGI版で使うならある

643 名前:nobodyさん mailto:sage [2008/10/05(日) 21:40:38 ID:???]
PHPスクリプトにファイル作成をさせたりするなら、必要になることも。

644 名前:nobodyさん [2008/10/05(日) 21:49:03 ID:BsaGVD4F]
なんで、Apacheモジュール版のことを、DSO版って呼ぶの?

645 名前:nobodyさん mailto:sage [2008/10/05(日) 21:51:45 ID:???]
ApacheのDSOって仕組み使ってるから

646 名前:KillYouHag ◆KillYouHAg mailto:sage [2008/10/05(日) 22:12:26 ID:???]
|(-_-)|

647 名前:nobodyさん [2008/10/06(月) 00:22:36 ID:szIkgH26]
PHPの解説ページ見てると、ほぼ全部が
mysqlと連携させましょう!ってなってるけど、別にsqlliteでも
いいんだよね。

648 名前:nobodyさん mailto:sage [2008/10/06(月) 00:25:50 ID:???]
もち。sqliteはまだ新しいので、解説が少ないだけ。

649 名前:nobodyさん mailto:sage [2008/10/06(月) 00:44:53 ID:???]
>>638
必要になったら読むに決まってるだろ
君はセンスがなさそうだから他のことやったほうがいいよ



650 名前:nobodyさん [2008/10/06(月) 12:20:44 ID:HtdN4tAq]
ファイルでX行目の内容だけ変えたりという処理を実装したいのですが、すべての行を読み込まなくてはできないでしょうか?
たとえば100行あって5行目hogeをfugaに変えるだけの時はどんな処理が一番いいですか?
下のようなものしか思いつきません。

$list = explode("\n",$file);
$list[4] = "fuga";
$file = implode("\n",$list);


651 名前:nobodyさん mailto:sage [2008/10/06(月) 12:23:04 ID:???]
そのファイル何MBなの?

652 名前:nobodyさん [2008/10/06(月) 12:27:22 ID:HtdN4tAq]
>>651
ありがとうございます。
ログのようなもので簡単に言うと2chのsubect.txtっぽいものです。
10M以下です。

653 名前:nobodyさん mailto:sage [2008/10/06(月) 12:33:17 ID:???]
じゃ気にしなくておk

654 名前:nobodyさん mailto:sage [2008/10/06(月) 12:47:45 ID:???]
>>652
今後デカくなる可能性もあって、気になるというなら
ループとfgetsで対象の行まで処理してもいいかもな
無駄なループが出るが、ファイル全体を取り込む際のオーバーヘッドと比べて要相談


655 名前:nobodyさん [2008/10/06(月) 13:40:08 ID:szIkgH26]
php.dori-mu.net/tips.html

↑ここに、

「効果的にデバッグしたい
最近PHPをはじめた方の為に、効果的なデバッ
グの方法をこっそりお教えします。

統合開発環境がいまだ無いPHPのデバッグで
は、要所要所で変数の値をprintされている人
が多いと思います。」
-----------------------------------------

、、、って書いてあるけど、これって古い情報?
まだIDEってないの?

656 名前:nobodyさん mailto:sage [2008/10/06(月) 13:45:05 ID:???]
そんな鴨を釣るための方便

657 名前:nobodyさん mailto:sage [2008/10/06(月) 14:18:23 ID:???]
IDEならPDTやaptanaがあるじゃん、釣られんなよ
しかも「PHP4は早いんです!」・・・ワラタ
PHP5の影もない頃の記事だな

658 名前:nobodyさん [2008/10/06(月) 16:19:40 ID:/7mWgEQF]
勉強の為にフリーで配布されてるソースを拾ってきて
自分なりに解読しているのですが、その中であまり見かけない
記述を見つけたので何をしているか教えてもらえませんか

クラスの中に
$this->$kw($val);
と記述がありました。

659 名前:nobodyさん mailto:sage [2008/10/06(月) 16:27:05 ID:???]
質問。
--------------------------
<html>
<form action="output.php" method="post">
<input type="text" name="a"></td>
</form>
<?php
$c = $_POST['a'];
print ("$c");
?>
</html>

-----------------------------------------
↑このコードなんだが、
入力フォームの画面がoutput.phpで、
そこから渡される変数を受け取って、
処理をして画面に出すファイルも、同じく
output.phpなんだが、こういう、入力ファイルと、
出力ファイルが一緒、って、なんか気持ち悪いんだが、
2つのファイルに分ければすっきりすると思うんだが、

(入力が1.htmlで、出力が2.phpとか)

RFC的に、っていうか、なんか規約とかガイドラインとかで
決まってたりしないの?
「同じファイルで入力と出力を混ぜるな」とか。



660 名前:nobodyさん mailto:sage [2008/10/06(月) 16:30:53 ID:???]
>>658
www.komonet.ne.jp/~php/chap10.htm
www.scollabo.com/banban/php/php_11.html

この辺見たらわかるんでない?

661 名前:nobodyさん [2008/10/06(月) 16:33:21 ID:krVoA8nH]
>>659
$_SERVER['PHP_SELF']があるくらいだし、
1つのファイルでやるのはよくあるかと

てかhtmlの書き方がめちゃくちゃな気が…

662 名前:658 [2008/10/06(月) 16:36:38 ID:/7mWgEQF]
>>660
ありがとうございます
ただそのあたりは理解してるつもりです。

分らないのは
$this->$wk($val);
の部分の"->$"でアローの後の$が何なのかということなのです

663 名前:658 [2008/10/06(月) 16:39:49 ID:/7mWgEQF]
自己解決
可変ね

お騒がせしました

664 名前:nobodyさん mailto:sage [2008/10/06(月) 16:41:22 ID:???]
急に態度でかくなってワロタ

665 名前:nobodyさん mailto:sage [2008/10/06(月) 16:53:21 ID:???]
>>659
「んだが」使いすぎ。


666 名前:nobodyさん mailto:sage [2008/10/06(月) 16:58:10 ID:???]
そこにツッコむとは通だな

667 名前:2ch偽”管理”人 ◆2ch.net/cU mailto:age [2008/10/06(月) 17:45:16 ID:???]
(´・ω・`)

何げに神酉

668 名前:nobodyさん mailto:sage [2008/10/06(月) 17:50:47 ID:???]
>>662
スカラー変数じゃない?

669 名前:nobodyさん mailto:sage [2008/10/06(月) 17:53:03 ID:???]
>>668
いや、明らかな可変関数ですが



670 名前:nobodyさん [2008/10/06(月) 17:58:49 ID:szIkgH26]
zen-cart.jp/bbs/viewtopic.php?f=2&t=3974
ここみたら、xreaって
register_globalsがOn
みたいなんだけど、バカなの?死ぬの?

671 名前:nobodyさん mailto:sage [2008/10/06(月) 18:01:42 ID:???]
古いサーバでしょ

672 名前:nobodyさん [2008/10/06(月) 18:07:18 ID:J8jNqfv3]
screenshots.jp/

↑こういうウェブサービスを自作したいと思います。

任意のページをブラウザで表示させ、そのスクリーンショットを取得し、
サイズや解像度を調整しサムネイルに加工するというものです。

これはレンタルサーバ(XREA)+PHPで可能でしょうか?

PHPで無理なのであれば、どのような言語やツールを利用すればよいですか?

673 名前:nobodyさん mailto:sage [2008/10/06(月) 18:10:46 ID:???]
先が思いやられる・・・

674 名前:nobodyさん mailto:sage [2008/10/06(月) 18:15:43 ID:???]
>>バックエンドにXやらwinやらがないと出来ん
エンジンだけで正確なキャプチャは取るのは神業だからな

675 名前:nobodyさん [2008/10/06(月) 18:46:29 ID:J8jNqfv3]
>>674

ありがとうございます。

やはり自宅サーバ立てるのが近道なんですかね。
でも管理コストが・・・。

676 名前:nobodyさん [2008/10/06(月) 19:13:23 ID:szIkgH26]
おまいらHTMLエディター、何使ってる?

677 名前:nobodyさん mailto:sage [2008/10/06(月) 19:15:46 ID:???]
なぜPHPは除外?

678 名前:nobodyさん mailto:sage [2008/10/06(月) 19:22:34 ID:???]
>>676
メモ帳

679 名前:nobodyさん mailto:sage [2008/10/06(月) 19:25:24 ID:???]
メモ帳



680 名前:nobodyさん mailto:sage [2008/10/06(月) 19:29:27 ID:???]
メモ帖

681 名前:nobodyさん mailto:sage [2008/10/06(月) 19:49:37 ID:???]
getで、
.php?id=123456
みたいなのじゃないくて

2chのスレみたいに

read.cgi/php/1221909788/l50←ここ

を受け取りたいんだけど、これ出来ない?

682 名前:nobodyさん mailto:sage [2008/10/06(月) 19:52:09 ID:???]
>>1

683 名前:nobodyさん mailto:sage [2008/10/06(月) 19:53:22 ID:???]
>>659
どっちもできるのに何故RFCで決めなければならんのだ

684 名前:nobodyさん [2008/10/06(月) 20:02:26 ID:F1nMmuDg]
あだるとびでおの編集とかにぴーえいちぴーは、つかわれていますか?

685 名前:nobodyさん mailto:sage [2008/10/06(月) 20:03:52 ID:???]
使われていまsん

686 名前:nobodyさん [2008/10/06(月) 20:07:14 ID:rKAl3ZIy]
サーセン。

【OS名】window xp
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
getで、
.php?id=123456
みたいなのじゃないくて

2chのスレみたいに

read.cgi/php/1221909788/l50←ここ

を受け取りたいんだけど、出来ないですか?

687 名前:nobodyさん mailto:sage [2008/10/06(月) 20:14:53 ID:???]
できまsん

688 名前:nobodyさん mailto:sage [2008/10/06(月) 20:15:09 ID:???]
テンプレ出したとこで申し訳ないがphpとは全く関係ない罠
mod_rewriteで調べてちょうだい

689 名前:nobodyさん [2008/10/06(月) 20:20:32 ID:szIkgH26]
いままでHTMLエディタは TTTエディタを使っていたんだが、
こんどPHPを勉強することになって、
文字コードはかっこよく、utf-8で統一しようと思ったんだけど、
今しらべてみて、なんと、ttteditはユニコードでのファイルの保存が
できないことが判明。いまどきそれはないわな。

てなわけで、ttteditを捨てることに決定。

で、ttteditみたいなエディターで、イマドキなの、一個
紹介してよ。



690 名前:nobodyさん [2008/10/06(月) 20:25:34 ID:rKAl3ZIy]
>>687

cgiなら出来る?

691 名前:nobodyさん [2008/10/06(月) 20:31:29 ID:rKAl3ZIy]
mod_rewriteググったら解決出来そうだった。

クエリー式(/sample.cgi?a=123&b=456)
PATH_INFO式(/sample.cgi/123/456)
とか言うのね。

thx!!

692 名前:nobodyさん mailto:sage [2008/10/06(月) 20:41:33 ID:???]
>>689
PDT

693 名前:nobodyさん mailto:sage [2008/10/06(月) 20:47:57 ID:???]
htmlエディタとかスレ違いもいいところだろ
phpやるならIDE使えよ
htmlの色付けやコード保管機能ぐらいならどれでもついてる
ていうかhtmlなんてメモ帳で余裕ぐらいにならんと

694 名前:nobodyさん mailto:sage [2008/10/06(月) 20:50:32 ID:???]
>>693
メモ帳wwwwwwwwww
好きに文字コードを指定して保存できる素晴らしいツールですね^^

695 名前:nobodyさん mailto:sage [2008/10/06(月) 20:59:52 ID:???]
>>694
文字コードとかの話をしてるんじゃねえよ
htmlの色付けとか補完機能とかオマケなみたいなもんで必要ないってこと
あったほうが作業効率は早まるが覚えること少ないだろhtmlは

696 名前:nobodyさん [2008/10/06(月) 21:00:45 ID:szIkgH26]
自分のイメージだと、
はhtml編集ソフト。
PHPはPHP専用のIDE

、、、て使い分けてるイメージがあったんだが、
違うの?

697 名前:nobodyさん mailto:sage [2008/10/06(月) 21:01:30 ID:???]
ふ、甘いぜ。漢なら、Emacs で打ちこみだろう。

698 名前:nobodyさん mailto:sage [2008/10/06(月) 21:09:21 ID:???]
俺は自社製のソフト使ってる
フローチャート書けば自動的にスクリプトにしてくれるから便利

699 名前:nobodyさん mailto:sage [2008/10/06(月) 21:15:32 ID:???]
>>696
htmlにphpのコードを記述していくことになるから
使い分けたりしない

<?php include_once("main.php"); ?>
<html>
<head>
<?php echo $charset; ?>
<?php echo $title; ?>
</head>
<body>
<p>こんばんわ!<?php echo $name; ?>さん!</p>
</body>
</html>

見たいな感じで書いたりするからな



700 名前:nobodyさん mailto:sage [2008/10/06(月) 22:39:10 ID:???]
>>699
そんなコードかかねーからw

701 名前:nobodyさん [2008/10/06(月) 23:56:26 ID:szIkgH26]
pc11.2ch.net/test/read.cgi/php/1204488452/720

こういうのPHPでカンタンにできるの?

702 名前:nobodyさん [2008/10/07(火) 00:04:09 ID:xy9SRLMk]
暇だから答えるか。。

>>701
無理。PHPはサーバー側のプログラムだから。ブラウザの機能に付加するしかないから
FireFOxのアドオンっていうのがJavaScriptで書かれているから、それ勉強した方がいいよ。

703 名前:nobodyさん mailto:sage [2008/10/07(火) 00:04:26 ID:???]
>>700
書くだろ
>>699を理解できないのはロジックが分離できてない証拠

704 名前:nobodyさん mailto:sage [2008/10/07(火) 00:08:21 ID:???]
できないの?できるの?
そうだよね?違う?
下らん質問繰り返してる暇があったらさっさとはじめろよグズ野郎

705 名前:nobodyさん [2008/10/07(火) 00:30:01 ID:UKq/cagT]
windowsとApacheでphpのプログラムを書いているのですが
<?php
print_r ($_COOKIE);
?>
とすると
Array ( [PS] => ngnrnodnjsl5fmj8gl6ytgsks0 )

と表示されます
setcookieを一度も呼び出さなくても勝手にこのPSというクッキーが発行されています
これは何ですか

706 名前:nobodyさん [2008/10/07(火) 01:31:01 ID:CqpiE/lL]
クッキーです。


707 名前:nobodyさん mailto:sage [2008/10/07(火) 13:07:59 ID:???]
>>703
かかねーからw
今時、テンプレートエンジンとか普通使うし
そんなコードを書くほうが少ない
ビューとロジックを分離出来ていないのはどっちだよw

デザイナーにPHPコードそのまま埋め込ませるのか?w

708 名前:nobodyさん mailto:sage [2008/10/07(火) 13:10:28 ID:???]
>>701
出来るよ

709 名前:nobodyさん mailto:sage [2008/10/07(火) 13:57:53 ID:???]
し・・・下らねぇ



710 名前:nobodyさん mailto:sage [2008/10/07(火) 14:01:56 ID:???]
個人なら一緒でもいいんじゃね
分けると重くなるし

711 名前:nobodyさん mailto:sage [2008/10/07(火) 14:02:11 ID:???]
>>707
PHPコードも、Smartyのタグも、埋め込ませるのでは変わらないよ。
テンプレートエンジンのオーバーヘッドはSmartyなんかでは特に高くて、
>>699のようなコードにするこでの分離も業務ではざらにあるんだよ。

712 名前:nobodyさん mailto:sage [2008/10/07(火) 14:04:40 ID:???]
フレームワーク使って>>699のような書きかたも普通にするわ

713 名前:nobodyさん mailto:sage [2008/10/07(火) 14:44:20 ID:???]
>>699 普通のPG
>>707 フレームワークしか触ったことの無い底辺PG

↑FA?

714 名前:nobodyさん mailto:sage [2008/10/07(火) 14:48:43 ID:???]
難しい言葉や一通りいろいろなものには触ってはいるが
本質的なことを理解していないタイプなのだろう

715 名前:nobodyさん [2008/10/07(火) 21:25:43 ID:4E7CA6TZ]
学習計画なんだけど、
素のPHPに1ヶ月、
smartyに1ヶ月、
cakephpに1ヶ月、

で合計3ヶ月で大体基本をマスターしようと
思うんだけど、どう思う?

716 名前:nobodyさん mailto:sage [2008/10/07(火) 21:28:52 ID:???]
別に・・・

717 名前:nobodyさん [2008/10/07(火) 21:35:53 ID:4E7CA6TZ]
あ、もしかしたら、PEREってのも勉強しないといけないの?

718 名前:nobodyさん mailto:sage [2008/10/07(火) 21:35:56 ID:???]
>>715
他の言語経験者ならいいんでない?

719 名前:nobodyさん mailto:sage [2008/10/07(火) 21:41:56 ID:???]
なんでも予定通りには行かないだろうからとりあえずヤってみるべし

>PERE
PECLのことか?これはC言語だから取りあえずスルーでイイ
定番PECLの使い方くらいは覚えておく必要はあるな(mbstringとか



720 名前:nobodyさん mailto:sage [2008/10/07(火) 21:42:09 ID:???]
>>715
長すぎ

721 名前:nobodyさん mailto:sage [2008/10/07(火) 21:42:25 ID:???]
>>719
PEARのことだと思われ

722 名前:nobodyさん mailto:sage [2008/10/07(火) 22:12:54 ID:???]
>>715
せいぜい一週間だろ

723 名前:nobodyさん [2008/10/07(火) 22:36:38 ID:wbjjwnhA]
GDを使って、カウンターの画像を表示するようにしています。
下記のようにしているのですが、1桁の画像しか表示されません。
桁数に併せて画像を連続出力する?みたいな事って出来ないのでしょうか?

$count = "1234";
$c_array = str_split($count);

header("Content-Type: image/gif");

for($i=0;$i<count($c_array);$i++){
$cnt = "img/".$c_array[$i].".gif";
$image = imagecreatefromgif("$cnt");
imagegif($image);
imagedestroy($image);
}

724 名前:nobodyさん mailto:sage [2008/10/07(火) 22:39:54 ID:???]
何をやっとんじゃ

725 名前:nobodyさん mailto:sage [2008/10/07(火) 23:47:39 ID:???]
>>723
1つのimgタグで複数の画像を同時に表示出来ないことと同じ理由だぞ・・・
単純に4桁なら4桁で1つの画像に表示させればいいじゃん
1桁1画像にする理由があるならスマンが

726 名前:nobodyさん [2008/10/08(水) 01:45:48 ID:ij2fkFmB]
アンケートをためしに作っているのですが

作り方の載っているサイトなどをみると
送られたデータを表示する際には
XSSを防ぐために htmlspecialchars 使えって
書いてありますがタグなどを抜く strip_tags ではだめなんでしょうか

駄目だとしたら理由も教えてください。

727 名前:nobodyさん mailto:sage [2008/10/08(水) 02:12:39 ID:???]
変換する関数と取り除く関数じゃん

728 名前:nobodyさん [2008/10/08(水) 02:23:16 ID:ij2fkFmB]
>>726
すいません。書き忘れました。

htmlspecialchars が < とかを変換する関数だっていうのは
わかっているんですが、それでXSS対策になるんだったら
タグを取り除いても対策になるんじゃないかと思ったんです。

729 名前:nobodyさん mailto:sage [2008/10/08(水) 02:33:36 ID:???]
strip_tagsのタグの除外方法に問題があります。
onmouseoverとかのイベントハンドラをタグに入れてかけてごらん。



730 名前:nobodyさん mailto:sage [2008/10/08(水) 03:05:46 ID:???]
XSSとは直接関係ない別の理由、
例えばurlをはりつけられて宣伝行為がいやだとかなら、
正規表現でurlあったら登録前にはじくようにすればええ。
最初から<>を入力禁止にすればいい。

731 名前:723 mailto:sage [2008/10/08(水) 05:22:24 ID:???]
>>725
すみません、「4桁でひとつの画像」という意味が分かりません。
例えば、カウンターで「1234」という桁数を表現したい場合、
1234の画像を予め作っておかなければいけないのでしょうか?


732 名前:nobodyさん mailto:sage [2008/10/08(水) 06:33:06 ID:???]
>>731
その通りです。4つ画像作るということは、
4回もHttp RequestがWeb Serverに対して発生するということですよ。

733 名前:723 mailto:sage [2008/10/08(水) 07:30:56 ID:???]
自分で調べてimagecopymergeを使って
画像をコピー・マージンする事で対処出来ました。
やはり、すべての画像を用意するのは手間ですからね。

お騒がせしました。

734 名前:nobodyさん mailto:sage [2008/10/08(水) 07:50:07 ID:???]
そんなことより、
cms.c-okinawa.co.jp/

サイトが乗っ取られているぞwwwww

735 名前:nobodyさん mailto:sage [2008/10/08(水) 07:53:47 ID:???]
>>734
kwsk
SQLインジェクションでもされたか

736 名前:nobodyさん mailto:sage [2008/10/08(水) 08:29:31 ID:???]
>>735
詳しくは俺もよく分からないが、mixiとかで大騒ぎになっているw
どうやら、ネット企業らしいが、自分の会社の恥をさらけ出している。
こういう会社に誰がシステム開発を頼むであろうか、いや頼まない。

72.14.235.104/search?q=cache:wa7dfBVHLrwJ:cms.c-okinawa.co.jp/cinfo/39-campanyinfo/69-campanyinfo.html%3Ftmpl%3Dcomponent%26print%3D1%26page%3D+http://cms.c-okinawa.co.jp/&hl=ja&ct=clnk&cd=2&gl=jp

737 名前:nobodyさん mailto:sage [2008/10/08(水) 08:31:02 ID:???]
しかも、そのページキャッシュの下にある、これは何だ。
こんなバグばかりの自社ページw

最終更新 ( 2008年July18日(Friday) 13:49 )

738 名前:nobodyさん mailto:sage [2008/10/08(水) 08:34:44 ID:???]
まぁ沖縄だからな
都内と比べて技術者が劣るのは否めない

739 名前:nobodyさん mailto:sage [2008/10/08(水) 08:36:00 ID:???]
裏を返せば、東京でプログラマーやっていれば、
沖縄でプロマネとか出来るってことか?



740 名前:nobodyさん mailto:sage [2008/10/08(水) 08:45:47 ID:???]
CMSの管理アカウントが洩れたんだろうね。
技術力というよりは、管理力の問題かな。

741 名前:nobodyさん [2008/10/08(水) 08:49:07 ID:pfYxFPga]
すみません、質問です
今phpでプログラムを書いているんですが、実行中にタイムアウトしてしまいます
デフォルトの制限30秒を伸ばすのではなく、根本的に解決したいと思うのですが
可能性としてどんなことが考えられるでしょう?
フォームを送信して、確認画面で表示する程度のプログラムでタイムアウトします
ソースを見せられないのに漠然としていて申し訳ないのですが、ありがちな失敗例でも
教えてもらえたら幸いです

環境はwinXP Pen3-900mhz メモリ512m apache2 php5です
マシンのスペックがショボイのも一因かなと思いますが問題ないでしょうか?


742 名前:nobodyさん mailto:sage [2008/10/08(水) 08:55:09 ID:???]
>>741
ソース出した方が、解決早いよ。

743 名前:nobodyさん mailto:sage [2008/10/08(水) 09:10:24 ID:???]
>フォームを送信して、確認画面で表示する程度のプログラムでタイムアウトします
こんなんでタイムアウトするとかありえないし無限ループしてるだけじゃね?

whileとかforの部分があったら出してみ

744 名前:nobodyさん [2008/10/08(水) 09:37:13 ID:pfYxFPga]
>>742-743
お返事ありがとうございます whileやfor文はないんです
いま、error.logを見たら、以下のようになっていました

PHP Fatal error: Maximum execution time of 30 seconds exceeded in
C:\\....\arrayList.php on line 2, referer: localhost/system/admin/player_mng/base.php

それで、arrayList.phpをみると
<?php
$sTypeAry = array(array("こだわらない",0),array("バー",1),array("カフェ",2),array("レストラン",3),array("ライブハウス",4));
となっています($sTypeAryの前にタブが入ってます)
ログが問題あるといってるのは$sTypeAryの箇所ですよね? おかしいでしょうか?
このarrayList.phpはたくさんの配列が定義されていて、それを使ってプルダウンメニューを生成してるんですが、、


745 名前:211 [2008/10/08(水) 10:12:23 ID:ARUsAyOt]
気になる部分を切り出して動かしてみるとか、
途中でログを出力するようにしてどこで止まるか調べるとか、
デバッガーを使ってみるとか、
動いていた環境と何が違うのか考えてみるとか、
文字コードが関係してないかとか、
考えればいろいろ思いつくんじゃない?

746 名前:741 [2008/10/08(水) 10:32:58 ID:pfYxFPga]
>>745
ありがとうございます
>気になる部分を切り出して動かしてみるとか、
>途中でログを出力するようにしてどこで止まるか調べるとか、
>デバッガーを使ってみるとか、

気になる部分を切り出したり、関係なさそうなとこをコメントアウトしたりはしてますが
ログ出力とかデバッガとかはわかりません
どんな風にしたらいいんでしょうか?
ログ出力ってのはapacheのerror.logとは違うものですか?
デバッガって専用ソフトがあるんでしょうか。。
調べてみますが、もし気が向いたら教えてください

747 名前:211 [2008/10/08(水) 10:45:45 ID:ARUsAyOt]
>気になる部分を切り出したり、関係なさそうなとこをコメントアウトしたりはしてます

これで問題のあるところが絞り込めるんじゃないの?
んでそこをじっと見てみれば解決に近づくと思うけど。

知らないことは調べてみて、わからないことをまた聞けばいいじゃない。

748 名前:nobodyさん mailto:sage [2008/10/08(水) 12:36:58 ID:???]
Pear::Benchmarking_Benchmarkでも使ってみたら

749 名前:nobodyさん mailto:sage [2008/10/08(水) 12:42:57 ID:???]
配列をループさせて作るプルダウンは生成できてるの?
一度、プルダウン生成のループ前でexit;してみなよ。
それでタイムアウトしなければ配列の要素が多すぎるか無限ループ起こしてるか。



750 名前:nobodyさん mailto:sage [2008/10/08(水) 12:50:49 ID:???]
whileやfor文はないけどforeach文はあるんですとかいうオチか?
配列つかっててループ使わないとは到底思えないわけだが

751 名前:nobodyさん mailto:sage [2008/10/08(水) 13:03:33 ID:???]
エスパー呼んで来い!

752 名前:nobodyさん mailto:sage [2008/10/08(水) 14:52:41 ID:???]
ふつうに再帰呼び出しのバグのような...


753 名前:nobodyさん mailto:sage [2008/10/08(水) 14:55:49 ID:???]
>>744
>arrayList.phpはたくさんの配列が定義されていて

その配列の数だけプルダウンメニューを生成していると・・・
ま、問題箇所はそこだね。

プルダウンメニューの生成部分をここに書いてご覧。

754 名前:nobodyさん mailto:sage [2008/10/08(水) 16:06:32 ID:???]
文字コードの変換についての質問です
対象となる文字を書き込むと文字化けするようですので以下のURLの検索結果を見ていただけますでしょうか
ttp://www.google.co.jp/search?num=100&hl=ja&q=%E9%AA%9A%E8%B4%A7%E5%9B%BE&btnG=%E6%A4%9C%E7%B4%A2&lr=

これらの漢字をUTF8からSJISに変換しようとすると?に化けます。
※SJIS-winも同じ

用途はウェブから拾ってきた文字列(UTF8)をWindowsのフォルダ名として使用したいのですが、
特殊な文字が含まれている場合に文字化けを起こし、場合によってはフォルダの作成に失敗します。

ちなみにPythonだと、str.decode('utf8') でデコードすると特殊な文字のままフォルダ名として使用できました。
これと同じ事をPHPで実現可能でしょうか?

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

OS:WindowsXP
phpは5.2.5を使用

755 名前:754 [2008/10/08(水) 16:08:37 ID:l2gN2Unr]
すみません。age忘れました・・

756 名前:nobodyさん mailto:sage [2008/10/08(水) 16:22:07 ID:???]
中国語じゃないの?

757 名前:nobodyさん mailto:sage [2008/10/08(水) 20:36:06 ID:???]
Imagickを使用して複数のGIF画像からアニメーションGIFを作成したいと思います。
以下のようなコードを実行したところ、作成はされたのですがアニメーションが繰り返しません。

$im = new Imagick("1.gif");
$im2 = new Imagick("2.gif");
$im->addImage($im2);
$im->writeImages('3.gif', true);
$im->destroy();
$im2->destroy();

どのようにしたら繰り返すアニメーションGIFを作成できますか?

PHP 5.2.3
Fedora Core release 6

よろしくお願いします。

758 名前:757 [2008/10/08(水) 20:37:40 ID:AijBw8uq]
すいません。ID出してませんでした。

759 名前:nobodyさん mailto:sage [2008/10/08(水) 20:37:47 ID:???]
>>757
>>1



760 名前:nobodyさん mailto:sage [2008/10/08(水) 20:40:30 ID:???]
>>758
www.google.com/search?q=Imagick+%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

761 名前:nobodyさん [2008/10/08(水) 20:54:08 ID:ZJxG3jMs]
【OS名】CentOS 5.2
【PHPのバージョン】php 5.1.6-20.el5_2.1
【連携ソフトウェア】mysql
【質問内容】
これまで正常に動作していたサイトの出力の先頭にゴミが出るようになった。
下記のようなゴミ。これを消したい。
出るようになったタイミングは CentOS で yum update やってサーバ再起動してから。
PHP上で動いているプログラムの問題かと思ったら、phpMyAdmin でも同様の
状態だった。ゴミの文字列は毎回違う。
------------------------------------------------
10be4 (←これがゴミ)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...
------------------------------------------------
猛烈に以前も同じことがあった気がする。
おながいします。

762 名前:nobodyさん mailto:sage [2008/10/08(水) 21:08:44 ID:???]
BOM

763 名前:たまちゃん ◆ExGQrDul2E [2008/10/08(水) 21:20:35 ID:EssfW95q]
PHP 正規表現

で質問があります。
画像ファイルとかの

test.jpg

1234.test.jpg

テスト.jpg

のように、一番最後の.の後にある拡張子を取得したいんですけどどうしたらよいですか?

$test = 'test.test2.gif';

if(preg_match("/(.+?).\d/",$test){

$filename = $test[1];

}

では全然ダメでした。

764 名前:nobodyさん mailto:sage [2008/10/08(水) 21:33:51 ID:???]
/[^\.]+$/

ていうか何がどうなってその正規表現に行き着いたんだ

765 名前:nobodyさん [2008/10/08(水) 21:35:26 ID:ij2fkFmB]
今帰りました。
お礼が遅れましたすいません。

>729
ありがとうございます。
該当すると思われるページにたどり着き納得しました。

>730
入力の制限も勉強してみます。
ありがとうございます。

766 名前:nobodyさん [2008/10/08(水) 22:55:04 ID:QSI2sKBR]
XSS対策で、htmlspecialchars関数を使ってますが、&をエスケープするので、
&#9829等の特殊文字が表示されなくなりました。
みなさんはこの部分はどう対策されてますか?

767 名前:741 [2008/10/08(水) 23:43:38 ID:pfYxFPga]
>>749-753
親切なレス本当にありがとうございます
外出しててお返事遅れてしまいました
配列をプルダウンにする処理は以下の通りです

function makeStypePd($name,$selectNum,$modifyMode){//$modifyMode top>通常 rewrite>修正 db>db取得
$name=strtoupper($name);
$options="";
//修正画面用
if($modifyMode == "rewrite"){
for($i=1;$i<=count($this->sTypeAry)-1;$i++){
$options .="<option value=\"".$this->sTypeAry[$i][1]."\" ";
if(($selectNum != NULL) && ($selectNum == $this->sTypeAry[$i][1])){
$options .= "selected=\"selected\"";
}
$options .= ">".$this->sTypeAry[$i][0]."</option>\n";
}
return $options;
}
//DB参照画面用
else if($modifyMode == "db"){
//同様の処理
}
//通常画面用 普通にプルダウンを作る
else if($modifyMode == "top"){
//同様の処理
}
}

おかしいでしょうか? 選択値を配列の各要素が持つ値と照合して、同じだったらselectedとする、
そうでなければ普通にoptionを作っていくという処理のつもりです。配列は以下のものを使っています。
$sTypeAry = array(array("こだわらない",0),array("バー",1),array("カフェ",2),array("レストラン",3),array("ライブハウス",4));

768 名前:nobodyさん mailto:sage [2008/10/09(木) 00:17:59 ID:???]
つっこみどころ満載で涙が出るな
ループでは「$this->sTypeAry」、定義では「$sTypeAry」、
ちゃんと「$this->sTypeAry」に代入されてるか?

forで「$i=1」ってなってるけど、それだと「こだわらない」が使われないよな?
(配列ならforeachの方がいいと思うんだがなぁ)
単純なループだから大概な数を回しても30秒以内に終わりそう・・・・
ここには原因がないのだろうか

769 名前:nobodyさん [2008/10/09(木) 00:44:35 ID:ju+5ve0t]
>>768
どうもです 本当にすみません
配列の代入はされてます
「こだわらない」はこの場合適用されなくていいんです(一言添えるべきでした すみません)
forよりforeachの方がいいんですか? そのほうが早いとか?
foreachをよく理解できないので使わなきゃ良いやって気分だったんですが、、
どこがまずいのかなぁ、、

あと、ちょっと話題がずれるかもしれないですが
ある画像ファイルがあるときは、それを出力する処理をしています
$dbPicPath = "../../../".$_SESSION['uType']."/img/".$_SESSION['uId']."/".$corner."/".$name.".jpg";
if(getimagesize($dbPicPath)){
$rtn.="<img src=\"".$dbPicPath."?".$rand."\"".$resize." />\n";
}else{
$rtn.="−\n";
}
return $rtn;
この処理に対して、該当する画像が存在しない場合エラーログに
PHP Warning: getimagesize(../../../artists/img/1/pic/***.jpg) failed to open stream: No such file or directory
といわれます
この警告Warningを出さないようにするにはどうしたらいいでしょうか? これが遅い原因かな?
上記処理の時点では、該当ファイルの有無はわからないので 「そんなファイルやディレクトリはないよ」と
いわれてもしょうがないじゃんって気分です。。 すみませんが気が向いたら教えてください



770 名前:nobodyさん mailto:sage [2008/10/09(木) 00:53:31 ID:???]
ソースはともかくプルダウンはできてるぞ
getimagesize()の前にファイルの有無をチェック

771 名前:nobodyさん [2008/10/09(木) 01:05:05 ID:ju+5ve0t]
>>770
たびたびすみません
getimagesizeをfile_existsに置き換えたらwarning出なくなりました
もう少し粘ってみます 今日はありがとうございました

772 名前:nobodyさん [2008/10/09(木) 01:08:35 ID:e6lF3vrt]
データベースに接続するために、ユーザーIDやPWDをphp側で設定する必要があると思うのですが、
そのような設定値は、どこに書くのが適切でしょうか?

ファイルに外だしすると、データベースに接続するたびに、
ファイルI/Oが発生して処理が遅くなるかと思いますが、
ソースに直接書くと、異なるサーバー(例えばテスト環境と本番環境)毎にソースを変えなければいかず、
それも、欠点が多いような気がします。

みなさんは、どこに書かれていますか?
よろしくお願いします。

773 名前:nobodyさん mailto:sage [2008/10/09(木) 01:20:53 ID:???]
>>766

preg_replace("/&(#[0-9]+|[a-z]+);/i", "&$1;", htmlspecialchars($value)

とか。
ウザイけど。

774 名前:nobodyさん [2008/10/09(木) 02:03:19 ID:HkhPxnZW]
>>772
config.php作って定数にしてinclude

775 名前:nobodyさん mailto:sage [2008/10/09(木) 02:04:43 ID:???]
>>772
config.ini作ってfile_iniみたいた感じのやつで読み込んでる

776 名前:nobodyさん mailto:sage [2008/10/09(木) 07:18:15 ID:???]
>>766
考え方がおかしい
htmlspecialchars() は文字列をHTMLのCDATAに変換するためのもの
もともと実体参照が含まれているCDATAな文字列に対して
htmlspecialchars() を噛ませばおかしな事になるさ

実体参照をエンコーディングに従って割り当てられた文字コードに直せ


777 名前:773 [2008/10/09(木) 09:54:59 ID:T+Rb7EjR]
>>773
私の場合単純に
$var = htmlspecialchars($var,ENT_QUOTES);
$var = ereg_replace('&#([19])','?\\1',$var);

とやろうと思ったのですが、セキュリティーホールができそうでちょっと怖いです

>>776
よくわからないのですが、実体参照(文字参照)に文字コードが関係するんですか?
ユーザーの中に、?&#9829;とか?&#9834;とか書き込んでくる人がいるので、そういう人のために
きちんと記号表示されるようにしてあげたいのですが、、

ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E5%8F%82%E7%85%A7

778 名前:773 [2008/10/09(木) 10:14:06 ID:T+Rb7EjR]
>>777
追記
2chに変換されてしまった、、(^-^;

2chでは特殊文字が普通に変換されるサーバと?になるサーバとがあるみたいですね
&#[0-9]* って感じか

4行目
$var = ereg_replace('&amp;#([19])','&#\\1',$var);


779 名前:nobodyさん mailto:sage [2008/10/09(木) 12:37:12 ID:???]
>>763
それ正規表現いらない



780 名前:773 [2008/10/09(木) 13:07:33 ID:T+Rb7EjR]
その後いろいろ調べたのですが、どうやら&はエスケープしなくてもセキュリティー上は問題ないようです。
shimax.cocolog-nifty.com/search/2007/12/php_f864.html

とりえずこんな感じにしてみました

$var = htmlspecialchars($var,ENT_QUOTES);
$var = ereg_replace('&amp;#(9[0-9]{3}|1[0-9]{4})','&#\\1',$var);//一桁目が1(5ケタ)と9(4ケタ)のみ許可する


781 名前:nobodyさん [2008/10/09(木) 13:52:37 ID:XhRaoWbe]
【OS名】レンタルサーバで不明
【PHPのバージョン】php4.4.2
【連携ソフトウェア】mysql
【質問内容】
WebAPIよりXMLを取得しているのですが、階層が一定でなく
再帰処理によりデータを処理したいと考えています。
その際、staticによりデータを保持して再帰処理しているのですが
staticで指定したデータを初期化する方法はないでしょうか?
メインのファンクションから再帰処理を呼び出しているのですが
すべてのデータが残ってしまい困っています。

782 名前:nobodyさん mailto:sage [2008/10/09(木) 14:16:55 ID:???]
歯茎

www.vipper.org/vip949167.jpg



783 名前:nobodyさん mailto:sage [2008/10/09(木) 14:24:39 ID:???]
>>781
staticよりリファレンスの方が良くね?

function sample ($node, &$out) { 〜 }
$outに返り値を格納するようなヤツ


784 名前:nobodyさん mailto:sage [2008/10/09(木) 14:35:29 ID:???]
>>783
望み通りの動作になりました。ありがとうございます!!

785 名前:nobodyさん [2008/10/09(木) 17:58:27 ID:waFB31sw]
"aaa","bbb"

と言うように区切られた文字列を
$array[] = "aaa";
$array[] = "bbb";

と言うように配列に入れるにはどうしたらいいのでしょうか?
ファイルではないのでfgetcsvも使えません。

786 名前:nobodyさん mailto:sage [2008/10/09(木) 17:59:43 ID:???]
>>785
split

787 名前:nobodyさん [2008/10/09(木) 18:04:59 ID:DVR9Hu5G]
すみません、質問させて下さい。

PHP4のサーバーでエラー内容がブラウザに表示されず白紙のままです。
display_errorsとhtml_errorsはphpinfoで確認したところOnでしたが、念のためini_setとhtaccess両方試したけどダメでした。

よかったらご教授ください。よろしくお願いします

788 名前:nobodyさん mailto:sage [2008/10/09(木) 18:07:46 ID:???]
>>787
error_reportingは?

789 名前:nobodyさん [2008/10/09(木) 18:19:02 ID:DVR9Hu5G]
>>788
これが0でした!ありがとうございました。



790 名前:nobodyさん [2008/10/09(木) 20:04:59 ID:HNHF0bWh]
質問なんですが、配列の名前をループ内で自由につけるのはどうすればいいですか?


一つの配列$arrを分けたいので、$arr1、$arr2、…、のように分けるつもりで
$arrX[] = $arr[$i]
のようにしたいのです。
(※ X の所にループ内で得られる数字を入れたい)

どうすればいいですか?

791 名前:nobodyさん mailto:sage [2008/10/09(木) 20:26:55 ID:???]
$key = "arr$i";
$$key = $arr[$i];

792 名前:790 [2008/10/09(木) 20:49:00 ID:HNHF0bWh]
>>791
$$keyの様にやってみたのですが、
ループ2周目で$$keyが上書きされてしまうで、$$keyが配列になりません。
($arrXに複数入れたいのです)


そこで
$$key[] = arr[$i];
にしたのですがエラーになってしまうのです。
他に方法はないでしょうか?

793 名前:nobodyさん mailto:sage [2008/10/09(木) 20:51:36 ID:???]
教えてもらったやり方から色々工夫してみれ

794 名前:nobodyさん mailto:sage [2008/10/09(木) 21:31:39 ID:???]
LPO対策クラス作って設置し実際に効果があった、需要があればさらす。

795 名前:nobodyさん mailto:sage [2008/10/09(木) 21:48:48 ID:???]
むしろ効果のほうを晒してくれ

796 名前:nobodyさん mailto:sage [2008/10/09(木) 22:15:58 ID:???]
>>739
お前分からんだけやろw

797 名前:nobodyさん mailto:sage [2008/10/09(木) 22:41:31 ID:???]
お前は誰と戦ってるんだ

798 名前:nobodyさん [2008/10/09(木) 22:44:13 ID:HNHF0bWh]
>>796
お分かりでしたら教えて下さい。
変数はできたのですが変数が配列になりません。

799 名前:nobodyさん [2008/10/09(木) 22:59:01 ID:ZnuIQjgo]
イラレ+phpのgdでアバター機能作成をしています。
パーツ画像種類はPNGで、合成後jpgに変換して表示しています。
アンチエイリアスをかけて画像を保存して、下記を実行すると、絵がある部分の背景が黒くなってしまいます。
アンチエイリアスをかけずに画像を保存すると、画像がぎざぎざになってしまいます。
どうにか、うまい按配で合成することはできないでしょうか?

/**/$imgpro[0]=array("../img/abt/base/w2.png","0","0");
$imgpro[1]=array("../img/abt/huku/w2.png","0","0");
$imgpro[2]=array("../img/abt/hair/w2.png","0","0");
$imgpro[3]=array("../img/abt/eye/w2.png","0","0");
$imgpro[4]=array("../img/abt/hana/w2.png","0","0");
$imgpro[5]=array("../img/abt/kuti/w2.png","0","0");
$imgpro[6]=array("../img/abt/mayu/w2.png","0","0");


$src = imagecreatefrompng($imgpro[0][0]) or die("error!1\n");


foreach($imgpro as $value){

$mrg1 = imagecreatefrompng($value[0]) or die("error!2\n");
list($mrg1_width, $mrg1_height) = getimagesize($value[0]);


// イメージをマージ
imagecopymerge($src, $mrg1,$value[1],$value[2],0,
0,$mrg1_width,$mrg1_height,100) or die("error!3\n");

}




800 名前:nobodyさん mailto:sage [2008/10/09(木) 23:14:45 ID:???]
白背景の画像用意してマージすりゃいいのと違うのか

801 名前:nobodyさん mailto:sage [2008/10/10(金) 01:04:15 ID:???]
>>798
$$key = array($arr[$i])
でできますよ。

802 名前:nobodyさん [2008/10/10(金) 02:23:46 ID:6LvKpYRu]
phpの質問と言うよりはプログラミングの基本な質問で悪い。

いま仮に100個あるデータの中からランダムで重複せずに(←重要)
10個のデータを取り出したい場合なんだが
スマートな書き方ってどうするんだろ?

$arr = array(100個のデータ);
$random = mt_rand(0, $arr-1);

$random を以前取り出したデータと重複していないかチェックして
新たな配列に入れるみたいな作業になると思う。

803 名前:nobodyさん mailto:sage [2008/10/10(金) 02:33:05 ID:???]
上からこられるといらっとするよね

804 名前:754 [2008/10/10(金) 02:55:06 ID:uSuuZHDd]
>>802
配列をシャッフルしてarray_popで取り出す

805 名前:802 [2008/10/10(金) 03:03:14 ID:6LvKpYRu]
>>804
あー、頭いいな〜。
if文も使わないし非常にスマートですね。

で調べていたらarray_randというまさにそのためにあるような
関数で解決しました。
マニュアルには明記されていませんが、
どうやら重複せずに配列からランダムで取り出すみたいです。
PHPは関数が豊富ですな。

806 名前:nobodyさん mailto:sage [2008/10/10(金) 05:13:24 ID:???]
そんなんどこに書いてあったんだよ
マジレスすると種次第。
>>804は切り出さなくても先頭10だけ使うって方法でも良いね

807 名前:nobodyさん mailto:sage [2008/10/10(金) 09:17:06 ID:???]
ttp://www.php.net/manual/ja/function.array-rand.php
種は自動で生成する

808 名前:nobodyさん [2008/10/10(金) 09:56:30 ID:Mjn4nOqX]
2chぽい掲示板を作っています。データの保存形式も同じです。
最新30レスだけ読み込みたい場合、今のところ全部読み込んで抜き取っているのですが
全部読み込まずにファイルの後方から読み込むような方法はないでしょうか
負荷に困ってるわけではないのですが、負荷を軽くする方法を知っておきたくて。よろしくおねがおします。

809 名前:nobodyさん mailto:sage [2008/10/10(金) 09:58:37 ID:???]
>>808
tail -fでやるのは如何でしょうか?



810 名前:nobodyさん mailto:sage [2008/10/10(金) 11:09:14 ID:???]
fopenして
fseek(ファイルのケツ)して1行づつ戻して読めば?

アッー!

811 名前:nobodyさん mailto:sage [2008/10/10(金) 12:13:05 ID:???]
ケツにseekしても行単位で戻せんし、どうしてもバイト単位になるす
行単位でseek出来れば最初からヤっとるわ!

アッー!

812 名前:nobodyさん mailto:sage [2008/10/10(金) 16:28:36 ID:???]
わがまま言わずに行区切りくらい自分で見付けなさい

行単位でシークしたけりゃおとなしく固定長レコードか、データベース使えば?
負荷が問題になるならキャッシュの導入を先に考えればいいよ。


813 名前:nobodyさん [2008/10/10(金) 18:31:41 ID:Yvgf2UGi]
php4とphp5をくらべて、php4でしか使えない関数ってありますか?

814 名前:nobodyさん mailto:sage [2008/10/10(金) 18:34:30 ID:???]
>>813
たとえば、mb_系の関数やwhile文やexit、functionなどが使えない。

815 名前:nobodyさん [2008/10/10(金) 18:45:41 ID:Yvgf2UGi]
ありがとうございます
以下のサイトを参考にしたのですが、このページに掲載されている関数は全部php5で使えるということでしょうか?
ttp://php.benscom.com/manual/ja/indexes.php

816 名前:nobodyさん mailto:sage [2008/10/10(金) 18:57:59 ID:???]
>>815
釣られんな、>>814に書いてるヤツが使えなかったらヤバいだろ

ttp://www.php.net/manual/ja/indexes.php
同じ内容だが本家見ような、余裕あれば原語も

ttp://www.php.net/manual/ja/about.prototypes.php
マニュアルを見る前にここチェック
関数の説明にはちゃんと対応バージョン書いてあるからな

817 名前:nobodyさん [2008/10/10(金) 19:23:21 ID:Yvgf2UGi]
ありがとうございます
これからは本家で見るようにします。
php4を切り捨てるため、php5で使える関数をテキストエディタの補完色分けに作ろうと思ってます。
関数の説明ページをひとつずつ開いて対応バージョンを調べるしかないですよね・・・
時間との戦いになりますが、地道にやっていきます。

818 名前:nobodyさん mailto:sage [2008/10/10(金) 20:02:39 ID:???]
いくつあると思ってるんだw

819 名前:nobodyさん [2008/10/10(金) 20:19:02 ID:Mjn4nOqX]
>>809-812
試してみます。
ありがとうございました。



820 名前:nobodyさん [2008/10/11(土) 02:23:25 ID:Dg304RS1]
いいってことよ
無料人力検索ボランティアをこき使ってくれたまえ

821 名前:nobodyさん [2008/10/11(土) 02:25:45 ID:Dg304RS1]
1.質問があがる

2.質問を読んだ者が検索して答えをみつけてくる

3.検索してみつけたページに書いてあることをコピペ(文章改ざん)して偉そうに回答

そんなスレだからがんばれよ

822 名前:nobodyさん mailto:sage [2008/10/11(土) 02:26:39 ID:???]
そんな今さらなこと言われてもなぁ

823 名前:nobodyさん mailto:sage [2008/10/11(土) 02:47:43 ID:???]
これいいなと思う質問回答はwikiにまとめようぜ
ttp://wikiwiki.jp/

824 名前:nobodyさん mailto:sage [2008/10/11(土) 04:35:19 ID:???]
一人でやってろ

825 名前:nobodyさん mailto:sage [2008/10/11(土) 07:43:55 ID:???]
>>830がwikiwiki登録してくれます

826 名前:nobodyさん [2008/10/11(土) 16:02:58 ID:hw8joz8b]
すみません。このようなエラーが出ていますが、何が原因ですか?

Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
--------------------------------------------------------------------------------

Apache/1.3.34 Server at www.mannanlife.co.jp Port 80

827 名前:nobodyさん mailto:sage [2008/10/11(土) 16:03:54 ID:???]
www.mannanlife.co.jp/

828 名前:nobodyさん mailto:sage [2008/10/11(土) 16:33:13 ID:???]
>>826
いつから、こうなるの?
あなたは誰?単なる訪問者、それともHP設置者とか。

829 名前:nobodyさん mailto:sage [2008/10/11(土) 21:20:05 ID:???]
フッターを外部ファイルで一括管理したいのですが、
ググってみてもあまり情報が出てきません。

phpのインクルードの方法について教えてください。



830 名前:nobodyさん mailto:sage [2008/10/11(土) 21:21:11 ID:???]
include 'footer.html';

831 名前:nobodyさん [2008/10/11(土) 22:21:44 ID:4K6Y3Waq]
バッチファイルにftpコマンド書いておいて
サイト閲覧者に開かせれば
そいつのパソコンのデータを自動で俺のサーバーに移せますか?


832 名前:nobodyさん mailto:sage [2008/10/11(土) 22:23:32 ID:???]
無理

833 名前:nobodyさん [2008/10/11(土) 22:53:19 ID:8WtsmSV0]
PEARのMDB2を使用してTCP/IPを使用しているMySQL5の環境で
接続しようと試みているのですが、接続できません。
ご教授願えますか?

834 名前:nobodyさん mailto:sage [2008/10/11(土) 23:07:58 ID:???]
>>833
localhostじゃないならポートが開いてるか確認する必要がある
MySQL接続ユーザのhostに接続元のホスト名(または%)が指定されてるか確認する必要がある

あと、「接続出来ません」では分からん
MDB2ならデバッグでエラーメッセージを取れるから、何が原因で接続出来ないか見ような

835 名前:nobodyさん [2008/10/11(土) 23:20:16 ID:G3J1VtlX]
PHPエディタなんだけど、
ファイルを2つ開いておいて、
タブで切り替えるってできないの?

836 名前:nobodyさん [2008/10/11(土) 23:29:26 ID:8WtsmSV0]
エラーメッセージを取得しましたら下記のようなエラーです。
Access denied for user: 'username@hostname' (Using password: YES)]

ポートの開閉確認とは??レンタルサーバーを使用しております。どのように
行えばよいでしょうか?お恥ずかしい質問ですが、よろしくおねがいします。

837 名前:nobodyさん [2008/10/11(土) 23:29:53 ID:4K6Y3Waq]
>>832
回答ありがとうございます。
余談ですが
delコマンドを使うと閲覧者のPCのデータを消せますか?

>>835
メモ帳二つ開けばいいよ。漢(おとこ)ならメモ帳だろ。


関係ないけど、さっきすっきりデフラグってソフト使ったら、
PHPのセッションのフォルダごと自動で削除されてセッション使えなくなった。

838 名前:nobodyさん mailto:sage [2008/10/11(土) 23:31:23 ID:???]
>>836
IDかパスが間違ってる

839 名前:nobodyさん [2008/10/11(土) 23:37:11 ID:8WtsmSV0]
ソースに記述したIDとパスでphpMyAdminはログインできるんです・・・。



840 名前:nobodyさん mailto:sage [2008/10/11(土) 23:37:45 ID:???]
じゃ接続の仕方がおかしい

841 名前:nobodyさん [2008/10/11(土) 23:41:28 ID:8WtsmSV0]
$mdb2 =& MDB2::connect("mysql://username:pass@hostname/tablename");
と記述しております。どこか間違えておりますでしょうか?

842 名前:nobodyさん [2008/10/11(土) 23:57:24 ID:8WtsmSV0]
記述ミスです。
$mdb2 =& MDB2::connect("mysql://username:pass@hostname/databasename");
です。

843 名前:nobodyさん mailto:sage [2008/10/12(日) 00:10:26 ID:???]
そのレン鯖のMySQLは外部接続を許可しているのか?
そうでないならlocalhostしか接続出来んだろ
phpMyAdminはレン鯖提供か、自スペースに置いたものだろ?(レン鯖ないで動くアプリはlocalhost接続)


844 名前:843 mailto:sage [2008/10/12(日) 00:14:23 ID:???]
ちょっと言い方が悪かったかもしれん
つまりホスト名に「localhost」以外を指定出来る設定になってるかどうか
普通は「mysql://username:pass@localhost/databasename」にする
(MySQLはユーザ名だけでなくホスト名もチェックする認証方式)


845 名前:nobodyさん [2008/10/12(日) 00:16:43 ID:cg/RVdaY]
セッションを利用するWEBページを見て回ってるときに、
そのセッションIDが自分のパソコンの中のクッキーに保存されていて、
そのクッキーを盗み出されたら、セッションIDがばれてしまって
なりすましされてしまうの?

846 名前:nobodyさん mailto:sage [2008/10/12(日) 00:40:17 ID:???]
サイトの対策次第
セッションIDと共にIPでのチェックもしてる場合は抑制されるし
サイトが未対策で、IDバレたらなりすまし可能(ヘッダーにIDを仕込むだけだし)


847 名前:nobodyさん mailto:sage [2008/10/12(日) 00:43:36 ID:???]
>>845
セッションハイジャックは都市伝説。
存在しないよ。

848 名前:nobodyさん mailto:sage [2008/10/12(日) 00:57:13 ID:???]
>>846
セッションIDが分かっても、鯖はコネクションが切れた時点でセッション内容を破棄するから
盗んだセッションでアクセスしても既に内容が無いんと違うか?

>>847
同意。セッションのフォルダは隠しフォルダだから外からアクセスできないし、外部から見るのは不可能だよな。

849 名前:nobodyさん [2008/10/12(日) 01:44:14 ID:kzFvqNLy]
おう、わいや、清原や。
お前ら、他のやつが作ったフリーのライブラリとか使う時に
自分のサイトで「○○さんのを使わせてもろたで」とか書くんか?
書かんでええやろ。どないやねん。はよ答えろや。



850 名前:nobodyさん mailto:sage [2008/10/12(日) 02:30:18 ID:???]
>>848

…こんな奴がいるからいつまでたってもPHPが馬鹿にされる

851 名前:nobodyさん [2008/10/12(日) 04:54:47 ID:kzFvqNLy]
おう、わいや、清原や。
PDF作ろうと思うとるねんけどFPDFは文字化けしてよう作られへんわ。

PHPのマニュアルに個人利用フリーで商用有料のモジュールあるんやけど
個人でアフィリエイトするサイトは商用になるんか?
そもそも商用って何やねん。
ウェブプログラマーになって他人のサイト作る事が商用?
会社で自社のサイト作るんが商用?
どないやねん。はよ教えろや。
というか外部の奴からは関数なんて分からんから商用やってもバレへんのちゃうか?

852 名前:nobodyさん [2008/10/12(日) 04:59:49 ID:LpzkFgnx]
     ____
   /__.))ノヽ
   .|ミ.l _  ._ i.)  
  (^'ミ/.´・ .〈・ リ   そんなこと知らんわ
  .しi   r、_) |  
    |  `ニニ' /   
   ノ `ー―i


853 名前:nobodyさん mailto:sage [2008/10/12(日) 05:14:04 ID:???]
>>851
ちんちん舐めて

854 名前:nobodyさん mailto:sage [2008/10/12(日) 06:31:27 ID:???]
>>852
星野に似てるな。

855 名前:nobodyさん [2008/10/12(日) 09:01:37 ID:B7DkksYv]
すいませんopenlab.ring.gr.jp/k16/htmllint/tagslist.cgi?HTMLVersion=XHTML11
タグ名とそのタグの属性名を正規表現で抜き出したいのですがうまくいきません
どなたかご教授おねがいします

$file = file_get_contents("openlab.ring.gr.jp/k16/htmllint/tagslist.cgi?HTMLVersion=XHTML11");

preg_match_all("/<dl>.*</dl>/",$file, $ary);

856 名前:845 mailto:age [2008/10/12(日) 09:50:14 ID:???]
うぜえ回答者はだまってろ!
わかるかた回答おね

857 名前:nobodyさん mailto:sage [2008/10/12(日) 10:20:47 ID:???]
>>855
正規表現で/使う場合はエスケープ
オプションで改行も全て含むやりかたがあるからやってみろ(mだかUだか忘れたけど)
.*を(.*?)にしてみろ、.*は最長マッチだが.*?は最短マッチだ

858 名前:nobodyさん mailto:sage [2008/10/12(日) 10:30:37 ID:???]
>>845
なりすましはセッションではなくSSLで使う言葉じゃね。
Session Fixationでググれ。

859 名前:nobodyさん mailto:sage [2008/10/12(日) 12:57:38 ID:???]
>>856
俺のチンコなめ回したら教えてやる。



860 名前:nobodyさん mailto:sage [2008/10/12(日) 13:30:21 ID:???]
>855
もうDOM使っちまえよ

861 名前:nobodyさん [2008/10/12(日) 13:53:51 ID:UTQYH/CT]
php.ini の以下の設定のコメントを外してもociドライバが認識されません(phpinfo()で確認)
extension=php_oracle.dll
extension=php_oci8.dll
extension=php_pdo_oci.dll

Oracle Database 10g Express Editionを使用してます。
どうしたら、認識されるのでしょうか?

862 名前:211 [2008/10/12(日) 13:59:14 ID:fXLt5ZTj]
>>861
Oracleのクライアントを入れていないんじゃない?

863 名前:211 [2008/10/12(日) 14:06:40 ID:fXLt5ZTj]
おっと。うっかり想像で書いてしまったぜ。

>>861
エラーログみたらなんか出てるんじゃない?
ロードに失敗しているなら、DLLをロードする時必要なファイルに
パスが通ってないとかそもそも必要なものがインストールされてないとか、、、

www.php.net/manual/ja/book.oci8.php


864 名前:nobodyさん [2008/10/12(日) 15:12:01 ID:kzFvqNLy]
おう、清原やけど、
数字を16進数や2進数にするんわ分かってんけど
文字を16進数や2進数にするんわどうしたらええの?
文字かて2進数にできるんちゃうか?
教えろや。はよしてや。急いでるねん。

865 名前:nobodyさん mailto:sage [2008/10/12(日) 15:15:31 ID:???]
asciiコードってこと?
全角だと文字コードによって変わっちゃうんだけど

866 名前:211 [2008/10/12(日) 15:20:51 ID:fXLt5ZTj]
要するに… 「文字」を「数字」にできればいいんだよね。
この変見ればやりたいこと書いてあるんじゃない?
www.php.net/manual/ja/language.types.type-juggling.php


867 名前:nobodyさん mailto:sage [2008/10/12(日) 15:32:26 ID:???]
>>864
急いでるなら、俺のチンチンを今すぐ舐めろ!

868 名前:nobodyさん [2008/10/12(日) 16:32:51 ID:ZWInd4bd]
変数展開をその場でなく任意の場所で行う
標準的な関数か方法はないでしょうか?

通常の変数展開は
$foo = 'bar';
echo "foo: {$foo}"; // => foo: bar

ですが
$hoge = 'foo: {$foo}'; // ここでは展開しない
$foo = 'bar';
echo func($hoge); // ここで展開する
// または echo func($hoge, array('foo' => $foo)); など

のような形にしたいです。
sprintf()の%sに名前を指定できる感じのものと言えばいいでしょうか。
よろしくお願いします。

869 名前:nobodyさん mailto:sage [2008/10/12(日) 16:36:35 ID:???]
そういうときのためにsprintfがあると思うんだが
もしくはeval



870 名前:861 mailto:sage [2008/10/12(日) 16:56:09 ID:???]
>>863
Oracle Instant Clientを落としてきて、中身をsystem32フォルダに入れたらうまくいきました。
ありがとうございました。たすかりました。

871 名前:nobodyさん mailto:sage [2008/10/12(日) 17:14:38 ID:???]
>>869
ありがとうございます。
sprintfは展開する順序が固定なのが少し困るところです。
evalは思いつかなかったので
初心者なりにevalを使って期待する関数をつくってみました。
こういった感じの標準的な関数・方法はないでしょうか?

function interpolate($str, $args) {
extract($args);
return eval('return "' . $str . '";');
}

$hoge = 'foo: {$foo}';
$foo = 'bar';
echo interpolate($hoge, array('foo' => $foo)); // foo: bar

872 名前:868 [2008/10/12(日) 17:16:11 ID:ZWInd4bd]
すみません。>>871は868です。

873 名前:211 [2008/10/12(日) 17:19:51 ID:fXLt5ZTj]
標準的かどうかはよくわからないけど、変数を展開させることに拘らなければ
str_replace かその関係の関数が簡単なんじゃないかな?
echo str_replace(array('$foo'),array('bar'),$hoge);
みたいな。
jp2.php.net/manual/ja/function.str-replace.php


874 名前:868 [2008/10/12(日) 18:18:51 ID:ZWInd4bd]
>>873
ありがとうございます。
str_replace()やpreg_replace()はすべての引数で配列を指定できるのですね。
1つずつの文字列しか引数に取れないと思い込んでいたので
勉強になりました。

配列の中身の展開("{$baz[0]}"など)が必要にならない限り
これを使っていきたいと思います。
皆さんありがとうございました。

875 名前:nobodyさん mailto:sage [2008/10/12(日) 20:15:22 ID:???]
トーシロなんだけど
このページの
www.phppro.jp/school/phpschool/vol12/2


if (isset($_POST["title"]) && $_POST["title"])
って入力確認だけど、なんでissetで事足りるように見えるのに後ろに余計な物付け足してるん?
念のため聞くけど、後ろのは入力されてたらTRUEを返すんだよね?

なんか見苦しくてすまない、回答いただけるとウレシス

876 名前:nobodyさん [2008/10/12(日) 20:19:57 ID:qbuV3HNr]
ごめんID出し忘れた

877 名前:nobodyさん mailto:sage [2008/10/12(日) 20:20:37 ID:???]
>>875
0

878 名前:nobodyさん mailto:sage [2008/10/12(日) 20:28:59 ID:???]
つかissetだけでいいわな

879 名前:211 [2008/10/12(日) 20:29:53 ID:fXLt5ZTj]
「入力されてたらTRUE」の認識は正しいと思います。
何でよけいだと思ったのかな。



880 名前:211 [2008/10/12(日) 20:36:51 ID:fXLt5ZTj]
あ。ごめん。俺間違ってる。
875の書き方も、877の事を考慮すると間違ってる。

881 名前:nobodyさん [2008/10/12(日) 20:37:46 ID:qbuV3HNr]
回答どうもです。
これってissetだけじゃ駄目なんですかね?

882 名前:nobodyさん [2008/10/12(日) 20:38:52 ID:qbuV3HNr]
あ、そういう事か
0だと入っててもFALSEかなんかになるんですよね
回答どうもです

883 名前:nobodyさん mailto:sage [2008/10/12(日) 20:46:54 ID:???]
なんねーよissetは

884 名前:nobodyさん mailto:sage [2008/10/12(日) 20:49:37 ID:???]
0だとisset通るけど後方で引っかかる
array()も同じく

885 名前:nobodyさん [2008/10/12(日) 21:05:30 ID:cg/RVdaY]
WEB系ってある程度きわめると
勉強することなくなるの?

886 名前:nobodyさん mailto:sage [2008/10/12(日) 21:08:42 ID:???]
んなわけねーだろ。

887 名前:nobodyさん [2008/10/12(日) 21:12:53 ID:cg/RVdaY]
wiki.bit-hive.com/tomizoo/pg/PHP%20CLI%2FCGI%20SAPI

ここに、PHPのCGI版は、実行時に
HTTPヘッダを自動で送信している、って
書いてあるけど、
自分はPHPのモジュール版を使っているのだが、
この場合はHTTPヘッダを自動で送信しているのかな?
それともしていないのかな?

888 名前:211 [2008/10/12(日) 21:32:59 ID:fXLt5ZTj]
使っているのなら自分で確認できませんか?

889 名前:nobodyさん mailto:sage [2008/10/13(月) 01:00:05 ID:???]
>>875
そのURLは面倒なので見てないが、変数定義があるかどうかを調べた後にその変数の正当性を調べるのは、
何らおかしい事ではないというかむしろ普通。

PHPはそこら辺いい加減な言語だから別に好きにすりゃいいが、変数が定義されているかどうか分からないケースの場合、
先にisset()で調べた方が、実行速度は上がるケースがある。未定義の変数の参照は遅い。

if (isset($_POST["title"]) && $_POST["title"]) だと、$_POST["title"]が未定義ならその後の処理は実行されない。
if ($_POST["title"]) だと、$_POST["title"]が未定義の時に遅い。まぁマイクロ秒単位の世界だがw



890 名前:nobodyさん mailto:sage [2008/10/13(月) 01:02:20 ID:???]
なんで isset($_POST["title"] だけではだめなの?

891 名前:nobodyさん mailto:sage [2008/10/13(月) 01:48:34 ID:???]
みんな回答ありがとう

892 名前:211 [2008/10/13(月) 07:30:16 ID:2R92n/wD]
>>890
だめかどうかは知らないけど、
isset($_POST["title"])

$_POST["title"]!=""
は意味(結果)が違うからね。
必要に応じて使えばいいと思う。

893 名前:nobodyさん mailto:sage [2008/10/13(月) 07:38:41 ID:???]
じゃstrlenにすれば一発でできんじゃん

894 名前:nobodyさん [2008/10/13(月) 07:46:42 ID:CGfh2V74]
phpファイルで
<html>
<head><title>PHP TEST</title></head>
<body>
<?php
require_once(DB.php);

?>
</body>
</html>
というのを作ってapacheで実行したら
エラーが出ました

Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\atest.php on line 7

Fatal error: require_once() [function.require]: Failed opening required DB.php (include_path=.;c:\php\includes;c:\smarty\libs) in C:\Program Files\Apache Group\Apache2\htdocs\atest.php on line 7

と書かれていたのでC:\WINDOWS\php.iniの
include_path = .;c:\php\includes;c:\smarty\libs
を確認したのですが違いはなかったようです

どうすればよろしいでしょうか?

895 名前:nobodyさん mailto:sage [2008/10/13(月) 07:50:19 ID:???]
PEAR入れれ

896 名前:nobodyさん [2008/10/13(月) 08:05:13 ID:CGfh2V74]
>>895
え?入ってないってことですか?
入れたはずなんですが

897 名前:nobodyさん mailto:sage [2008/10/13(月) 08:07:59 ID:???]
include_pathがそれでいいのか良く見て考えれ。終了。

898 名前:nobodyさん [2008/10/13(月) 08:20:52 ID:CGfh2V74]
>>895>>897のどっち?
pearは入れたはず
include_pathはとりあえず言われたのをやったんですけども
pear導入のときから少し変えた
なにを入れたらいいの?

899 名前:211 [2008/10/13(月) 08:51:11 ID:2R92n/wD]
>>898
警告メッセージってコピペですか?
require_once の引数はそれで正しいですか?



900 名前:894 [2008/10/13(月) 09:13:10 ID:CGfh2V74]
レスありがとうございます

コピペです
require_onceの引数ですが
c:\php\pear\DBなので間違いではないと思います

901 名前:211 [2008/10/13(月) 09:26:59 ID:2R92n/wD]
>>900
> コピペです
私の理解では、DBとphpが定数定義されていない限り、
require_once(DB.php);

require_once("DB"."php"); つまり require_once("DBphp");
という動きをします。

しかしそうだとすると、894の警告と食い違うので聞きました。
手で打ち直してないですか?

二つめの質問もつまりそういうことです。

もし私の理解が正しくなくて、require_once が DB.php を
開こうとしているなら、DB.phpが include_pathで指定されている
ディレクトリのどこかにあるかどうか確認すればよいと思います。

あるいは、require_onceの引数にパスを含めて指定することも
できると思います。


902 名前:894 [2008/10/13(月) 10:38:31 ID:CGfh2V74]
ありがとうございます
一度帰宅してやってみます
詳しく書いて頂き大変感謝してます

いつもここのスレは丁寧な方が多くて嬉しい限りです

903 名前:nobodyさん mailto:sage [2008/10/13(月) 12:24:01 ID:???]
>>892
もしかすると
gettypeでstringの場合とstrlenで1文字以上をチェックすれば完璧じゃね?

または(string)で強制的にstringに置き換えてstrlenでチェック


904 名前:211 [2008/10/13(月) 12:37:29 ID:2R92n/wD]
>>903

>>889 で書かれていることは知らなかったけど、そういうこともあると思う。
自分で isset($_POST["title"]) && $_POST["title"]!="" とか書くときの
isset は Notice が出ないようにするためだな。

905 名前:nobodyさん mailto:sage [2008/10/13(月) 12:40:44 ID:???]
>>903
>>893






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef