【PHP】下らねぇ質問はID出して書き込みやがれ 74 at PHP
[2ch|▼Menu]
[前50を表示]
550:たま ◆ExGQrDul2E
08/10/03 04:14:44 hbK/EmaX
>>549
携帯で
URLリンク(sameha.net)
にアクセスしてください。
拒否されているのですよ...
どうやっているのでしょうか...

551:たま ◆ExGQrDul2E
08/10/03 04:15:43 hbK/EmaX
携帯でとういうのは、携帯で串を経由して
という意味です。
わかりにくくてすいません。

552:nobodyさん
08/10/03 04:28:08
逆引きできるか調べて見れ

553:nobodyさん
08/10/03 04:47:08 agLBvyd6
掲示板のログを保存する場合、データベースを使う方法と、
テキスト形式のログファイルに書き込む方法があると思いますが、
両者の利点、欠点は何ですか?

554:nobodyさん
08/10/03 04:49:20
ぐぐれば一瞬で分かんだろ

555:nobodyさん
08/10/03 04:50:44
>>553
ファイル形式に保存する場合は、容量はOSの制限を受けるため、
上限が生じるのが欠点ですが、速度が速いのが利点。

逆に、データベースに保存する場合、容量が2PB(2PTとは2000TBのこと)と実質上容量の制限が
ないのが利点ですが、速度が遅いのが欠点かな。

556:553
08/10/03 05:08:55
>>555
素早く、かつ大変ご丁寧なレスをありがとうございます。
ポイントは「速度」と「ファイルの容量」なのですね。

ということは、例えば「1月の書き込み」「2月の書き込み」…などと
ファイルを分けて保存すれば、1つ1つのファイルの容量は大きくならないので、
ファイル形式で十分ということでしょうか?

(正直、データベースの使い方がよく分からないので、
ファイル形式で良ければそれで済ませたい、という思いから質問させていただいてます)

557:nobodyさん
08/10/03 05:13:16
一度DB使ったらログファイルなんて使ってらんないな

558:nobodyさん
08/10/03 05:20:21
>>556
いいえ違います。
DBは膨大なデータを扱うことを想定して設計されているので、
データが多くなれば多くなるほどDBのほうがデータの検索速度は高速です。
ファイルの場合、ファイルシステムにもよりますが、データの検索速度はDBに比べ低速です。
またファイルの場合、効率的に読み込む手段が用意されていない言語の場合、
データが多くなると読み込みだけで時間を要します。
ファイルの利点はSQLを必要としないことぐらいです。
これはSQLを覚える必要がないのと、
SQLインジェクション等のSQL特有の攻撃を意識しなくてすむことぐらいです。
特段理由がなかったらDBを使うべきです。

559:553,556
08/10/03 05:42:13
>>558
分かりやすいレスでとても感謝しています。
DBの利点がよく理解できました。

今日からDBを勉強することにします。
どうもありがとうございました。

560:nobodyさん
08/10/03 06:07:45
>>558
2chがどうして、DBを使っていないのか、そこからお勉強しましょう。
明らかに経験不足です。

561:553
08/10/03 06:21:24
>>560
すみません、>>559で書き込んだ手前、質問しにくいのですが、
理由を教えていただけますでしょうか?簡単で構いませんので・・・。
2chはdatファイル(=テキストファイル?)ですよね。

また、検索や読み出し(ログの表示)をあまり必要としない場合は、
データベースの利点は少ないということでしょうか?

562:nobodyさん
08/10/03 07:32:23
>>561
2chがどうして、DBを使っていないのか、そこからお勉強しましょう。
明らかに経験不足です。

563:nobodyさん
08/10/03 08:00:21
>>562
2chってDB管理だと思ってた
専ブラで取得しやすいようにdatでも見れるようにしてるのかと・・・

564:nobodyさん
08/10/03 08:03:43
DBは「有能な協力者を1人雇う」と考えればいい。
便利だが、いろいろ気遣いも必要になる。

