我在此行的功能有误:
$FILE_LIST[$key]['name'] = str_replace('.' . $ext, '', $result);
Warning: Illegal string offset 'name'
我尝试了不同的方法,但是找不到解决方案。 我看起来像Warning: Illegal string offset 'name'的其他帖子 但这并不能解决问题(或者我发疯了)。
功能
public function getFiles($source_folder, $filename, $ext = 'php') {
if(is_dir( $source_folder)) {
$FILES = glob($source_folder . $filename . '.' . $ext);
$FILE_LIST[] = '';
if (is_array($FILES)) {
foreach($FILES as $key => $file) {
$result = str_replace($source_folder, '', $file);
$name = str_replace('.' . $ext, '', $result);
if (!empty($name)) {
$FILE_LIST[$key]['name'] = $name;
}
}
}
if (is_array($FILE_LIST)) {
return $FILE_LIST;
}
}
}
答案 0 :(得分:0)
更改此:
if (!empty($name)) {
$FILE_LIST[$key]['name'] = $name;
}
对此:
if (!empty($name)) {
$FILE_LIST[$key] = Array();
$FILE_LIST[$key]['name'] = $name;
}