插入语句在 scandir 中不起作用

Insert statement not working in scandir

我有以下查询不适用于特定情况。

function scantemp(){
  if ($dir = opendir('../themes/')) {
    $onlyfolder = array('.', '..');
    while (false !== ($files = readdir($dir))) {
      if (!in_array($files, $onlyfolder)) {
          $insert = mysql_query("INSERT INTO `templates` (temp_loc) VALUES ('$files')");
      } 
    }
    closedir($dir);
  }
}

此代码正在扫描文件夹并将它们插入数据库,但它总是在插入。如果文件夹不存在,我想插入。请指教

为此目的,通过放置以下 SQL 添加唯一索引。

ALTER TABLE templates ADD UNIQUE (temp_loc)

之后,如果您的记录存在,则不会插入。现在使用您的代码

function scantemp(){
 if ($dir = opendir('../themes/')) {
    $onlyfolder = array('.', '..');
    while (false !== ($files = readdir($dir))) {
        if (!in_array($files, $onlyfolder)) {
                $insert = mysql_query("INSERT INTO `templates` (temp_loc) VALUES ('$files')");
        }   
    }
    closedir($dir);
}
}