Make WordPress Core

Ticket #5984: get_temp_dir.diff

File get_temp_dir.diff, 1.0 KB (added by ryan, 17 years ago)

get_temp_dir()

  • wp-admin/includes/file.php

     
    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);