No.7ベストアンサー
- 回答日時:
>・IEで見れるソースです。
これをコピーすれば、文字は私のオリジナルになるのではないかと…。IEで見られるソース・・・を吐き出すのがCGIです。まあ一度フリーのCGIスクリプトをDLしてみてください。たぶん配布サイトには設置サンプルがあると思うので、そのサンプルのソースとスクリプトを見比べてみてください。
> その理由はCGIはプログラムであって文字ではないからと思ったのです。だからCGIによって文字が隠れてると思ったのです。
CGIはHTMLで表示される文字を吐き出すプログラムです。なので、プログラム中には当然その文字が含まれます。
簡単な例をあげると・・・
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>テスト</TITLE>\n";
print "</HEAD>\n";
print "<BODY>\n";
print "これはCGIのテストです。\n";
print "</BODY>\n";
print "</HTML>\n";
こんなのがCGIスクリプトの中身です。(言語はperl)
このCGIを動作させると、ブラウザに表示されるソースは、
<HTML>
<HEAD>
<TITLE>テスト</TITLE>
</HEAD>
<BODY>
これはCGIのテストです。
</BODY>
</HTML>
となります。
いかがですか?「タグより短い」ですか?
HTMLを吐き出すプログラムがCGIですから、そのHTMLの中身が当然含まれます。それプラス処理の仕組みを書くので、ブラウザに表示される画面のソースよりも長くなることの方が多いです。
規則性のある繰り返しの表示部分なんかは、#4の方が例であげてくださったように書けるので、短くなりますけど。
> ・確かにまだレンタルCGIを貼ったことがありません。まずはここから出発しないとわからないですね。
そうですね。配布されてるCGIのスクリプトを使ってみることですね。
ご自分がどんなものを引用したいと思うか、まずは中身を見ることです。引用するにしても、元のものはできるだけ希望のものに近い機能を持つものがいいでしょう?
> 容易にフリーCGIを引用して、自作のCGIに変更出来ると考えてましたが違うようですね。
項目名や壁紙、色、タイトルなどは初期設定で容易に変更できますよ。(変更できるようにしてくれているはずです、そんな汎用性のないものを配布しても仕方ないので)
これを機に私ももう少し積極的にCGIを勉強しよう思います。どうもご丁寧に回答して頂きましてありがとうございました。感謝の極みです。
No.6
- 回答日時:
> 無料レンタルされてるCGIでは該当するものがありません。
この無料レンタルCGIというのは、レンタルの掲示板のようなものを指しているのでしょうか?
配布されているCGIスクリプトのことなのでしょうか?
> ソースを見ると、HTMLで丸見えの文字がCGIでは見えないのが不思議でした。
このソースというのは、ブラウザの画面に表示されたもののソース?それともスクリプトの言語のこと?
> 記入して貰う項目の文字だけ変えてやれば、プログラムは無料のCGIがそのまんま使えると思ったのですが違いますか?
項目名だけ変更するのはけっこう簡単ですけど・・・
しかしそれが初期設定以外の部分の場合、スクリプト中のどの部分を変更すればいいかは、多少はスクリプトがわからないと難しいかも。
> つまり画面で見える文字と見せるためのプログラムは別々に作れば良いのではと…
画面に見える文字もCGIで吐き出しているものではないのですか?
うーん、すみません、読解力なくって、仰っていることをちゃんと理解できてないようで・・・。
まあとりあえず、hughugさんがしたいことは、フリーのCGIスクリプトを引用して自分でCGIを作りたいってことですよね。
その前に・・・フリーで配布されているスクリプトを設置したことはありますか?
パーミッションの変更とか、perlのパスとか、わかりますか?
自作CGIに挑戦する前に、まずは人の作ったCGIを設置してみることから初めてはいかがでしょうか?
それが無事動いたら、初期設定を変更して。そういうことをしているうちに、perlとかCGIがなんとなくわかってくるのでは。
とりあえず参考URLに、CGIスクリプトの検索サイトを書いておきますね。
名簿作成用のCGIもフリーで配布されているの、見たことあります。(名簿の項目などは初期設定で変更できますよ。)
参考URL:http://www.i-say.net/cgi/
返事が遅れてすみません。アドバイス感謝します。
・はい!配布されてるCGIです。
・IEで見れるソースです。これをコピーすれば、文字は私のオリジナルになるのではないかと…。その理由はCGIはプログラムであって文字ではないからと思ったのです。だからCGIによって文字が隠れてると思ったのです。
・確かにまだレンタルCGIを貼ったことがありません。まずはここから出発しないとわからないですね。そうしないと、パーミッションもPerlのパスも理解出来ないですね。容易にフリーCGIを引用して、自作のCGIに変更出来ると考えてましたが違うようですね。
No.5
- 回答日時:
なんだかCGIを誤解されてるような気がしますが・・・。
CGIはクライアントの要求に対して、サーバーがスクリプトで指示されたとおりの処理をしてHTML言語を吐き出すものです。
FLASH等とCGIを組み合わせること云々ということも質問されていらっしゃいますが、HTML言語で表現できることはCGIでもできます。そういうHTMLを吐き出させればいいだけのことですから。
また、動画を見せるだけ、あるいはクライアントサイドのデータだけで処理できることなら、FLASHだけで十分です。サーバー上にあるデータを書きかえるようなことはCGIになりますが。
CGIのソースと仰るのがどれのことかはっきりしないのですが、フリーのスクリプトを引用してCGIをつくろうとしても難しいと思います。また、そうやってわからないままに作ったものを動かそうとしてもたぶん動きませんし、ヘタをするとサーバーを暴走させたりして周囲に多大な迷惑をかけることもありえます。
CGIを自作するならローカル環境で十分な動作テストをしてから、サーバーにアップするようにしてください。
何でもないHTMLをわざわざCGIにして・・・というのは、お薦めできません。というのはCGIはサーバーで処理しなければいけない分、サーバーに負担をかけるからです。
・・・普通にHTML書くと、1<br>2<br>3<br>4<br>5<br>・・・100<br>になるところをCGIなら、 for $count=1;$count<=100;$count++){print"$count<br>";}という具合にこの1行の処理を100回繰り返すなんてことが出来る・・・
これはその通りなんですが、どっちがサーバーに優しいかといえば前者ですし、HTMLだけのファイルの方が表示も速いです。
なお、CGIではperlという言語がポピュラーに使われていますが、別にperlでなければならないというわけではありません。perlもCGI以外の用途にも使われますし。でもC言語などだとコンパイルしなくてはいけないので、書き換えるのが面倒ですよね。
作りたいCGIがあるとのことですが、どのようなものでしょうか?
ネット上ではフリーのCGIスクリプトが多数公開されています。探せば希望のCGIスクリプトが見つかるかもしれませんよ。
ご親切な回答に感謝します。主に使いたいのは名簿欄(住所や氏名やアンケート等プライベート情報)私の仕事が特殊な職種なので、無料レンタルされてるCGIでは該当するものがありません。表現が下手ですがソースを見ると、HTMLで丸見えの文字がCGIでは見えないのが不思議でした。当初私はこれはプログラム(指令)であって、HTMLのような文字記述はいらないから、記入して貰う項目の文字だけ変えてやれば、プログラムは無料のCGIがそのまんま使えると思ったのですが違いますか?つまり画面で見える文字と見せるためのプログラムは別々に作れば良いのではと…わかります?私のつたない表現で理解して頂けましたか?
No.4
- 回答日時:
>HTMLに比べたらPerlは凄く短いのに、多くの画像や文面を表現できるから
うーん短いのに多く表現できるという印象は例えば
Webページに縦に1から100まで表示するのに、普通にHTML書くと、1<br>2<br>3<br>4<br>5<br>・・・100<br>になるところをCGIなら、
for($count=1;$count<=100;$count++){print"$count<br>";}という具合にこの1行の処理を100回繰り返すなんてことが出来るからでしょうね。
それとかファイルに保存されているデータを取り込んでWebページに展開させたりということが出来るからかな
HTMLは単にレイアウト言語だから分岐だとかループだとかの制御構造が存在しないし、ファイルの入出力制御とかないし、CとかVBとか制御構造をもった言語を経験してないと、そのあたりの理解に苦しむところでしょうね。
ってことは、ホームページにはCGIでなきゃ表現できない所が多々ありますが、それ以外の、つまり何でもないHTMLをわざわざCGIにして、ソースを省略することも可能ってことなんですね。今の私にはまだまだ壁がありますが、単にソースのコピーを引用しても、自分のオリジナルにならないことがわかりました。
No.2
- 回答日時:
最近Perl-CGIの勉強を開始したものです。
ソースを引用して~オリジナル・・・やっぱり多少勉強しないとちょいちょいと書き換えてという訳にはいかないようです。せめて「超入門」くらいの本を1冊勉強するひつようがあります。あと注意点を列挙しますと
○ えっ自分の契約プロバイダは自作CGIがダメなの!
私もやりだして知ったのですが、へたなCGIを作ると、プロバイダーのWebサーバーに負荷がかかってダウンするおそれがあるので大手のプロバイダは禁止しているところが多いのです。私は以前DIONだったのですが、CGIしたさにプロバイダーを乗り換えました。
○ パーミッションってなんだ!
HTMLならアップロードするだけでOKなんですけど、CGIはパーミッションとかいうアクセス権限みたいなものを設定しないとだめなのです。ローカルPCではちゃんと動くのにアップロードしたら全然動かない・・・なんでだろ~ぉなんでだろ~ぉ・・・としばらく悩みました。
○ 拡張子変更しないとだめなの!
ローカル環境ではファイル名が××.plで動かすのに、CGIサ-バーにアップロードしたときは××.cgiに変更しないと動かなかったこれも・・・なんでだろ~ぉなんでだろ~ぉ・・・としばらく悩みました。
○ページがみつかりまへん・・・お前の目は節穴か!
大体CGIはローカルPCで作成して、動作させてみて問題がないことを確認してからUPさせるものです。適当にフリーCGIを直して、アップしても、例えばセミコロン一つ忘れただけで、もう動きません。しかも「プログラムの○行目でセミコロンぬけてまっせ」などと親切には教えてくれず、実行結果はむなしいばかりに「ページがみつかりまへん」だけです。私はプログラムはVBを使っていたのですが、VBのelseifという構文が、Perlではelsif・・・このeのバグ探すのに3日ほど費やしました。
○ 最初のローカルで環境作りにいろいろ発見が!
普通のアプリみたいに1種類のソフトのインストールしたらほらもう動く・・・という訳ではありません。
Winで擬似UNIX環境を作るソフトをインストールして、Webサーバーソフトインストールして、Perlインストールして、環境変数にPATH通して、Webサーバーの仮想パス設定して、ライブラリを作成フォルダにコピーして・・・なんてことをやってるうちに、CGIプログラム以前に、CGIが動く環境はこうなっているんだ、といろいろ前段階の勉強と発見ができました。
私もひとのことはいえませんが、まぁちょいちょいと書き換えてUPしたらオリジナル出来上がりという訳ではないようです。ローマは1日にしてならず。おたがいがんばりましょう!
回答ありがとうございました。ところでCGIってタグを憶えるような感覚で学習していけるもんでしょうか?タグは<xxx></xxx>なので比較的憶えやすいのですが、HTMLに比べたらPerlは凄く短いのに、多くの画像や文面を表現できるから、かなり難しいと思っていたのですけど、経験されて見ていかがなもんでしょうか?
No.1
- 回答日時:
多くのCGIプログラムは、ソースの一部分の設定を変えて(背景の色などのレイアウト、一部機能を変えて)自分に合った仕様にすることができます。
それ以外のソースそのものをいじるのは、Perlなどのプログラム言語ができないと無理です。
回答ありがとうございます。
例えば動画をCGIで動かすことは出来るのでしょうか?大半はFlushで制作してからCGIを利用してるようにも見えますが、実際動画って単にFlushだけなのか、CGIも使っているのか?前から疑問でした。また一部分の設定を変えるには、やっぱりプログラムをいじるのでしょうか?済みませんが再度回答頂ければ幸甚です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- CGI 「CGIにより定義されていない」とは・・・ ? 3 2023/01/01 12:00
- 美術・アート トレパク疑惑をかけられにくくするには ここ最近いわゆるトレパク警察のいいがかりがが厳しくなったようで 1 2023/08/21 09:59
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- その他(ブログ) ランキングサイトのポイントが発生しない理由 1 2023/01/21 11:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PowerShellでのエラー出力の読...
-
サーバーからクライアントのMAC...
-
スクロールバー非表示が IE で...
-
エロゲにおける『スクリプト入...
-
携帯のアンテナ基地の設置料の...
-
アクセスカウンターを他のファ...
-
Basic認証でパスワードを保存さ...
-
掲示板に画鋲、ホッチキス以外...
-
無料レンタル掲示板について
-
分周回路について
-
パソコン用語「ツリー」って、...
-
CGI掲示板の内容を一覧で表示さ...
-
会員制PHP掲示板はありませんか?
-
2ショットチャットルームのお勧...
-
シェルのSTEP数について教えて...
-
自動人数カウンターってありま...
-
兵庫県 JR竜野駅には 自動精算...
-
VBSで既に開いているIEにパスワ...
-
自作掲示板の作り方
-
CGIがサーバーに与える負荷の程...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PowerShellでのエラー出力の読...
-
レジストリの設定をすぐに反映...
-
VBスクリプト---アプリの終了に...
-
5chなどでスクリプト連投などで...
-
掲示板専用スクリプト(http://...
-
EXCEL VBA : PDFファイルを1つ...
-
イラストレーター、縦中横のシ...
-
ジョブ名、ステップ名の取得方...
-
ページにJavaScriptを埋め込む...
-
VBScript で日時 時刻設定 Wi...
-
jQueryを使ってドラムロールを...
-
サーバーからクライアントのMAC...
-
エロゲにおける『スクリプト入...
-
アプリケーションのフリーズを...
-
perlのAF_INET、PF_INETとは
-
WindowsのPowerShellで SIGNAL...
-
キーエンスのPLCでのスクリプト...
-
人工無能同士が会話するチャッ...
-
スタートアップ(シャットダウン...
-
承認機能のあるメーリングリスト
おすすめ情報