Enable the APP attachment file download to work correctly rather than just returning a lot of php notices. Fixes #10372 for 2.8 branch props mysz.

git-svn-id: http://svn.automattic.com/wordpress/branches/2.8@11811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
westi 2009-08-13 20:47:13 +00:00
parent fbe5e94e96
commit 1ce7e21152
1 changed files with 13 additions and 4 deletions

View File

@ -780,6 +780,7 @@ EOD;
} }
$location = get_post_meta($entry['ID'], '_wp_attached_file', true); $location = get_post_meta($entry['ID'], '_wp_attached_file', true);
$location = get_option ('upload_path') . '/' . $location;
$filetype = wp_check_filetype($location); $filetype = wp_check_filetype($location);
if(!isset($location) || 'attachment' != $entry['post_type'] || empty($filetype['ext'])) if(!isset($location) || 'attachment' != $entry['post_type'] || empty($filetype['ext']))
@ -789,11 +790,19 @@ EOD;
header('Content-Type: ' . $entry['post_mime_type']); header('Content-Type: ' . $entry['post_mime_type']);
header('Connection: close'); header('Connection: close');
$fp = fopen($location, "rb"); if ($fp = fopen($location, "rb")) {
status_header('200');
header('Content-Type: ' . $entry['post_mime_type']);
header('Connection: close');
while(!feof($fp)) { while(!feof($fp)) {
echo fread($fp, 4096); echo fread($fp, 4096);
} }
fclose($fp); fclose($fp);
} else {
status_header ('404');
}
log_app('function',"get_file($postID)"); log_app('function',"get_file($postID)");
exit; exit;