gpt4 book ai didi

php - 展开文件名以分隔名称和扩展名在 PHP 中不起作用?

转载 作者:行者123 更新时间:2023-12-02 01:16:46 27 4
gpt4 key购买 nike

我正在构建一个返回字符串的类,该字符串将自动包含文件夹中的文件,有点像 HTML 文件的加载程序。

这是将被调用的方法:

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

explode 不识别 . 吗?

提前谢谢你。

最佳答案

您强制生成的数组具有 1 个元素,这导致它具有整个文件名。

explode( '.', $ext, 1 )

应该改为

explode( '.', $ext );

证明:http://codepad.org/01DLpo6H

关于php - 展开文件名以分隔名称和扩展名在 PHP 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10425167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com