datファイルの場合は、少し心細いが好きなようにやれて小回りがきく。

565:nobodyさん
08/10/03 08:27:22
>>562
どうみても経験不足はあなたです。
本当にありがとうございました。
2chがどうしてDBを使ってないのか説明してみw

566:nobodyさん
08/10/03 08:43:29
>>565
てめぇの馬鹿さ加減には、父ちゃん情けなくて涙が出てくらぁ

567:nobodyさん
08/10/03 08:45:08
>>566
ごめんね馬鹿なのw
だからどうして2chがDB使ってないか説明してよw

568:nobodyさん
08/10/03 08:50:18
>>567
2chがどうして、DBを使っていないのか、そこからお勉強しましょう。
明らかに経験不足です。

569:nobodyさん
08/10/03 08:51:33
ルールを守ってない時点でお前は質問者じゃない。ただの玩具。

570:nobodyさん
08/10/03 08:54:42
>>582
2chは負荷かかるし検索機能とかないだろ
ただ書き込んで表示してるだけ
ようするに掲示板につける機能によりけり
2chの話を出すのはマヌケ
あとあと掲示板にいろいろな機能を持たせたいのなら
最初からDBで設計しておいたほうがいい
2chは速さを追求した結果前時代的なシステムで拡張が困難

571:nobodyさん
08/10/03 08:55:44
>>582に期待

572:570
08/10/03 08:57:51
>>562
顔洗ってくる

573:nobodyさん
08/10/03 09:05:34
>>570
色々とピント外れだな。

> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。

574:nobodyさん
08/10/03 09:13:45
>>561
DBに興味があるならやってみなよ
両者の比較なんて大規模システム運用するわけじゃないんだから
パフォーマンスに目に見える差異は出てこない
ファイルは専用の関数だけ覚えれば扱えるけど
DBはいろいろ覚えることがあるから
どういうものか触れて勉強するのもいいと思う
Rapid開発になるとフレームワークを使うようになるし
そうするとDBが必須になってくるからね
慣れれば高速に開発できるのもDBの利点

>>573
だって無いだろ

575:nobodyさん
08/10/03 09:21:00
> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。
> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。
> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。
> 2chは負荷かかるし検索機能とかないだろ
冒頭から間違っているし。

576:nobodyさん
08/10/03 10:09:02
2chは負荷かからず、検索機能とかがある説が急上昇

577:nobodyさん
08/10/03 10:16:28
find.2ch.net

578:nobodyさん
08/10/03 10:22:59
>>577
何ゆえにPHP版を

579:nobodyさん
08/10/03 10:29:20
>>577
投稿をDBにいれるのと、
検索エンジンがインデックスをDBに作るのとはまた別の話だろ

580:nobodyさん
08/10/03 10:32:24
>>579
誰も同じ話とは言っていないような???

581:nobodyさん
08/10/03 10:33:20
>>576
しまいにはDB使わずナマズさん使ったほうが速いお
とか言いだしそうだな(わらう)


582:nobodyさん
08/10/03 10:37:06
>>579
find.2ch.netがDBかどうかなんて話してないだろw

583:nobodyさん
08/10/03 10:49:34
ひろゆきや狐やrootがDB分かんないからログファイルなんじゃね

584:nobodyさん
08/10/03 10:55:46
>>583
お前は本当にその3人だけでやってると思ってんのか?
ってか、ひろゆきはDBわかるだろ

585:nobodyさん
08/10/03 11:45:30
ドラゴンボールが何だっての?

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

587:nobodyさん
08/10/03 12:20:21
好きにしろ

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

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

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

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

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

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

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

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

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


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


595:nobodyさん
08/10/03 18:38:33
>>589
その説明は、俺がmy.cnfの設定方法を含めて前レスで詳しく説明したから、
それを見てくれ。

596:211
08/10/03 19:14:51 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
08/10/03 19:23:49 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さん
08/10/03 19:25:49
自分のblogに書いといてくれ

599:nobodyさん
08/10/03 19:26:25
ごくろうさん

