All pastes #218952 Raw Edit

Anonymous

public text v1 · immutable
#218952 ·published 2006-10-24 13:01 UTC
rendered paste body
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;
}