我已经关注了一段代码
$path = $resource['path'];
if (strpos($path, base_url()) == 0) {
$path = FCPATH. substr($path, strlen(base_url()));
}
echo '<pre>';
$x = '/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js';
var_dump($path);
var_dump($x==$path);
var_dump('/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js' == $path);
echo '</pre>';
我确定 $path 由/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js
这就是我得到的:
string(82) "/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js"
bool(false)
bool(false)
似乎比较根本失败了。这里有什么问题?PHP错误还是我的错误?
编辑: 我也很高兴向您展示这段代码的结果:
echo '<pre>';
$x = '/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js';
var_dump($path);
var_dump($x);
var_dump($x==$x);
var_dump($x==$path);
var_dump('/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js' == $path);
echo '</pre>';
结果是:
string(82) "/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js"
string(72) "/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js"
bool(true)
bool(false)
bool(false)
再次编辑:{{ used_theme }}
已解决,我为更改为当前使用的主题
的模板系统做了一些 str_replace 。使用的主题是 'ubuntu',它有 6 个字符长度,而 {{ used_theme }} 有 10 个字符长度。str_replace 在代码执行后执行。这也改变了 var_dump 结果,从而产生了这种意想不到的行为。感谢大家的帮助。