私はcodeigniter2を使用しており、テーマフォルダーはjs、img、cssフォルダーで構成されています。
jsフォルダー内では、ファイル名はjs_functions.phpに含まれています。
<?php header("Content-type: text/javascript"); ?>
/**
* GLOBAL VARIABLES & PATHS
*
* path definitions for jquery inline usage
*
*/
var base_url = '<?=base_url();?>';
// ------------------------------------------------------------------------
/**
* jquery.message Global Implementation
*
* Shows message if any session flashdata named message is set
*
*/
<?php if($this->session->flashdata('message')):?>
$(function() { $().message("<?=$this->session->flashdata('message');?>"); });
<?php endif; ?>
// ------------------------------------------------------------------------
そして、それをビューファイルで呼び出す
<script type="text/javascript" src="<?=base_url();?>themes/admin/js/js_functions.php"></script>
正しくレンダリングされます。しかし、それはクロームの検査画面に戻ります:
var base_url = '<br />
Uncaught SyntaxError: Unexpected token ILLEGAL
ブラウザでアドレスバーからページを呼び出すと、次のようになります。
var base_url = '<br />
<b>Fatal error</b>: Call to undefined function base_url() in <b>F:\xampp\htdocs\themes\js\js_functions.php</b> on line <b>11</b><br />
どうしたの?外部のjs/phpファイルでphpを使用する正しい方法ではありませんか?