=0 ? $start: 0; if($end !=0 && $start > $end){ $temp = $start; $start = $end; $end = $start; } while (!feof($handle)) { ++$n; $str = fgets($handle, 4096); if ($start <= $n && trim($str) != '') { $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5')); if($encode){ $str = mb_convert_encoding($str, 'UTF-8', $encode); }else { $str = mb_convert_encoding($str, 'UTF-8'); } if($callback){ $data[] = call_user_func($callback, $str); }else { $data[] = $str; } } if ($end == $n) break; } fclose($handle); return $data; } }