600:211
08/10/03 20:00:31 XpYjXbv/
すみません。。。
スレリンク(mac板)
に似たような事例があって、いくつかわかりました。
標準でインストールされている httpd は x86_64 で動作しているようです。
アクティビティモニタ上で "Intel (64ビット)" と表示されていました。

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

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

601:nobodyさん
08/10/03 20:28:26
嫌がらせか

602:588
08/10/03 21:05:21
>>593
どうも同一のセッションIDを送ってくれるので、大丈夫ということを知り安心しました。

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

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

603:nobodyさん
08/10/03 22:38:52 19ebb2MR
$array[0]["name"]
$array[1]["name"]
$array[2]["name"]

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

604:nobodyさん
08/10/03 23:42:28
機能別にすることもあるし分けないこともある。
本体とログとかさらにいくつもファイル複数あるなら分けたほうがいい気はする。

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

606:nobodyさん
08/10/04 00:02:17 qepvww6d
フレームワーク使ってるかってどうやってわかるんでしょうか?

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

608:nobodyさん
08/10/04 00:29:35 qepvww6d
>>607
なるほど。 ご回答ありがとうございました

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



610:nobodyさん
08/10/04 11:25:40
>>609
ファイル数が多いならrequire_onceよりrequireを。
onceは重複チェックの分オーバーヘッドがrequireよりありんす。


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

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

612:nobodyさん
08/10/04 16:23:54 qMLHDr64
URLリンク(wink.pncn.net)

ここに、

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

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

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



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

615:nobodyさん
08/10/04 17:28:26 qMLHDr64
自己解決した。
URLリンク(oshiete1.goo.ne.jp)
↑ここに書いてあった。

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

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

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

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

617:nobodyさん
08/10/04 17:50:17
スレチだが、今でもレン鯖ってPHP4使ってるとこが多いよな
4のサポートもう終わってるんだし5にしてくれよと思う

618:nobodyさん
08/10/04 17:53:44
>>615
自分の入れるのがどっちなのかくらい分かってから使おうぜ・・・
>>617
運営に頼むか、そんなひどいとこは使わないのが吉。

619:nobodyさん
08/10/04 18:01:54
>>618
いや、まだまだ殆どのとこが4じゃないかな
たとえ使えてもFTP接続先が/public_html/直下だったり結構ひどいとこばかりだわ

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

620:nobodyさん
08/10/04 18:05:36
殆どのとこって例えばどこ?

621:nobodyさん
08/10/04 18:25:57
>>619
PHP可と書いてるところで登録してみたらPHP4だったーってのはよくあるな

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


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

622:nobodyさん
08/10/04 18:27:49
覚えてないくせに「殆どのとこがPHP4じゃないかな」とかwww

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

624:nobodyさん
08/10/04 19:02:55 qMLHDr64
URLリンク(lh.gamesns.jp)
これってどうやるの?

625:nobodyさん
08/10/04 19:12:43
captchaでググれ

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

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

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

627:nobodyさん
08/10/04 21:04:14
ページをphpで作ればいいじゃん

628:626
08/10/04 21:34:46 Ac3kpf8k
>>627
ページは原則的に静的という縛りがあります、すみません。

629:nobodyさん
08/10/04 21:35:45
なぜに?
あと画像を出力したくない理由は?
どうでもいいことは書いてるけど必要な情報が足らん

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

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

631:nobodyさん
08/10/04 22:04:33
>>630
やったことないけど
JavaScriptとしてPHPで読み込んでみてはどうかな?

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


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

633:nobodyさん
08/10/05 05:46:20
たんに>>631のhtmlのミスだな
まぁそこはどうでもいいか

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

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

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

636:nobodyさん
08/10/05 19:27:23
テンプレ読まないやつは帰っていいよ

637:nobodyさん
08/10/05 19:38:09 BsaGVD4F
URLリンク(w1.nirai.ne.jp)

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

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

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

