Я создаю класс, который возвращает строку, которая будет автоматически включать файлы в папку, вроде как загрузчик для 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);' to '$ fileName = explode ('.', $ Ext);' –
Я предлагаю вам использовать ['pathinfo() '] (http://php.net/manual/en/function.pathinfo.php) вместо explode – diEcho
@felipe .. что вы будете с этими именами файлов' jquery-.1.7.1.min.js' – diEcho