Ticket #5984: get_temp_dir.diff

File get_temp_dir.diff, 1.0 kB (added by ryan, 9 months ago)

get_temp_dir()

  • wp-admin/includes/file.php

    old new  
    4242        return $real_file; 
    4343} 
    4444 
     45function get_temp_dir() { 
     46        if ( defined('WP_TEMP_DIR') ) 
     47                return trailingslashit(WP_TEMP_DIR); 
     48 
     49        $temp = ABSPATH . 'wp-content/'; 
     50        if ( is_dir($temp) && is_writable($temp) ) 
     51                return $temp; 
     52 
     53        if  ( function_exists('sys_get_temp_dir') ) 
     54                return trailingslashit(sys_get_temp_dir()); 
     55 
     56        return '/tmp/'; 
     57} 
     58 
    4559function validate_file( $file, $allowed_files = '' ) { 
    4660        if ( false !== strpos( $file, '..' )) 
    4761                return 1; 
     
    182196        if( ! $url ) 
    183197                return false; 
    184198 
    185         $tmpfname = tempnam('/tmp', 'wpupdate'); 
     199        $tmpfname = tempnam(get_temp_dir(), 'wpupdate'); 
    186200        if( ! $tmpfname ) 
    187201                return false; 
    188202 
     
    288302} 
    289303 
    290304function get_filesystem_method() { 
    291         $tempFile = tempnam('/tmp', 'WPU'); 
     305        $tempFile = tempnam(get_temp_dir(), 'WPU'); 
    292306 
    293307        if ( getmyuid() == fileowner($tempFile) ) { 
    294308                unlink($tempFile);