トップページ⇒php
982コメント345KB

△▲ WebProg 初心者の質問 Part11 ▼▽

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/11/28 18:58:29ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前に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/
0659nobodyさん05/02/06 15:44:26ID:???
<!--------->

↑これ文法違反
<!-- と --> の間に -- を含めてはいけない
(厳密にはもうちょっと違うんだけど)
066065305/02/06 15:50:33ID:???
>質問者は元質問のレス番号ぐらい名乗れ。
すみません。

調べた所、きっちり4096バイトづつ送信されて居るみたいです。
<!-- -->で4096バイトまで貯め込むしか無いのでしょうか・・。
0661nobodyさん05/02/06 15:54:00ID:???
>>660
4096って…もしかしてgzip圧縮かかってないか?
066265305/02/06 16:11:19ID:???
<!-- -->で4096byte分をprintする様にしたら、ブラウザではまさに1ファイルづつ
結果が表示できていますね・・

>661さん
httpd.confの<IfModule>タグ部分で、確かに以下の行は有効になっていました。
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

しかし、これをコメントアウトすると4096ではなく、貯め込むサイズが大きくなるようです。
066365305/02/06 16:14:29ID:???
もっとスマートな手法が無いので有れば、ダミー出力でごまかそうと思います。
通常なら21K程ののhtmlになるのですが、このダミーを挿入した場合は350K程にもなりますね。(^^;
0664nobodyさん05/02/06 16:33:38ID:???
>>663
Apache 1.3の新機能を見てみたら、
もっと普通に出来そうな気がするけどね

「CGI スクリプトの出力のバッファリングの減少」項
長いので本文は省略


ところで、なぜにダミーデータをコメントアウトする必要が?
HTMLなんだから\nとか・・・
0665nobodyさん05/02/06 17:12:25ID:fwG0kktY
シロートな質問ですいません。
テキストエリアに表示させる時、改行文字は何になるのですか?

<TEXTAREA COLS=65 ROWS=5 NAME=\"ets\">$ets</TEXTAREA>
と記述し、$etsのデータの改行したいところに\nとか\rとか\r\r\nとか
入れてみたのですが、そのまま表示されます
0666nobodyさん05/02/06 17:21:12ID:???
>>665
$etsに代入する時にエスケープ文字が展開されてない
ダブルクォーテーションで括っているか?
066765305/02/06 17:22:42ID:???
>664さん
確かにそういうアナウンスでしたが、現状はconf等で設定を変えれる物では無いようです

確かに \n でもokですね
0668nobodyさん05/02/06 17:27:50ID:???
>>665
\\nとかやってるだろ?
HTML上では\は何の意味もないぞ
0669nobodyさん05/02/06 17:47:32ID:???
その前に$etsの中身は何だよ
0670nobodyさん05/02/06 18:22:18ID:fwG0kktY
>>665ですが、

$etsの中身は、
あいうえお\nかきくけこ\n
といった感じです。
あいうえお"\n"かきくけこ"\n"とやっても、
"あいうえお\nかきくけこ\n"とうやってもだめでした。

なにか基本的に間違ってますでしょうか?
0671nobodyさん05/02/06 18:30:30ID:???
<br>でしょ?
0672nobodyさん05/02/06 18:33:30ID:???
> そのまま表示されます
というのは、「\nが表示される」というのではなくて、
「改行されない」ということ?
0673nobodyさん05/02/06 18:40:28ID:???
>>672
訂正。
×「改行されない」
○「ブラウザで見て、改行されない」。
0674nobodyさん05/02/06 18:41:18ID:fwG0kktY
>>665です。

あいうえお\nかきくけこ\n
あいうえお"\n"かきくけこ"\n"
"あいうえお\nかきくけこ\n"

と改行されずにこのまま表示されます。
0675nobodyさん05/02/06 18:48:24ID:fwG0kktY
>>665です。追記します。

ブラウザで見て改行されません。

入力したデータを修正する画面を作っていて、前回入力したデータを
テキストエリアに初期値として表示させようとしています。
元々、データファイルには、あいうえお<br>かきくけこ<br>という
ふうに入っていて、そのまま表示させたら、改行されずに<br>も表示
されたので、<br>を\nに変えたりしてみたのですが。。
0676nobodyさん05/02/06 18:52:01ID:???
phpプログラムからmysqlへコネクトしたいのですが

Fatal error: Call to undefined function mysql_connect()
とエラーが出て接続できません…
どなたか原因を教えて下さい。
phpソース
$con = mysql_connect("localhost", "username", "");

環境@php-5.0.3 apache_2.0.52 mysql4.0.13
0677nobodyさん05/02/06 19:02:26ID:???
>>675
いちいち上げっぱなしで書いていないで元質問のレス番号を名乗れや。

>あいうえお\nかきくけこ\n
これじゃ改行じゃなくて\nっていう文字列でしかない。

データが「あいうえお<br>かきくけこ<br>」になってるなら

$ets =~ s/<br>/\n/ig;
<TEXTAREA COLS=65 ROWS=5 NAME=\"ets\">$ets</TEXTAREA>
0678localhost05/02/06 19:05:09ID:65HMlodY
選択が多くあるようなフォームを使用するにあたって
画面遷移ができるだけ少なく押さえるためには どうしたら良いでしょうか?

やっぱりflashが良いのでしょうか..
0679nobodyさん05/02/06 19:26:13ID:???
>>674
$ets = "あいうえお\nかきくけこ\n";
でいけそうなんだけど。。
# これ以上はソースが無いと分からないと思う。

>>676
ttp://ns1.php.gr.jp/pipermail/php-users/2003-October/019037.html
> PHP5 からは、MySQL のライセンス条項の変更に伴い、MySQL クライアン
> トライブラリの標準バンドルがなくなりました。
これじゃない?
068064905/02/06 20:13:35ID:???
>652
入力してもエラー出てしまいますね
DOS窓にppmと入れてもNO Perl script in instollと出てくるのでうまくいってないようです…
0681nobodyさん05/02/07 02:39:08ID:???
>>680
板違いだからネットゲー板へ逝け
0682nobodyさん05/02/07 09:53:24ID:brQ0I40v
ブラウザで、例えば2CH内に張られている画像へのリンクを取り出して
サムネイルで一覧表示するとしたら、どういった方法が考えられますか?

それとか、アマゾンの評価のところを抜き出して使ってる本のネット通販サイトとか
あるじゃないですか。ああいうのってどうやってるんでしょうか。

あと、いろんなニュースサイトの最新ヘッドラインを自動的に集めてまとめて表示してる
サイトなど。

なんとなくどれも仕組みとしては同じっぽく感じるんですが、
CGIで目的のサイトからHTMLソースを取得して解析して
自サイトに表示って感じでしょうか?
0683 05/02/07 10:35:04ID:???
全部違います。
0684nobodyさん05/02/07 10:41:36ID:brQ0I40v
まじですか。もうちょっと具体的に教えていただけるとうれしいのですが。
0685sage05/02/07 10:46:31ID:+1BETA+W
>>684
(#´∀`)つttp://www.amazon.co.jp/exec/obidos/subst/associates/join/webservices.html/
0686nobodyさん05/02/07 11:21:45ID:???
なんか、スレ立てようと思ったら立てれないみたいなので誰か変わりに立てていただけませんでしょうか ↓
スレタイトル:

【ヤン坊】 Mambo 【天気予報】

スレ本文:

最もシンプルでパワフルなCMS、Mamboについて語るスレです。
本家
http://www.mamboserver.com/
日本オフィシャル
http://mambo.mu-fan.com/
開発
http://mamboforge.net/

Skin やプラグインなど
http://www.mamboportal.com/
http://www.mambohut.com/
http://www.mambodev.com/
http://www.doengs.com/

4.5の時のエディタがよかった!という人はコレをmambotへ
http://mamboforge.net/projects/htmlarea3xtd/

Mambo+Apache+MySQL一発インスコ環境MSAS
http://mamboforge.net/projects/msas/
http://mamboforge.net/frs/?group_id=106&release_id=1740
0687nobodyさん05/02/07 12:05:38ID:Xo+VK5jq
SSLについての質問です。
http://a/a.html
というページから重要情報をPOST形式で
https://a/b.cgi
に送ったとき重要情報は暗号化されてますか?されていませんか?

送る先がSSLでも送る側が非SSLでは無意味ですよね?
予想
「始めにSSLページに言った時に鍵が渡されるので、始めにSSLページに言った時は
何も暗号化されていない」

これで合ってますか?
0688nobodyさん05/02/07 12:29:34ID:???
>>687
結論だけ言うと、ちゃんと暗号化されて送信される。
詳しくは http と https の両方のプロトコル仕様を勉強しる。割と奥が深い。
068968205/02/07 12:51:58ID:brQ0I40v
>>685
どうも。なんとなくアマゾンのやつについては分かりました。
他の2点について誰か教えて下さい。詳しくなくてもよいので
流れ的なところを。
069068705/02/07 12:55:13ID:Xo+VK5jq
>>688
では
「送信側でURIマッチングなどをして自動的に暗号化してから送信する」
もしくは
「httpsのときだけ先に鍵を取得しに行き、それから送信を行う」
のどちらかが正解なのですね?

ちょっと午後に読みに行って見ます。とりあえず昼にするので失礼しますm(_ _)m
0691nobodyさん05/02/07 13:45:09ID:???
>>688
何を読んで勘違いしてるかわからんが、>>687の状況では暗号化されてないまま送られるよ。
別に釣りではないと思うのでよかったらその根拠になるソースを晒して欲しい。
069268705/02/07 13:52:28ID:Xo+VK5jq
>>691
そうなのですか?
重要情報といってもお客さんにメールアドレスを記入してもらうだけなので、
多分一般常識的には通常通信だと思います。
(さっき色々見回ってメルマガや携帯に携帯サイトのURLを送るなどのフォームが
SSLで行われてるか見たらメルアドだけの場合はSSL使ってるところはみつけられませんでした。)

だからとりあえず>>687の方式でやってSSLでやってくれたらラッキーぐらいの感じで
以降かなと思います。

ありがとうございましたm(_ _)m
0693nobodyさん05/02/07 13:56:07ID:???
>>691
RFC2660を普通に読めば暗号化されるとわかるはずだが

https は、単に GET したときの宛先 URL すらも暗号化されて渡される
(だから https ではネームベースのバーチャルドメインが使えない)
POST 引数については言うまでもない

逆に、暗号化されずにそのまま送られるというソースの方に興味がある
0694nobodyさん05/02/07 15:12:30ID:???
ちなみにフォームのページをhttpsにしてるのは
お客さんが入力するときに下に鍵マークが出てると
安心するためにそうしてる業者がほとんどというわけ。
ベリサインのアイコン張るのと同じ理由。
0695nobodyさん05/02/07 15:40:23ID:???
         ,. ─- 、,,.___
        ,イ〃          `ヽ,__
.     N. {'             \
.    N. {               ヽ
.    N.ヽ`               〉
    N.ヽ`        ,.ィイ从       /
.    ヾミ.___-‐=彡'ノノノ__,ゞミ=-_rく
      lrf´ゞ"モ=ヾーf =モチ<}rv^i !
      ヾト、` ̄,り「弋!  ̄´ノ ソ
         !  ̄  ii{_,.   ̄  /r'´
.       ┌────────────‐┐
       .|                   .|
   ,. -‐ '|                   .|
  / :::::::::::|  >>691              .|__
  / :::::::::::::|  おまいはとんでもない    rニ-─`、
. / : :::::::::::::|  考え違いをしていたようだ `┬─‐ .j
〈:::::::::,-─┴-、                  |二ニ イ
. | ::/ .-─┬⊃                     |`iー"|
.レ ヘ.  .ニニ|_____________.|rー''"|
〈 :::::\_ノ::::::::::::::::::::::::::::::::::::::::::::::::::::::: |:::::::: /::::::::::::|
0696nobodyさん05/02/07 16:41:18ID:???
>>688=>>693-695
おまい何でそんなに必死なん?
もしかして自信ないのか?

まあいいが、SSLの話なんてスレ違いだからこれ以上話を引っ張るなよ。
0697nobodyさん05/02/07 17:12:46ID:???
いや、俺はそいつらとは違うけど、多分そんだけ突っ込みが多いネタだったというだけだろ。
あながちすれ違いともいいきれんが、まあそれはそれ。

>>700 ゲットした貴方、>>686 立ててくれませんか。お願い。
069868205/02/07 18:12:35ID:???
俺が立てるから俺の質問教えて下さい。
069968205/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の鯖は少々癖があるので試行錯誤が必要。
まあ気長に。
070168205/02/07 19:12:10ID:???
>>700
なるほど。最近Webプログラムはじめたばっかりなので
どうやってんのかなと不思議に思ってたんですが、なんとなく分かってきました。
キーワード盛りだくさんもらえたので調べていきます。
ありがとうございました。
0702nobodyさん05/02/07 19:17:11ID:???
>Soap

ヘイおまへさんは Html Xml なんて書くのかい?もぞもぞするぜ
0703nobodyさん05/02/07 21:57:08ID:cTZtZ9Gh
>>696
おまい楽しい奴だなぁ・・・。
0704nobodyさん05/02/08 08:25:31ID:sLyEiyJd
レス機能付き掲示板のログデータをひとつのファイルで管理するときの良いデータ編成のアイデアだれか伝授して下さい。
ミソはどうやって親子関係を記述するかだと思いますが・・・。
0705nobodyさん05/02/08 08:56:29ID:???
>>704
あるサイトのリンクの抽出をする際、カテゴリにどのように
分類すればいいのか分からなかったがおまいのおかげで解決できそうだ

ありが�d
0706nobodyさん05/02/08 09:40:42ID:???
>>704
CSV
0707nobodyさん05/02/08 13:03:01ID:???
>>704
親子関係を扱うには木構造が便利なので、まず「木構造」でググって概念を把握。
「実装 (言語名)」を加えれば、運がよければ実装例も見つかる、と。
# 暇があればグラフ理論あたりを齧ると、木構造の理解も深まる。
0708nobodyさん05/02/08 13:29:31ID:???
データ構造じゃなくて、ログフォーマットが知りたいんじゃないの、この手合いは。
0709nobodyさん05/02/08 13:36:31ID:???
いちいち聞かなくてもいろんな掲示板のスクリプト眺めればいいのにね。
071069705/02/08 15:03:01ID:???
>>699
ありがとうさんです!

回答する出番なかったか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に突っ込みたいので、どちらにしてもちょこちょこ改造するので
すが外枠だけでもあると楽なので、何かしってるのありましたらお願いします。
0712nobodyさん05/02/08 15:44:33ID:???
>>3
071371105/02/08 15:47:35ID:8lKFLLdk
>>712
すみません。この板でcgiで検索はかけたんですが・・・
web板だったんdすね。

そちらに言ってきます。それでは失礼しました。
0714nobodyさん05/02/08 17:55:04ID:???
PHPを勉強してるんですが、結局は組み合わせていけばいいんですよね?
例えば掲示板を作るとすると、
文字をtxt等に書き込む・・・1.php
そのtxtを表示させる・・・2.php
1.php+2.php・・・掲示板スクリプト完成。
こんな感じですよね?こんなに単純では無いでしょうが。。。
0715nobodyさん05/02/08 18:00:39ID:???
>>714
システムをどんな要素から構成するか、ということとファイル構成は無関係。
ログの読み書きやプレゼンテーションといった要素に分割して実装するのはよい方法。
うまく分割しておくと、状況に応じて部分だけとりかえたり、再利用できたりする。
分割の仕方はいろいろセオリーがあるが、おいおい学べばいいかと思われ。
0716nobodyさん05/02/08 18:10:26ID:???
>>714
手続きベースでファイルを分けるってことは普通はしない。
ファイルを分けるのは、関数やクラスを外部化したいとき。

2chは表示用のread.cgiと書き込み用のbbs.cgiとなってるが、
これはユースケースに基づいてユーザが触る部分をそのまま
ファイル構成に落としただけ。

まあ結局は設計次第。BBSは糞スクリプトが多いから、
偏った知識を身につけないよう。
0717nobodyさん05/02/08 18:17:32ID:???
>>714
まあそう
「何の」組み合わせかが重要だけどな
0718nobodyさん05/02/08 18:34:19ID:???
[第1段階]
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:???
Movable Typeでblog構築しています。
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:???
Movable Typeは使ったことないんだけど、そのエラーは、
デフォルトのファイル検索パス(@INC)を探しても MT/App/CMS.pm ファイルが発見できなかった、
という事だから、そのファイルが存在するのかどうか確認するのが第一歩じゃないかねぇ。

ブログ板やWebProg板にmovable typeスレもあるよ。
0721nobodyさん05/02/09 01:53:33ID:???
HTMLのセレクトボックスの項目をデータベースから持ってきた値にしたいんですけどうまくいきません。
どうしたらいいんでしょうか?
真剣にだれか教えてください
言語PHP也
0722nobodyさん05/02/09 02:00:02ID:???
>>721
配列に突っ込んでループで回す、以上
0723nobodyさん05/02/09 03:52:55ID:rAsxk5kP
フォームのmethodをpostにして、送信先をgetみたいにするのって
良くないことなんでしょうか?
例えば
<form method="post" action="test.cgi?aaa=123">
とかです。

よろしくお願いします。
0724nobodyさん05/02/09 03:55:42ID:???
>>723
構わん
要は鯖側の展開処理をちゃんとすること
072572305/02/09 04:19:02ID:???
>>724
ありがとうございます!
072670405/02/09 08:18:20ID:PP8qiZ/I
ありがとうございました。
CSV、木構造、グラフ理論、ログフォーマット・・・
たくさんのキーワードをいただきました。
ようするに書き込みの内容に加えて、親記事の場所、子記事の場所の情報もカンマ区切りで格納しておけばいいのね。
0727p05/02/09 12:30:43ID:UOGZHhnU
質問
最近PHPファイルを使用したリンクをよく見かけます
→http:---.---./---/---.php?url=http%3A%2F%2F〜〜〜
このようなリンクを使用したいのですが
PHPファイルにどう書き込めばよいのでしょうか
0728nobodyさん05/02/09 13:16:05ID:???
>>727
URL(リンク)に使える文字っつーのは制限があって、
それ以外の文字を使う場合にはURLエンコードという文字変換をして
使える文字の範囲内におさめるようになっている。
ttp:// -> ttp%3A%2F%2F
PHPでは、rawurlencode()がその変換をするための関数。
0729nobodyさん05/02/09 13:21:24ID:???
URLエンコード以前の話な希ガス
0730nobodyさん05/02/09 13:30:36ID:???
>>727
そんなことしてどうするつもりなんだ?
逆アクセスリンク集を作りたいとかなら分かるが。
GET変数、header()関数で実現できるが、引数を改竄して悪用される可能性がある。
マニュアルもろくに読めないようでは、お勧めできない。
0731nobodyさん05/02/10 04:56:01ID:???
自前のPHPでアクセス解析を行っているのですが、
国別アクセスランキングみたいのを作りたいと思っています。
IPアドレスまたはホスト名から国を特定する方法があれば
ご教授願います。
0732nobodyさん05/02/10 04:59:17ID:???
>>731
http://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html
0733nobodyさん05/02/10 05:18:50ID:???
>>732
ありがとうございます!
0734nobodyさん05/02/10 13:54:45ID:GQajLbsS
プレゼントCGI(Perl)を作成していて、一つ悩み事があったのでお願いしますm(_ _)m

応募してきた情報をMySQLの一つのテーブルに抽選日時によって入れていくつもりです。
当選者にはそれようのフラグを持たせて。
しかしmysqlが何万件まで格納できるかはわかりませんが、結局そのうち
ディスクが圧迫されていきますよね。
そこで半永久的に使えるCGIとするにはどうすればいいのかなと思って質問にきました。
無限に増えていくデータの取扱って初めてなのでいい案が浮かびません。

なんとなく古いやつはサーバからローカルに落として、落としたらサーバからは削除
するような形を取ればいいのかなとも思いますが・・・・

具体的にイメージができないというか;
0735nobodyさん05/02/10 14:27:15ID:BIhSn+No
あの・・・みなさんはCGIなどを1から作っているんですか?
0736nobodyさん05/02/10 14:41:49ID:SiMm+YXV
C言語でしかプログラミングしたことないのですが、今回初めて
CGIを勉強しようと思います。
Cは残念ながらISPで使用不可のようですので、PerlかPHP
どちらかを勉強しようと思っているのですが、どちらが入りやすいで
しょうか?
0737nobodyさん05/02/10 14:45:33ID:7Ax+wua4
PHP
0738nobodyさん05/02/10 14:59:18ID:???
>>736
ローカルにテスト環境を構築できる方
0739nobodyさん05/02/10 15:14:54ID:SiMm+YXV
>>737
phpの利点をできれば教えて頂けるとありがたいです
>>738
OSはWindows XPなんですけが・・APACHEとかでってことでしょうか?
どちらが可能なのでしょうか?
0740nobodyさん05/02/10 15:53:30ID:???
習得の容易さ - PHP
情報の多さ - Perl
将来性 - どっちもどっち

総合点 - どっちでもええよ。出来ることは同じだし。
0741nobodyさん05/02/10 15:57:20ID:???
入り易い、という点で選ぶなら迷うことはなんもないと思うが。
0742nobodyさん05/02/10 16:15:16ID:???
CGIでエスケープすべき文字についてお尋ねします。

sendmailでメールを送るときに本文やToをユーザが入力した内容に
する場合はどういう文字をエスケープすればいいでしょうか?
0743nobodyさん05/02/10 16:59:49ID:???
>>742
おぼえること大杉
074474205/02/10 18:59:35ID:???
>>743
Toにクエリを埋め込む時もメールのヘッダーが終わった後の本文でも
同じエスケープではないですよね?

とりあえず現状ではToの方は\だけエスケープしてます。
本文のほうは何もしてないままです。

UNIXのコマンド文になるようなのを気をつけなければならないのでしょうか?
0745nobodyさん05/02/10 22:07:44ID:???
>>744
もしお前が釣りなら、俺を感動させたことを誇っていい。お前には才能がある。

もし本気でメール出すCGIを作るつもりなら、かなり道は険しいぞ。
0746nobodyさん05/02/10 23:14:42ID:???
>>744
つ[ ttp://www.ipa.go.jp/security/awareness/vendor/programming/ ]
とりあえずここでもどうぞ
これ読んだ上でsendmailに特化した話
074773605/02/10 23:47:05ID:fnMHvq6M
>>737->>741
ありがとうございます。自分とこのISPがPerlしか許可してなかったので
とりあえずPerlに決めました。言語としてもPHPと比べて深そうですし。

でもPerlに限ったことじゃないですけど、入門本怪しいのばっかだなぁ。
ラクダ本が有名らしいんですけどWIN経験のみでもだいじょぶですかね?
とりあえずラクダ本とねずみ本がよさげなので2つ買って挑んでこよう
と思ってるんですけど。

おすすめってありますか?
0748nobodyさん05/02/10 23:49:01ID:???
>>747
【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:???
>>747
初々しいね。CとPerl極めればPHPなんて覚えるまでも無いよ
PHPの基本構文はCに結構似てるところがあるし、
Perlの連想配列とかの概念はそのまま使える。
ガンガレ

本?読んだ事無い。Cやったなら多分、本読まなくても
ウェブ上に転がってる資料で覚えられるよ '`,、('∀`) '`,、



Perl4から初めてPerl5までやるのに一年かかったけど
075173605/02/11 00:17:59ID:CPrSGSxU
>>749
一応C/C++はそこそこわかるので最初のさわり程度は飛ばせるかな
と思ったんですが・・、もっと入門的な本もみてきます^^;

>>750
がんがりまっす!

ところでちょっとソース見たんですが型宣言ないんですねぇ
・・なんか気持ちわるい。慣れればなんてことないんでしょうけど。
しかしおれって束縛好きだったのか(:-D)TTLL
0752nobodyさん05/02/11 00:25:25ID:???
>>751
確かに型宣言は無いね。
これは文字列と数値が自動で相互変換される特性上仕方ない。
Perl5なら、型宣言はなくても使用宣言はあるよ
my $foo;
use strict;して宣言強制。
0753nobodyさん05/02/11 00:27:25ID:CPrSGSxU
>>752
それ聞いて安心しました!
0754nobodyさん05/02/11 00:31:14ID:???
ではここらへんで、、、Ruby最強!!!
0755nobodyさん05/02/11 02:03:10ID:???
phpのmail()関数についてですが、
マニュアルには「メール関数を使用可能にするには、PHPのコンパイル時点でシステム上のsendmailバイナリにアクセスできなければなりません。
」とあります。
このコンパイルとはソースコードからphp.exeにする時点と言うことですか?
仮にそうだとして、/usr/sbin/sendmail または /usr/lib/sendmailですよね?これはphp.iniのsendmail_pathにどちらかを入力すればいいんですよね?
0756nobodyさん05/02/11 02:27:18ID:???
>>755
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
>>756
ありがとうございます。
メール関数が使用できるかどうかは何をもって判断すればいいのでしょうか?phpinfo()でわかりますか?
PHP Version 4.3.6です。ちなみにwindowsXPを使ってます。
0758nobodyさんNGNG
>>756
もしかして自分は勘違いしてますか?Linuxの事はよくわからないのですが、
sendmailは標準でインストールされていて/usr/sbin/sendmail または
/usr/lib/sendmailってのはLinuxの標準インストール先なんでしょうか?
windowsで使用するにはsendmailをインストールし、そのpathをsendmail_pathに入力しなくてはならないとかでしょうか?
■ このスレッドは過去ログ倉庫に格納されています