function o_file_get_contents($file, $limit_start = 0, $limit_length = 0, $limit_string_array = false) { if(!$content = @file_get_contents($file)) { $handle = fopen($file, 'rb'); $content = fread($handle, filesize($file)); fclose($handle); } $limit_start = intval($limit_start); $limit_length = intval($limit_length); if(is_array($limit_string_array)) { if(count($limit_string_array) == 2) { $lines = array(); $lines = explode("\n", "File\n".$content); $lines_count = count($lines) - 1; unset($content); for($i = 1; $i <= $lines_count; $i++) { if(preg_match($limit_string_array[0], $lines[$i]) || $continue == true) { $content .= $lines[$i]."\n"; $continue = true; if(preg_match($limit_string_array[1], $lines[$i])) break; } } } } if($limit_start != 0 || $limit_length != 0) { $lines = array(); $lines = explode("\n", "File\n".$content); $lines_count = count($lines) - 1; unset($content); if($limit_length == 0) $limit_length = $lines_count - $limit_start; if($limit_length < 0) $limit_length = $limit_length * -1; if($limit_start < 0) $limit_start = $limit_start * -1; for($i = $limit_start + 1; $i <= $limit_start + $limit_length; $i++) $content .= $lines[$i]."\n"; } return $content; }