= 4) { // BOM detection if (substr($line, 0, 4) == "\0\0\xFE\xFF") $encoding = 'UTF-32BE'; // Big Endian if (substr($line, 0, 4) == "\xFF\xFE\0\0") $encoding = 'UTF-32LE'; // Little Endian if (substr($line, 0, 2) == "\xFE\xFF") $encoding = 'UTF-16BE'; // Big Endian if (substr($line, 0, 2) == "\xFF\xFE") $encoding = 'UTF-16LE'; // Little Endian if (substr($line, 0, 3) == "\xEF\xBB\xBF") $encoding = 'UTF-8'; // Heuristic UTF-16 detection if ((substr($line, 0, 4) & "\xFF\x00\xFF\x00") == "\0\0\0\0") $encoding = 'UTF-16BE'; // Big Endian if ((substr($line, 0, 4) & "\x00\xFF\x00\xFF") == "\0\0\0\0") $encoding = 'UTF-16LE'; // Little Endian } $file_lines[$i] = mb_convert_encoding($line, 'UTF-8', $encoding); } // // Load into memory // if(preg_match( "/^dn:/", $file_lines[0] )) { // Is a LDIF-File $import_type = "LDIF"; include_once ("import.ldif.php"); } elseif(preg_match( "/^BEGIN:VCARD/", $file_lines[0] )) { // Is a vCard-File $import_type = "VCARD"; include_once ("import.vcard.php"); $ivc = new ImportVCards($file_lines); $ab = $ivc->getResult(); } elseif( substr_count($file_lines[0], ';') > 5 // Is a CSV-File || substr_count($file_lines[0], ',') > 5 || substr_count($file_lines[0], "\t") > 5) { $import_type = "CSV"; include_once ("import.csv.php"); $icsv = new ImportCsv($file_lines); $ab = $icsv->getResult(); } elseif( strtolower(pathinfo($file_name, PATHINFO_EXTENSION)) == "xls") { $import_type = "EXCEL"; include_once ("import.xls.php"); $ixls = new ImportXls($file_tmp_name); $ab = $ixls->getResult(); } else { $import_type = "UNKNOWN"; $ab = array(); } ?>