Perl製のCGI内で、PHP製のランダムバナー表示CGIを呼ぼうとしたのですが、下記のようなエラーが出てしまいました。
いろいろ試行錯誤したのですが、お手上げです。
どのように修正したらよいでしょうか?
なお、ランダムバナー表示CGI 単体だけを実行したときは、正常に表示されています。
[index.cgi]
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n<BODY>\n\n";
$ImgFileName="./ad.php";
open(IN, "$ImgFileName |");
while (<IN>) {
$str=$str.$_;
}
close(IN);
print $str;
[ad.php]
<?php
$_1 = ('<img src="http://example.jp/a.gif">');
$_2 = ('<img src="http://example.jp/b.gif">');
$img_arry = array("$_1","$_2");
srand((double)microtime()*1000000);
$num =array_rand($img_arry);
$image = $img_arry[$num];
echo "$image";
?>
[表示された内容]
./ad.php: ?php: No such file or directory ./ad.php: line 2: syntax error near unexpected token `('' ./ad.php: line 2: `$_1 = ('【a.gifの画像】);'
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
open()内でa.phpをパイプライン実行しようとしてますが、それがphpでなく、shによって実行されたためでないかと。
起動プログラムとして明示的にphpを記述するか、これくらいの規模なら素直にperlだけで記述する方が手っ取り早いと思われます。
この回答への補足
実際はPerl製の日記CGIの中に組み込んで使うことを考えています。
またad.phpは、SSIでも使用しているので、膨大な数のHTMLドキュメントを書き換えなければならず、またメンテナンスを考えると変更したくないです。
ワガママだとは思いますが、どうにかならないでしょうか?
No.2
- 回答日時:
$ImgFileName="./ad.php";
でなく
$ImgFileName="php ./ad,php";
のように、ad.phpを処理するプログラムを明示すればOKでしょう。
この回答への補足
明示というのは、$ImgFileName="/usr/local/bin/php ./ad,php";
でいいんでしょうか?
そうすると下記のように、コンテントタイプとソースが表示されてします。
Content-type: text/html print "Content-type: text/html\n\n"; print "\n\n\n"; $ImgFileName="/ad.php"; open(IN, "/usr/local/bin/php /ad.php |"); while () { $str=$str.$_; } close(IN); print $str;
なお2日待ちますが、どなたからも回答がないようでしたら、私の手には負えない問題だと判断して、質問を終了させていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP 画像が表示出来ません。 1 2023/02/02 16:30
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlについて質問です
-
エクセルVBAでシートモジュール...
-
「デバイスは PRN を初期化でき...
-
Excel VBA 『Call』で呼び出す...
-
VBA This Workbookモジュール...
-
Excel VBAでリンク切れをチェッ...
-
VBAで旧字体を異字体に一括で変...
-
例外処理のフローチャートの記...
-
モジュールとクラスの違いって...
-
VBでグローバル変数を宣言するには
-
VBAで別モジュールへの変数の受...
-
【vba】フォームに書いてあ...
-
VBAでoutlook365が起動しません。
-
Perl モジュールのアンインスト...
-
グラフのX,Y座標を取得したい
-
fetchrow_arrayとfetchrow_hash...
-
perlをバージョンアップしたら...
-
COBOLで、Shellを起動するには?
-
VBA モジュールで共通に使う変...
-
VBSがコンパイルエラーになりま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tex についての質問です このコ...
-
PHPとPerlの違い
-
JAVAとperlはどっちが将来有望...
-
校正ツールのパールって何ですか。
-
perl/tkとtcl/tkの違いを知りたい
-
phpとperl
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
例外処理のフローチャートの記...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
「デバイスは PRN を初期化でき...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
LCD ディスプレイを Raspberry ...
-
モジュールとは何ですか
-
ハマったので助けて~。Apache...
-
VBA This Workbookモジュール...
-
VBでグローバル変数を宣言するには
おすすめ情報