私は、HTMLファイルのローダーのように、自動的にフォルダにファイルを含む文字列を返すクラスを構築しています。ファイル名を展開して名前と拡張子を区切ってもPHPでは機能しません。
ここで呼び出されるメソッドです。
function build_external_file_include($_dir){
$_files = scandir($_dir);
$_stack_of_file_includes = "";//will store the includes for the specified file.
foreach ($_files as $ext){
//split the file name into two;
$fileName = explode('.',$ext, 1);//this is where the issue is.
switch ($fileName[1]){
case "js":
//if file is javascript
$_stack_of_file_includes = $_stack_of_file_includes."<script type='text/javascript' src='".$dir.'/'. $ext ."'></script>";
break;
case "css";//if file is css
$_stack_of_file_includes = $_stack_of_file_includes."<link rel=\"stylesheet\" type=\"text/css\" href=\"".$dir.'/'. $ext."\" />";
break;
default://if file type is unkown
$_stack_of_file_includes = $_stack_of_file_includes."<!-- File: ". $ext." was not included-->";
}
}
return $_stack_of_file_includes;
}
だから、これはエラーなしで実行されます。しかし、それはそれがやろうとしていることをやっていない...少なくとも私がそれをやろうとしていることはしません。技術的には
$fileName[1]
が延長js
$fileName[0]
する必要があり、ここで言えば、ファイルの名前main
しかし
$fileName[0]
がmain.js
であるべきです。
は爆発的に認識されません.
?
ありがとうございます。
'$ fileName = explode( '。'、$ ext、1);を' $ fileName = explode( '。'、$ ext); ' –
に変更する[pathinfo() '](http://php.net/manual/en/function.pathinfo.php)の代わりに – diEcho
@felipe ..これらのファイル名で' jquery-.1.7.1.min.js'をどうぞ – diEcho