WordPress.org

Make WordPress Core

Ticket #10372: wp-app.php.diff

File wp-app.php.diff, 993 bytes (added by josephscott, 9 years ago)
  • wp-app.php

     
    780780                }
    781781
    782782                $location = get_post_meta($entry['ID'], '_wp_attached_file', true);
     783                $location = get_option ('upload_path') . '/' . $location;
    783784                $filetype = wp_check_filetype($location);
    784785
    785786                if(!isset($location) || 'attachment' != $entry['post_type'] || empty($filetype['ext']))
     
    789790                header('Content-Type: ' . $entry['post_mime_type']);
    790791                header('Connection: close');
    791792
    792                 $fp = fopen($location, "rb");
    793                 while(!feof($fp)) {
    794                         echo fread($fp, 4096);
     793                if ($fp = fopen($location, "rb")) {
     794                        status_header('200');
     795                        header('Content-Type: ' . $entry['post_mime_type']);
     796                        header('Connection: close');
     797
     798                        while(!feof($fp)) {
     799                                echo fread($fp, 4096);
     800                        }
     801
     802                        fclose($fp);
     803                } else {
     804                        status_header ('404');
    795805                }
    796                 fclose($fp);
    797806
    798807                log_app('function',"get_file($postID)");
    799808                exit;