• 締切済み

perlの中でphpを使いたいです。

モバイル用のサイトをxhtmlで作っています。通常のxhtmlのページ(拡張子html)でphpを使う場合は、 <?php echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?> <? require 'xxx.php'; ?> としています。 今回はperl(拡張子cgi)でphpを使いたいのですが、 $print .= "<?php echo \"<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\"; ?>"; $print .= "<? require 'xxx.php'; ?>"; とするとエラーになってしまいます。 どうすればいいのでしょうか?教えてください。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • erupi1973
  • ベストアンサー率75% (27/36)
回答No.1

細かい所まで調べる時間がないので参考程度に。 Perl上でPHPコードを実行できるモジュールがあるようです。 PHPSPOT開発日誌で紹介されていたので、その記事をリンクしておきます。 http://phpspot.org/blog/archives/2006/03/perlphp_2.html

参考URL:
http://phpspot.org/blog/archives/2006/03/perlphp_2.html

関連するQ&A

  • PHP 携帯・PC 振り分け

    こんにちはphpの振り分けについてご教授お願いします。 http://www.abc.jp/→PCサイト(/home/abc/www/の中身) http://m.abc.jp/→mobileサイト(/home/abc/www/mobile/の中身) とした場合、PCからmobileサイトにアクセスがあった場合pcサイトに飛ばし、携帯からPCサイトにアクセスがあった場合mobileサイトに飛ばすといったようなことをしたいのですが、下記の内容でdoctype宣言をおこなった場合どのように記述したらよろしいでしょうか? 下記の記述は別ファイルに記述し、index.phpまたは他の.phpに読み込まして各キャリアをdoctype宣言で振り分けしています。 下記の記述はネット上から見つけてきたものです。 http://www.kamitani79.com/2008/10/doctypephpssi.html <?php $agent=$_SERVER['HTTP_USER_AGENT']; if(preg_match("/DoCoMo/", $agent)) { print ("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE html PUBLIC \"-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.3) 1.0//EN\" \"i-xhtml_4ja_10.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"application/xhtml+xml; charset=Shift_JIS\" />"); } elseif(preg_match("/KDDI\-/", $agent)||preg_match("/UP\.Browser/", $agent)) { print ("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE html PUBLIC \"-//OPENWAVE//DTD XHTML 1.0//EN\" \"http://www.openwave.com/DTD/xhtml-basic.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />"); } elseif(preg_match("/J\-PHONE|Vodafone|MOT\-[CV]980|SoftBank/", $agent)) { print ("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE html PUBLIC \"-//J-PHONE//DTD XHTML Basic 1.0 Plus//EN\" \"xhtml-basic10-plus.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />"); } else { print ("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE html PUBLIC \"-//WAPFORUM//DTD XHTML Mobile 1.0//EN\" \"http://www.wapforum.org/DTD/xhtml-mobile10.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />"); } ?> ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • PHPを拡張子 .html で動作させたいときは・・

    PHPを拡張子 .html で動作させたくて .htaccess に AddType application/x-httpd-php .htm .html と 記述して使用しているのですが、そのページのリンク先に <?xml version="1.0" encoding="Shift_JIS"?>が記述してあると リンク先に移動したときに Parse error: syntax error, unexpected T_STRING in /home/sites/lolipop.jp/users/*****/web/uonome/index.html on line 1 と、エラーが表示されてページが表示されません。 <?の部分がエラーになる要因みたいなのですが、 この状態を回避するには<?xml version="1.0" encoding="Shift_JIS"?>を 削除するしかないでしょうか? できれば<?xml version="1.0" encoding="Shift_JIS"?>を 削除しない方法があればと思い、質問させていただきました。

    • ベストアンサー
    • PHP
  • syntax error, unexpected T_STRING

    携帯の端末別にXHTMLを表示する書籍のサンプルコードを記載しましたが以下のようなエラーが発生しました。 Parse error: syntax error, unexpected T_STRING in /home/oeppu/public_html/xhtml.php on line 14 14行目は以下の部分です。 <?xml version="1.0" encoding="Shift_JIS"?> ソースコードはShift-JISとEUCでそれぞれ試して見ましたが同じ結果でした。 初心者ですので根本的な部分が間違っているのかもしれません。ご指摘宜しくお願い致します。 /* xhtml_test.php */ <?php // 内部文字コードを出力文字コードに変換するライブラリー require_once 'output_encode.php'; // アクセス端末に対応したXHTMLのDOCTYPEを取得するライブラリー require_once 'mobile_xhtml_doctype.php'; // 出力のバッファリングを有効にする ob_start(); ?> <?xml version="1.0" encoding="Shift_JIS"?> <?php echo mobile_xhtml_doctype(); ?> <html> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="-1" /> <titel>XHTML TEST</titel> <body> XHTML TEST </body> </html> <?php output_encode(); ?> /* output_encode.php */ <?php function output_encode() { $str = ob_get_contents(); $output = mb_convert_encoding($str, 'SJIS-win', mb_internal_encoding()); ob_end_clean(); header('Content-Type: application/xhtml+xml;'); echo $output; } ?> /* .htaccess */ php_value mbstring.language Japanese php_flag mbstring.encoding_translation On php_value mbstring.script_encoding SJIS php_value mbstring.internal_encoding SJIS

    • ベストアンサー
    • PHP
  • .phpがブラウザで表示されない

    携帯サイトを作成したのですが、PCのブラウザで確認できないので少し不安です。 広告をいれたいため拡張子は.phpで作りました。 携帯では問題なく確認できるのですが、PCでアドレスを入力して確認しようとすると「このファイルを保存しますか、または開くためのプログラムをオンラインで検索しますか?」というポップアップウインドウが表示されて、PCでは確認することができない状態です。 タグは以下に記載します。 どなたか解決法がわかるかた教えて頂けないでしょうか? <?php header('Content-Type: application/xhtml+xml; charset=Shift_JIS'); echo '<?xml version="1.0" encoding="Shift_JIS"?>'."\n" ?> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="-1" /> <title>趣味のページ</title> </head>

    • ベストアンサー
    • PHP
  • こんにちは。ドコモ端末のスタイルについて質問です

    ドコモ端末用のウェブページをPHPで作成中です。 CSSについて悩んでいます。 ソース(ファイルの文字コードはutf-8) ※絵文字出力にmobileClassというライブラリを使っています。 ---------------------------------------------- //絵文字ライブラリ require_once "./lib/MobileClass.php"; $mobileClass = new MobileClass('http://' . $_SERVER['HTTP_HOST'] . '/img/emoji/'); ini_set("default_charset", "Shift_JIS"); ini_set('mbstring.http_output', "Shift_JIS") header('Content-Type: application/xhtml+xml; charset=Shift_JIS'); print "<?xml version='1.0' encoding='Shift_JIS'?>"; print "<!DOCTYPE html PUBLIC '-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.0) 1.0//EN' 'i-xhtml_4ja_10.dtd'>"; print "<html><head>"; print "<meta http-equiv='Content-Type' content='xhtml+xml; charset=Shift_JIS'>"; print "</head><body>"; print "テストページ"; print "絵文字:".$mobileClass->Convert('F988')." "; print "</body>"; ---------------------------------------------- このソースだと文字化けしてしまいます。 ob_start()を使用して、 mb_convert_encodingでShift_JISに一括変換して出力すると文字化けはしませんが、絵文字が表示されなくなります。文字化けせずに絵文字も表示させたいのですがどうしたら良いでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpのダウンロード画面が出てしまう

    IE6からphpにアクセスするとダウンロード画面が出てきてしまいます。 ダウンロード画面を出さないようにするにはどうすればいいでしょうか。httpd.confは編集できない環境です。 .htaccessは下記のどちらにしてもDL画面が出てきます。 AddType application/x-httpd-php .xhtml AddType application/xhtml+xml .php index.php; <?php header("Content-Type: application/xhtml+xml"); echo "<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" > <head> <meta http-equiv="ContentType" content="application/xhtml+xml" /> <meta content="i-mode7_FOMA" /> <title>タイトル</title> </head> <body> <?php readfile("./numbers3/n3temp.txt"); ?> </body> </html>

    • ベストアンサー
    • CSS
  • ワードプレスの記事をHTMLに表示させたい。

    現在携帯サイトを作成しており、index.php がサイトのTOPで、下層フォルダ /blog/ の中にワードプレスを設置しております。 サイトのTOPにブログの記事を表示させたいのです。 調べたところ、 ━━━━━━━━━━━━━━━━━━━━━━━ <?php require('./blog/wp-blog-header.php'); ?> ━━━━━━━━━━━━━━━━━━━━━━━ という記述と、 ━━━━━━━━━━━━━━━━━━━━━━━ <ul> <?php $posts = get_posts("numberposts=5&category=&orderby=post_date&offset=0"); foreach ($posts as $post) { setup_postdata($post); print "<li><a href=\""; the_permalink(); print "\">"; print mb_convert_encoding(the_title('' , '' , false), "SJIS", "UTF-8"); print "</a></li>\n"; } ?> </ul> ━━━━━━━━━━━━━━━━━━━━━━━ という記述をするようにとありました。 Xサーバーに設置したワードプレスでは問題なく サイトに記事を表示する事ができたのですが、 XREAサーバーに設置したワードプレスでは サイトに <?php require('./blog/wp-blog-header.php'); ?> を 記述しただけで、文字化けしてしまうのです。 ■携帯サイトの情報 <?php header("Content-type: application/xhtml+xml;charset=Shift_JIS"); ?> <?php echo '<?xml version="1.0" encoding="shift_jis"?>'."\n"; ?> <!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML Mobile 1.0//EN" "http://www.openwave.com/DTD/xhtml-mobile10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> 拡張子はphp ■サーバーはXREA 解決方法をご教授して頂けませんでしょうか? どうぞよろしくお願いいたします。

    • 締切済み
    • PHP
  • auの対応に困っています。

    auの対応に困っています。 先日から携帯サイトを作っていてau携帯からの投稿が文字化けしてしまいます。 例 あいうえお→%82%a0%82%a2%82%a4%82%a6%82%a8 下記ソースのどこに問題があるのでしょうか? わかるかた、どうぞよろしくお願いします。 <?php $agent=$_SERVER['HTTP_USER_AGENT']; if(preg_match("/DoCoMo/", $agent)) { print("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE HTML PUBLIC \"-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.3) 1.0//EN\" \"i-xhtml_4ja_10.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"application/xhtml+xml; charset=Shift_JIS\" />"); } elseif(preg_match("/KDDI\-/", $agent)||preg_match("/UP\.Browser/", $agent)) { print("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n"); print ("<!DOCTYPE html PUBLIC \"-//OPENWAVE//DTD XHTML 1.0//EN\" \"http://www.openwave.com/DTD/xhtml-basic.dtd\">\n"); print ("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"ja\" xml:lang=\"ja\">\n"); print ("<head>\n"); print ("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />"); } elseif(preg_match("/J\-PHONE|Vodafone|MOT\-[CV]980|SoftBank/", $agent)) { print("<?xml version=\"1.0\" encoding=\"Shift_JIS\"?>\n");つづきは省略

    • ベストアンサー
    • PHP
  • PHPファイル自体と打ち出すものの文字コード

    PHPを使ってガラケー向けページを作っています。 xmlとして書いてるんですが、ドコモに合わせてShift-JISで表示しようと考えています。 PHPファイルはUTF8で書いた方が良いと言うことでそうしてるんですが、PHPファイル自体はUTF8で書かれていても、 <?xml version="1.0" encoding="Shift_JIS"?> というように、xmlの中でShift-JISを指定してやれば文字化けせずにちゃんと表示されるんでしょうか? それともPHPファイル自体もShift-JISで書かないとダメですか? 一応、手持ちのガラケーでは大丈夫なようですけど、機種やキャリアによって変わってくるかもしれないと不安になって質問させていただきました。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ドコモだけPHPを介すとスタイルシートが効かない

    こんにちは。 今、携帯サイトを作成しております。 その中で不思議な現象があるため、もしご存じの方がいらっしゃいましたら、ご助言頂けますと幸いです。 まずソースをご覧ください。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN" "i-xhtml_4ja_10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="application/xhtml+xml;charset=Shift_JIS" /> <meta http-equiv="content-style-type" content="text/css" /> <title>TEST</title> </head> <body style="color:#ff0000;"> red?<br /> <span style="color:#0000ff;">blue?</span> </body> </html> 上記のソースを、例えば「test.xhtml」という名前で保存して、PCと携帯3キャリアで確認すると、ちゃんと文字色の指定が効きます。 しかし、同じソースを下記のソースではさみ、phpを介して表示させようとすると、ドコモだけスタイルシートが効かなくなり、文字色が黒になってしまいます。 <?php echo ' (ここに上記ソースをコピー) '; ?> ※拡張子は.phpでも.xhtmlでも同じ現象でした。 PHPを介してもスタイルシートが効くようにするには、どのようにしたらよいでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう