WordPress.org

Make WordPress Core

Ticket #10372: wp-app.php.diff

File wp-app.php.diff, 993 bytes (added by josephscott, 5 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;