private function file($file, $piece_length)
{
if (!($handle = self::fopen($file, $size = self::filesize($file)))) {
return self::set_error(new Exception('Failed to open file: "' . $file . '"'));
}
if (self::is_url($file)) {
$this->url_list($file);
}
$path = self::path_explode($file);
return array('length' => $size, 'name' => end($path), 'piece length' => $piece_length, 'pieces' => $this->pieces($handle, $piece_length));
}