아래 코드는 첫 번째 파일 만 포함합니다. 총 2 개의 파일이 현재 구매가 미래에 더 많을 것입니다. 모든 파일을 포함하도록 코드를 작성하려면 어떻게해야합니까?왜 모든 파일을 포함하지 않습니까?
코드는 작동하지만 단지 하나의 파일 만 포함하므로 의도 한대로 작동하지 않습니다.
$result = $this->db->query("SELECT directory FROM modules WHERE enabled = {es} ORDER BY id ASC", 'yes');
$num = $result->numberOfRows;
while($row = $result->getArray())
{
if($num != 0)
{
if(file_exists($this->root . '/modules/' . $row['directory']))
{
include($this->root . '/modules/' . $row['directory'] . '/' . $row['directory'] . '.php');
}
else
{
$this->db->query("DELETE FROM modules WHERE directory = {es}", $row['directory']);
}
}
}
편집 :가 나는 문제를 발견했다. 내가 포함하고 있던 파일들은 같은 변수 "$ result"와 "$ row"를 사용하여 SQL 쿼리를 가지고 있습니다. 그래서 파일을 포함하고 실행할 때 그들은 서로를 재설정하고있었습니다.
파일이 존재하지 않거나 db의 값이 파일과 일치하지 않는 경우를 포함해야하는 이유가 없습니다. – DevZer0
확실하지 않습니다. $ this-> root를 반향시켜보십시오. '/ modules /'. $ row [ 'directory'] 경로가 올바른지 확인하십시오. 또한 num! = 0, while 루프가 이미 그 핸들을 처리하고있는 이유는 무엇입니까? – Kris