638:nobodyさん
08/10/05 19:47:25 BsaGVD4F
URLリンク(www.php.net)

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

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

640:nobodyさん
08/10/05 21:28:43
いや別に?

641:nobodyさん
08/10/05 21:29:17 BsaGVD4F
URLリンク(www.sound-uz.jp)

ここ読んだら、

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

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

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

642:nobodyさん
08/10/05 21:32:21
CGI版で使うならある

643:nobodyさん
08/10/05 21:40:38
PHPスクリプトにファイル作成をさせたりするなら、必要になることも。

644:nobodyさん
08/10/05 21:49:03 BsaGVD4F
なんで、Apacheモジュール版のことを、DSO版って呼ぶの?

645:nobodyさん
08/10/05 21:51:45
ApacheのDSOって仕組み使ってるから

646:KillYouHag ◆KillYouHAg
08/10/05 22:12:26
|(-_-)|

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

648:nobodyさん
08/10/06 00:25:50
もち。sqliteはまだ新しいので、解説が少ないだけ。

649:nobodyさん
08/10/06 00:44:53
>>638
必要になったら読むに決まってるだろ
君はセンスがなさそうだから他のことやったほうがいいよ

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

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


651:nobodyさん
08/10/06 12:23:04
そのファイル何MBなの?

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

653:nobodyさん
08/10/06 12:33:17
じゃ気にしなくておk

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


655:nobodyさん
08/10/06 13:40:08 szIkgH26
URLリンク(php.dori-mu.net)

↑ここに、

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

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

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

656:nobodyさん
08/10/06 13:45:05
そんな鴨を釣るための方便

657:nobodyさん
08/10/06 14:18:23
IDEならPDTやaptanaがあるじゃん、釣られんなよ
しかも「PHP4は早いんです!」・・・ワラタ
PHP5の影もない頃の記事だな

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

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

659:nobodyさん
08/10/06 16:27:05
質問。
--------------------------
<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さん
08/10/06 16:30:53
>>658
URLリンク(www.komonet.ne.jp)
URLリンク(www.scollabo.com)

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

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

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

662:658
08/10/06 16:36:38 /7mWgEQF
>>660
ありがとうございます
ただそのあたりは理解してるつもりです。

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

663:658
08/10/06 16:39:49 /7mWgEQF
自己解決
可変ね

お騒がせしました

664:nobodyさん
08/10/06 16:41:22
急に態度でかくなってワロタ

665:nobodyさん
08/10/06 16:53:21
>>659
「んだが」使いすぎ。


666:nobodyさん
08/10/06 16:58:10
そこにツッコむとは通だな

