我用php导入一些SQL文件
LOAD DATA LOCAL INFILE
对于大多数文件它工作良好,但对于2-3文件
LINES TERMINATED BY ''r'n'
不工作…我必须使用:
LINES TERMINATED BY ''n'
相反……所以问题是…如何"读取"文件并检测行结束字符并将其发送到LOAD DATA LOCAL INFILE import…
我喜欢"看"它是/r还是/r/n在PHP中怎么做呢?
所以在最后,我有一些以/r结尾的文件和一些以/r/n结尾的文件,我需要读取它,并将其作为变量发送给LOAD
这是我的解决方案....不漂亮,但很有效率
//======================================================================
function EOL_reader($filename) {
$return = "";
$loaded_thing = file($filename);
$first_line = $loaded_thing[0];
$lenght = strlen($first_line);
$the_last = $loaded_thing[0][$lenght-1];
$one_before_last = $loaded_thing[0][$lenght-2];
if (ord($the_last) == 10) { $return = "'n";}
if (ord($one_before_last) == 13) { $return = "'r'n"; }
return $return;
}