△▲ WebProg 初心者の質問 Part11 ▼▽
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/28 18:58:29ID:???質問したいけど、どうしたら良いか分からない。
そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。
質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。
2ch 総合ガイド
http://www.2ch.net/guide/
お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。
関連情報は
>>2-3
前スレ
△▲ WebProg 初心者の質問 Part10 ▼▽
http://pc5.2ch.net/test/read.cgi/php/1095633323/
0696nobodyさん
05/02/07 16:41:18ID:???おまい何でそんなに必死なん?
もしかして自信ないのか?
まあいいが、SSLの話なんてスレ違いだからこれ以上話を引っ張るなよ。
0697nobodyさん
05/02/07 17:12:46ID:???あながちすれ違いともいいきれんが、まあそれはそれ。
>>700 ゲットした貴方、>>686 立ててくれませんか。お願い。
0698682
05/02/07 18:12:35ID:???0699682
05/02/07 18:15:33ID:???0700nobodyさん
05/02/07 18:35:57ID:???あれはいわゆる「Webサービス」で、Soapベースでクエリを出すと本のデータを返してくれる。
Googleアドセンスなんかは勝手にページを解析してそれに応じた広告を返してくれるようだ。
いずれもオフィシャルの開発ツールを使う。
>いろんなニュースサイトの最新ヘッドラインを自動的に集めてまとめて表示してる
アンテナ系のサイトのことなら、専用の更新チェッカが配布されているのでそれを使っている
ケースが多かった。最近のニュースサイトはヘッドラインをRSS・RDFで公開しているので、これを
拾ってきて表示している。(ex. http://www3.asahi.com/rss/index.rdf)
>例えば2CH内に張られている画像へのリンクを取り出して
ブラウザで見るなら、正規表現でリンク抽出してインデックスを作り、HTMLに吐き出すというのが
基本になるかな。
HTMLじゃなくてDATを取得したほうがいいけど、2chの鯖は少々癖があるので試行錯誤が必要。
まあ気長に。
0701682
05/02/07 19:12:10ID:???なるほど。最近Webプログラムはじめたばっかりなので
どうやってんのかなと不思議に思ってたんですが、なんとなく分かってきました。
キーワード盛りだくさんもらえたので調べていきます。
ありがとうございました。
0702nobodyさん
05/02/07 19:17:11ID:???ヘイおまへさんは Html Xml なんて書くのかい?もぞもぞするぜ
0703nobodyさん
05/02/07 21:57:08ID:cTZtZ9Ghおまい楽しい奴だなぁ・・・。
0704nobodyさん
05/02/08 08:25:31ID:sLyEiyJdミソはどうやって親子関係を記述するかだと思いますが・・・。
0705nobodyさん
05/02/08 08:56:29ID:???あるサイトのリンクの抽出をする際、カテゴリにどのように
分類すればいいのか分からなかったがおまいのおかげで解決できそうだ
ありが�d
0707nobodyさん
05/02/08 13:03:01ID:???親子関係を扱うには木構造が便利なので、まず「木構造」でググって概念を把握。
「実装 (言語名)」を加えれば、運がよければ実装例も見つかる、と。
# 暇があればグラフ理論あたりを齧ると、木構造の理解も深まる。
0708nobodyさん
05/02/08 13:29:31ID:???0709nobodyさん
05/02/08 13:36:31ID:???0710697
05/02/08 15:03:01ID:???ありがとうさんです!
回答する出番なかったかorz
多分RSSの話かな。
http://php.s3.to/net/
http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS
http://kenbo.net/tenki/tenki_rss.html
リモーティングでnusoapなら使ったことあるけど。
0711nobodyさん
05/02/08 15:39:23ID:8lKFLLdk今度プレゼント企画を行うことになりましたので、それのCGIが必要になりました。
一応私自身Perlで簡単なCGIなら組めますが、もし既存のCGIがあるならそっちを
使ったほうが早いかなと思って、ここにたずねにきました。
プレゼント商品情報
+
簡単なアンケートと住所などの入力フォーム
で、それをファイルに書き込むような感じで当選が誰かを選ぶのあたりまでも
やってくれるものがいいです。
入力情報などはMySQLに突っ込みたいので、どちらにしてもちょこちょこ改造するので
すが外枠だけでもあると楽なので、何かしってるのありましたらお願いします。
0713711
05/02/08 15:47:35ID:8lKFLLdkすみません。この板でcgiで検索はかけたんですが・・・
web板だったんdすね。
そちらに言ってきます。それでは失礼しました。
0714nobodyさん
05/02/08 17:55:04ID:???例えば掲示板を作るとすると、
文字をtxt等に書き込む・・・1.php
そのtxtを表示させる・・・2.php
1.php+2.php・・・掲示板スクリプト完成。
こんな感じですよね?こんなに単純では無いでしょうが。。。
0715nobodyさん
05/02/08 18:00:39ID:???システムをどんな要素から構成するか、ということとファイル構成は無関係。
ログの読み書きやプレゼンテーションといった要素に分割して実装するのはよい方法。
うまく分割しておくと、状況に応じて部分だけとりかえたり、再利用できたりする。
分割の仕方はいろいろセオリーがあるが、おいおい学べばいいかと思われ。
0716nobodyさん
05/02/08 18:10:26ID:???手続きベースでファイルを分けるってことは普通はしない。
ファイルを分けるのは、関数やクラスを外部化したいとき。
2chは表示用のread.cgiと書き込み用のbbs.cgiとなってるが、
これはユースケースに基づいてユーザが触る部分をそのまま
ファイル構成に落としただけ。
まあ結局は設計次第。BBSは糞スクリプトが多いから、
偏った知識を身につけないよう。
0718nobodyさん
05/02/08 18:34:19ID:???regist_form.php、regist_confirm.php、regist_do.php
[第2段階]
regist.php?mode=[form,confirm,do]
delete.php?mode=[confirm,do]
[第3段階]
edit.php?mode=[regist,delete,modify]&action=[confirm,do]
てな感じか。
そしてMVCという考え方に気づく、と。
0719nobodyさん
05/02/08 20:01:49ID:???mt-check.cgiでの動作チェックまでは順調にいきmt-load.cgiを実行したところ
Internal Errorでエラーとなってしまいました。
そこで強引かとも思ったのですがtelnetから./mt-load.cgiとして実行したところ
正常に処理が流れました。
そのためうまくいくかと思いmt.cgiを実行したところ以下のメッセージがブラウザに出力され
エラーとなってしまいました。
Got an error: Can't locate MT/App/CMS.pm in @INC (@INC contains: ./extlib ./lib \
/usr/lib/perl5/5.8.3/i386-linux-thread-multi /usr/lib/perl5/5.8.3 /usr/lib/perl5/site_perl/\
5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/\
lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/\
i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 \
/usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl \
/usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/\
5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi \
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3 \
/usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl\
/5.8.0 /usr/lib/perl5/vendor_perl . /etc/httpd/ /etc/httpd/lib/perl) at /var/www/cgi-bin/blog/mt.cgi line 22.
そもそも、mt-load.cgiを手動で実行している段階で問題があるかと思いますが、
そのごmt-load.cgiを手動で流すとmt-load.cgiは実行済みと出るため処理は正常に
進んでいるような気がします。エラーの原因と対応が分かる方がいたら教えてください。
0720nobodyさん
05/02/08 20:21:36ID:???デフォルトのファイル検索パス(@INC)を探しても MT/App/CMS.pm ファイルが発見できなかった、
という事だから、そのファイルが存在するのかどうか確認するのが第一歩じゃないかねぇ。
ブログ板やWebProg板にmovable typeスレもあるよ。
0721nobodyさん
05/02/09 01:53:33ID:???どうしたらいいんでしょうか?
真剣にだれか教えてください
言語PHP也
0723nobodyさん
05/02/09 03:52:55ID:rAsxk5kP良くないことなんでしょうか?
例えば
<form method="post" action="test.cgi?aaa=123">
とかです。
よろしくお願いします。
0726704
05/02/09 08:18:20ID:PP8qiZ/ICSV、木構造、グラフ理論、ログフォーマット・・・
たくさんのキーワードをいただきました。
ようするに書き込みの内容に加えて、親記事の場所、子記事の場所の情報もカンマ区切りで格納しておけばいいのね。
0727p
05/02/09 12:30:43ID:UOGZHhnU最近PHPファイルを使用したリンクをよく見かけます
→http:---.---./---/---.php?url=http%3A%2F%2F〜〜〜
このようなリンクを使用したいのですが
PHPファイルにどう書き込めばよいのでしょうか
0728nobodyさん
05/02/09 13:16:05ID:???URL(リンク)に使える文字っつーのは制限があって、
それ以外の文字を使う場合にはURLエンコードという文字変換をして
使える文字の範囲内におさめるようになっている。
ttp:// -> ttp%3A%2F%2F
PHPでは、rawurlencode()がその変換をするための関数。
0729nobodyさん
05/02/09 13:21:24ID:???0730nobodyさん
05/02/09 13:30:36ID:???そんなことしてどうするつもりなんだ?
逆アクセスリンク集を作りたいとかなら分かるが。
GET変数、header()関数で実現できるが、引数を改竄して悪用される可能性がある。
マニュアルもろくに読めないようでは、お勧めできない。
0731nobodyさん
05/02/10 04:56:01ID:???国別アクセスランキングみたいのを作りたいと思っています。
IPアドレスまたはホスト名から国を特定する方法があれば
ご教授願います。
0732nobodyさん
05/02/10 04:59:17ID:???http://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html
0734nobodyさん
05/02/10 13:54:45ID:GQajLbsS応募してきた情報をMySQLの一つのテーブルに抽選日時によって入れていくつもりです。
当選者にはそれようのフラグを持たせて。
しかしmysqlが何万件まで格納できるかはわかりませんが、結局そのうち
ディスクが圧迫されていきますよね。
そこで半永久的に使えるCGIとするにはどうすればいいのかなと思って質問にきました。
無限に増えていくデータの取扱って初めてなのでいい案が浮かびません。
なんとなく古いやつはサーバからローカルに落として、落としたらサーバからは削除
するような形を取ればいいのかなとも思いますが・・・・
具体的にイメージができないというか;
0735nobodyさん
05/02/10 14:27:15ID:BIhSn+No0736nobodyさん
05/02/10 14:41:49ID:SiMm+YXVCGIを勉強しようと思います。
Cは残念ながらISPで使用不可のようですので、PerlかPHP
どちらかを勉強しようと思っているのですが、どちらが入りやすいで
しょうか?
0737nobodyさん
05/02/10 14:45:33ID:7Ax+wua40739nobodyさん
05/02/10 15:14:54ID:SiMm+YXVphpの利点をできれば教えて頂けるとありがたいです
>>738
OSはWindows XPなんですけが・・APACHEとかでってことでしょうか?
どちらが可能なのでしょうか?
0740nobodyさん
05/02/10 15:53:30ID:???情報の多さ - Perl
将来性 - どっちもどっち
総合点 - どっちでもええよ。出来ることは同じだし。
0741nobodyさん
05/02/10 15:57:20ID:???0742nobodyさん
05/02/10 16:15:16ID:???sendmailでメールを送るときに本文やToをユーザが入力した内容に
する場合はどういう文字をエスケープすればいいでしょうか?
0744742
05/02/10 18:59:35ID:???Toにクエリを埋め込む時もメールのヘッダーが終わった後の本文でも
同じエスケープではないですよね?
とりあえず現状ではToの方は\だけエスケープしてます。
本文のほうは何もしてないままです。
UNIXのコマンド文になるようなのを気をつけなければならないのでしょうか?
0745nobodyさん
05/02/10 22:07:44ID:???もしお前が釣りなら、俺を感動させたことを誇っていい。お前には才能がある。
もし本気でメール出すCGIを作るつもりなら、かなり道は険しいぞ。
0746nobodyさん
05/02/10 23:14:42ID:???つ[ ttp://www.ipa.go.jp/security/awareness/vendor/programming/ ]
とりあえずここでもどうぞ
これ読んだ上でsendmailに特化した話
0747736
05/02/10 23:47:05ID:fnMHvq6Mありがとうございます。自分とこのISPがPerlしか許可してなかったので
とりあえずPerlに決めました。言語としてもPHPと比べて深そうですし。
でもPerlに限ったことじゃないですけど、入門本怪しいのばっかだなぁ。
ラクダ本が有名らしいんですけどWIN経験のみでもだいじょぶですかね?
とりあえずラクダ本とねずみ本がよさげなので2つ買って挑んでこよう
と思ってるんですけど。
おすすめってありますか?
0748nobodyさん
05/02/10 23:49:01ID:???【Perl,CGI】参考書籍 第三版
http://pc5.2ch.net/test/read.cgi/php/1030209573/
いろいろあります。
0749nobodyさん
05/02/11 00:06:00ID:???入門書っぽいの買ってある程度覚えてからでいいと思うよ
0750nobodyさん
05/02/11 00:09:38ID:???初々しいね。CとPerl極めればPHPなんて覚えるまでも無いよ
PHPの基本構文はCに結構似てるところがあるし、
Perlの連想配列とかの概念はそのまま使える。
ガンガレ
本?読んだ事無い。Cやったなら多分、本読まなくても
ウェブ上に転がってる資料で覚えられるよ '`,、('∀`) '`,、
Perl4から初めてPerl5までやるのに一年かかったけど
0751736
05/02/11 00:17:59ID:CPrSGSxU一応C/C++はそこそこわかるので最初のさわり程度は飛ばせるかな
と思ったんですが・・、もっと入門的な本もみてきます^^;
>>750
がんがりまっす!
ところでちょっとソース見たんですが型宣言ないんですねぇ
・・なんか気持ちわるい。慣れればなんてことないんでしょうけど。
しかしおれって束縛好きだったのか(:-D)TTLL
0752nobodyさん
05/02/11 00:25:25ID:???確かに型宣言は無いね。
これは文字列と数値が自動で相互変換される特性上仕方ない。
Perl5なら、型宣言はなくても使用宣言はあるよ
my $foo;
use strict;して宣言強制。
0753nobodyさん
05/02/11 00:27:25ID:CPrSGSxUそれ聞いて安心しました!
0754nobodyさん
05/02/11 00:31:14ID:???0755nobodyさん
05/02/11 02:03:10ID:???マニュアルには「メール関数を使用可能にするには、PHPのコンパイル時点でシステム上のsendmailバイナリにアクセスできなければなりません。
」とあります。
このコンパイルとはソースコードからphp.exeにする時点と言うことですか?
仮にそうだとして、/usr/sbin/sendmail または /usr/lib/sendmailですよね?これはphp.iniのsendmail_pathにどちらかを入力すればいいんですよね?
0756nobodyさん
05/02/11 02:27:18ID:???windowsとunix系とで違う部分がありますが、unix系の話だと仮定して、
> このコンパイルとはソースコードからphp.exeにする時点と言うことですか?
php.exeというファイル名じゃないですが、まぁそういう意味です。
> 仮にそうだとして、/usr/sbin/sendmail または /usr/lib/sendmailですよね?
はい。これらのファイルが存在するかどうかチェックされてから
コンパイルが実行されます。無い場合はメール関数は(後から何をしようとも)利用できません。
> これはphp.iniのsendmail_pathにどちらかを入力すればいいんですよね?
sendmail_pathは、例えば「sendmail_path = sendmail -t -i -f webmaster」のように
sendmailへ引数を渡す場合に使われます。
0757nobodyさん
NGNGありがとうございます。
メール関数が使用できるかどうかは何をもって判断すればいいのでしょうか?phpinfo()でわかりますか?
PHP Version 4.3.6です。ちなみにwindowsXPを使ってます。
0758nobodyさん
NGNGもしかして自分は勘違いしてますか?Linuxの事はよくわからないのですが、
sendmailは標準でインストールされていて/usr/sbin/sendmail または
/usr/lib/sendmailってのはLinuxの標準インストール先なんでしょうか?
windowsで使用するにはsendmailをインストールし、そのpathをsendmail_pathに入力しなくてはならないとかでしょうか?
0759nobodyさん
05/02/11 03:00:35ID:???unix系の場合はsendmailを直接実行します(=同じサーバでメール送信できる必要があります)
windowsの場合はSMTP(=ネットワークを経由)を使ってメールサーバを経由してメール送信します。
PHPを動かすサーバがwindowsの場合は、
SMTP = メールサーバのホスト名
sendmail_from = メールアドレス
の2つを設定します。(他のメール関係の設定は影響しません)
この時、PHPを動かすサーバから上記のSMTPに設定したメールサーバへ
メール送信可能である必要があります。
実際に送信してみるまで可能かどうか分からないのでphpinfo()では判別できません。
(設定した値がそのまま表示される)
0761nobodyさん
05/02/11 10:02:54ID:???でパソコン内のファイルを参照出来ますが、
そのファイルサイズを制限して、あまり大きいファイルを
アップロード出来ないようにしたいと思います。
PHPかJavascriptで何かちょっと付け加えるだけで
アップロードするファイルサイズの容量制限が出来ないでしょうか?
0762nobodyさん
05/02/11 11:01:08ID:???0763nobodyさん
05/02/11 13:25:54ID:CPrSGSxU関数ヘルプが使えるということでヘルプファイルはもってきた
のですが、perl.defの中のhelpfileの参照先を変更しても
うまくいきません。
というのもデフォルトではD:\Projects\CopalPro\~となっている
のですが、そんなディレクトリはないですし、これをC:ファイルのある場所
として保存してもまたD:\Projects\CopalPro\~に直されてしまうのです。
解決方法ご存知の方教えて頂けませんでしょうか?
0764nobodyさん
05/02/11 15:50:50ID:???0765nobodyさん
05/02/11 17:08:38ID:lDoYz/T0print "名前:<INPUT NAME=\"name\" TYPE=\"text\" SIZE=35 VALUE=\"名無し\">\n";
というようにフォームのテキストを表示させる際、表示はさせるが、入力・変更は不可
というような指定はできますか?
0766nobodyさん
05/02/11 17:10:29ID:???0767nobodyさん
05/02/11 17:13:56ID:???<input type="text" readonly>で変更不可になるけど、cgi側の入力チェックはきちんとしてね
0768nobodyさん
05/02/11 17:29:10ID:lDoYz/T0うまく行きました。ありがとうございます。
m(_ _)m 感謝です!
0771nobodyさん
05/02/11 19:43:13ID:???0772769-770
05/02/11 19:44:26ID:???大変申し訳ありませんでしたm(..)m
0773nobodyさん
05/02/11 19:47:54ID:???人の役に立てたと勘違いして満足感を得られる哀れな奴になんて事を言うんだキミは!?
0775nobodyさん
05/02/11 21:21:28ID:???0776nobodyさん
05/02/11 21:22:18ID:CPrSGSxU伸びたらアレだがたかが1レスだろ。
大目にみてやれよ
0777nobodyさん
05/02/11 21:45:18ID:???甘やかしで駄目にされたという意味では被害者だが同情はできんな。
0778nobodyさん
05/02/11 21:49:48ID:???そもそもこんなところで質問はしないし、
飴を与えることが本人のためにならないということに思い至るようなら、
そもそもルールが目に入らない自己中を呼び込むような真似はしなかったかも知れない
0779nobodyさん
05/02/11 21:51:33ID:???0782nobodyさん
05/02/11 22:06:55ID:???0789nobodyさん
05/02/11 23:49:25ID:0VIjxLpAhttp://ex7.2ch.net/test/read.cgi/news4vip/1108127547/l50
↑のスレの
http://www.geocities.jp/ffcapture/
のように、パソコン上の画像を数秒ごとに鯖にアップロードして掲載するには、
どんな方法があるのでしょうか、もしくはなんと言う言葉でぐぐれば分かるでしょうか。
どうか、よろしくお願いいたします。
0790nobodyさん
05/02/12 00:01:03ID:???どうやら真性のようだ
http://pc5.2ch.net/test/read.cgi/php/1097334246/417
0792nobodyさん
05/02/12 15:36:07ID:???Perlに比べてPHPはチュートリアル的な解説サイトの存在が少ない。(入り口)
サンプルにできるコードも多いとは言えない。(パクリ)
またcpanとpearを比較した時、モジュールそのものの数や解説サイトの数に圧倒的な差がある。(ステップアップ)
使われてきた時間と人数の差には勝てんよ。
0793nobodyさん
05/02/12 16:54:09ID:???0794nobodyさん
05/02/12 17:07:00ID:???■ このスレッドは過去ログ倉庫に格納されています