667:2ch偽”管理”人 ◆2ch.net/cU
08/10/06 17:45:16
(´・ω・`)

何げに神酉

668:nobodyさん
08/10/06 17:50:47
>>662
スカラー変数じゃない?

669:nobodyさん
08/10/06 17:53:03
>>668
いや、明らかな可変関数ですが

670:nobodyさん
08/10/06 17:58:49 szIkgH26
URLリンク(zen-cart.jp)
ここみたら、xreaって
register_globalsがOn
みたいなんだけど、バカなの?死ぬの?

671:nobodyさん
08/10/06 18:01:42
古いサーバでしょ

672:nobodyさん
08/10/06 18:07:18 J8jNqfv3
URLリンク(screenshots.jp)

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

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

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

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

673:nobodyさん
08/10/06 18:10:46
先が思いやられる・・・

674:nobodyさん
08/10/06 18:15:43
>>バックエンドにXやらwinやらがないと出来ん
エンジンだけで正確なキャプチャは取るのは神業だからな

675:nobodyさん
08/10/06 18:46:29 J8jNqfv3
>>674

ありがとうございます。

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

676:nobodyさん
08/10/06 19:13:23 szIkgH26
おまいらHTMLエディター、何使ってる?

677:nobodyさん
08/10/06 19:15:46
なぜPHPは除外?

678:nobodyさん
08/10/06 19:22:34
>>676
メモ帳

679:nobodyさん
08/10/06 19:25:24
メモ帳

680:nobodyさん
08/10/06 19:29:27
メモ帖

681:nobodyさん
08/10/06 19:49:37
getで、
.php?id=123456
みたいなのじゃないくて

2chのスレみたいに

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

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

682:nobodyさん
08/10/06 19:52:09
>>1

683:nobodyさん
08/10/06 19:53:22
>>659
どっちもできるのに何故RFCで決めなければならんのだ

684:nobodyさん
08/10/06 20:02:26 F1nMmuDg
あだるとびでおの編集とかにぴーえいちぴーは、つかわれていますか?

685:nobodyさん
08/10/06 20:03:52
使われていまsん

686:nobodyさん
08/10/06 20:07:14 rKAl3ZIy
サーセン。

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

2chのスレみたいに

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

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

687:nobodyさん
08/10/06 20:14:53
できまsん

688:nobodyさん
08/10/06 20:15:09
テンプレ出したとこで申し訳ないがphpとは全く関係ない罠
mod_rewriteで調べてちょうだい

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

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

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

690:nobodyさん
08/10/06 20:25:34 rKAl3ZIy
>>687

cgiなら出来る?

691:nobodyさん
08/10/06 20:31:29 rKAl3ZIy
mod_rewriteググったら解決出来そうだった。

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

thx!!

692:nobodyさん
08/10/06 20:41:33
>>689
PDT

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

694:nobodyさん
08/10/06 20:50:32
>>693
メモ帳wwwwwwwwww
好きに文字コードを指定して保存できる素晴らしいツールですね^^

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

696:nobodyさん
08/10/06 21:00:45 szIkgH26
自分のイメージだと、
はhtml編集ソフト。
PHPはPHP専用のIDE

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

697:nobodyさん
08/10/06 21:01:30
ふ、甘いぜ。漢なら、Emacs で打ちこみだろう。

698:nobodyさん
08/10/06 21:09:21
俺は自社製のソフト使ってる
フローチャート書けば自動的にスクリプトにしてくれるから便利

699:nobodyさん
08/10/06 21:15:32
>>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さん
08/10/06 22:39:10
>>699
そんなコードかかねーからw

701:nobodyさん
08/10/06 23:56:26 szIkgH26
スレリンク(php板:720番)

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

702:nobodyさん
08/10/07 00:04:09 xy9SRLMk
暇だから答えるか。。

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

703:nobodyさん
08/10/07 00:04:26
>>700
書くだろ
>>699を理解できないのはロジックが分離できてない証拠

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

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

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

706:nobodyさん
08/10/07 01:31:01 CqpiE/lL
クッキーです。


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

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

708:nobodyさん
08/10/07 13:10:28
>>701
出来るよ

709:nobodyさん
08/10/07 13:57:53
し・・・下らねぇ

710:nobodyさん
08/10/07 14:01:56
個人なら一緒でもいいんじゃね
分けると重くなるし

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

712:nobodyさん
08/10/07 14:04:40
フレームワーク使って>>699のような書きかたも普通にするわ

713:nobodyさん
08/10/07 14:44:20
>>699 普通のPG
>>707 フレームワークしか触ったことの無い底辺PG

↑FA?

714:nobodyさん
08/10/07 14:48:43
難しい言葉や一通りいろいろなものには触ってはいるが
本質的なことを理解していないタイプなのだろう

715:nobodyさん
08/10/07 21:25:43 4E7CA6TZ
学習計画なんだけど、
素のPHPに1ヶ月、
smartyに1ヶ月、
cakephpに1ヶ月、

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

716:nobodyさん
08/10/07 21:28:52
別に・・・

717:nobodyさん
08/10/07 21:35:53 4E7CA6TZ
あ、もしかしたら、PEREってのも勉強しないといけないの?

718:nobodyさん
08/10/07 21:35:56
>>715
他の言語経験者ならいいんでない?

719:nobodyさん
08/10/07 21:41:56
なんでも予定通りには行かないだろうからとりあえずヤってみるべし

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

720:nobodyさん
08/10/07 21:42:09
>>715
長すぎ

721:nobodyさん
08/10/07 21:42:25
>>719
PEARのことだと思われ

722:nobodyさん
08/10/07 22:12:54
>>715
せいぜい一週間だろ

723:nobodyさん
08/10/07 22:36:38 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さん
08/10/07 22:39:54
何をやっとんじゃ

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

726:nobodyさん
08/10/08 01:45:48 ij2fkFmB
アンケートをためしに作っているのですが

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

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

727:nobodyさん
08/10/08 02:12:39
変換する関数と取り除く関数じゃん

728:nobodyさん
08/10/08 02:23:16 ij2fkFmB
>>726
すいません。書き忘れました。

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

729:nobodyさん
08/10/08 02:33:36
strip_tagsのタグの除外方法に問題があります。
onmouseoverとかのイベントハンドラをタグに入れてかけてごらん。

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

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


732:nobodyさん
08/10/08 06:33:06
>>731
その通りです。4つ画像作るということは、
4回もHttp RequestがWeb Serverに対して発生するということですよ。

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

お騒がせしました。

734:nobodyさん
08/10/08 07:50:07
そんなことより、
URLリンク(cms.c-okinawa.co.jp)

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

735:nobodyさん
08/10/08 07:53:47
>>734
kwsk
SQLインジェクションでもされたか

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

URLリンク(72.14.235.104)

737:nobodyさん
08/10/08 08:31:02
しかも、そのページキャッシュの下にある、これは何だ。
こんなバグばかりの自社ページw

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

738:nobodyさん
08/10/08 08:34:44
まぁ沖縄だからな
都内と比べて技術者が劣るのは否めない

739:nobodyさん
08/10/08 08:36:00
裏を返せば、東京でプログラマーやっていれば、
沖縄でプロマネとか出来るってことか?

740:nobodyさん
08/10/08 08:45:47
CMSの管理アカウントが洩れたんだろうね。
技術力というよりは、管理力の問題かな。

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

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


742:nobodyさん
08/10/08 08:55:09
>>741
ソース出した方が、解決早いよ。

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

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

744:nobodyさん
08/10/08 09:37:13 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: URLリンク(localhost)

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


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

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

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

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

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

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

748:nobodyさん
08/10/08 12:36:58
Pear::Benchmarking_Benchmarkでも使ってみたら

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

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

751:nobodyさん
08/10/08 13:03:33
エスパー呼んで来い!

752:nobodyさん
08/10/08 14:52:41
ふつうに再帰呼び出しのバグのような...


753:nobodyさん
08/10/08 14:55:49
>>744
>arrayList.phpはたくさんの配列が定義されていて

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

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

754:nobodyさん
08/10/08 16:06:32
文字コードの変換についての質問です
対象となる文字を書き込むと文字化けするようですので以下のURLの検索結果を見ていただけますでしょうか
URLリンク(www.google.co.jp)

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

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

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

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

OS:WindowsXP
phpは5.2.5を使用

755:754
08/10/08 16:08:37 l2gN2Unr
すみません。age忘れました・・

756:nobodyさん
08/10/08 16:22:07
中国語じゃないの?

757:nobodyさん
08/10/08 20:36:06
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
08/10/08 20:37:40 AijBw8uq
すいません。ID出してませんでした。

759:nobodyさん
08/10/08 20:37:47
>>757
>>1

760:nobodyさん
08/10/08 20:40:30
>>758
URLリンク(www.google.com)

761:nobodyさん
08/10/08 20:54:08 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さん
08/10/08 21:08:44
BOM

763:たまちゃん ◆ExGQrDul2E
08/10/08 21:20:35 EssfW95q
PHP 正規表現

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

test.jpg

1234.test.jpg

テスト.jpg

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

$test = 'test.test2.gif';

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

$filename = $test[1];

}

では全然ダメでした。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4079日前に更新/235 KB
担当:undef