Jump to content

fread causing 500 Int Server Error


rondog

Recommended Posts

I found a script online that I am trying to get working. It was giving a 500 error from the get go and I've pinpointed it to the $data = fread() line. Does anyone know why?

<?php
$file 		= "../../media/v_360.m4v";
$filesize 	= filesize($file);
$offset 	= 0;
$length 	= $filesize;

if (isset($_SERVER['HTTP_RANGE']))
{
// if the HTTP_RANGE header is set we're dealing with partial content
$partialContent = true;

// find the requested range
// this might be too simplistic, apparently the client can request
// multiple ranges, which can become pretty complex, so ignore it for now
preg_match('/bytes=(\d+)-(\d+)?/', $_SERVER['HTTP_RANGE'], $matches);

$offset = intval($matches[1]);
$length = intval($matches[2]) - $offset;
}
else
{
$partialContent = false;
}


$file = fopen($file, 'r');

// seek to the requested offset, this is 0 if it's not a partial content request
fseek($file, $offset);
$data = fread($file, $length);

/*
fclose($file);

if ($partialContent)
{
// output the right headers for partial content
header('HTTP/1.1 206 Partial Content');
header('Content-Range: bytes ' . $offset . '-' . ($offset + $length) . '/' . $filesize);
}

// output the regular HTTP headers
header('Content-Type: ' . $ctype);
header('Content-Length: ' . $filesize);
header('Content-Disposition: attachment; filename="' . $fileName . '"');
header('Accept-Ranges: bytes');

// don't forget to send the data too
print($data);
*/
?>

 

Its trying to read a 60mb file. Do you think it is timing out and that is causing the error?

Link to comment
https://forums.phpfreaks.com/topic/229405-fread-causing-500-int-server-error/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.