function check_uploaded_file($file, $image_restriction = false, &$message = NULL)
{
    if ($file == false) {
        $message = 'File meta-info is missing. ';
        return false;
    } else {
        if (is_array($file) == false) {
            $message = 'File meta-info is no array. ';
            return false;
        } else {
            if ($file['error'] > 0) {
                // php error generated
                $message = 'Upload Error ' . $file['error'] . ': ' . upload_error_message($file['error']);
                return false;
            } else {
                if (!file_exists($file['tmp_name'])) {
                    // file doesn't exist
                    $message = 'File not present at expected location. ';
                    return false;
                } else {
                    if ($image_restriction && substr($file['type'], 0, 5) != 'image') {
                        $message = 'File should be an image; MIME-type does not confirm this. ';
                        return false;
                    }
                }
            }
        }
    }
    return true;
}
Exemple #2
0
     $err_level = error_reporting(E_NONE);
     foreach ($_FILES['add_files']['error'] as $i => $err) {
         $filename = $_FILES['add_files']['name'][$i];
         if ($err == UPLOAD_ERR_OK) {
             // In case move_uploaded_file fails without a useful error
             trigger_error('Unknown error', E_USER_WARNING);
             $filename = get_filename_no_clobber("{$tmp_add_dir}/{$filename}");
             $to_add_this = array('type' => 'file', 'display_name' => str_replace("{$tmp_add_dir}/", '', $filename), 'data' => $filename);
             if (!move_uploaded_file($_FILES['add_files']['tmp_name'][$i], $filename)) {
                 $err = error_get_last();
                 $to_add_this['error'] = $err['message'];
             }
             $to_add[] = $to_add_this;
         } else {
             if ($err != UPLOAD_ERR_NO_FILE) {
                 $to_add_this['error'] = upload_error_message($err);
                 $to_add[] = $to_add_this;
             }
         }
     }
     error_reporting($err_level);
     print base64_encode(json_encode($to_add));
     break;
 case 'process_url':
     if (!function_exists('curl_init')) {
         json_error('The required PHP CURL extension is not present.');
     }
     $c = curl_init($r_data);
     curl_setopt_array($c, array(CURLOPT_HEADER => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_FAILONERROR => true));
     if ($cookies_file) {
         curl_setopt($c, CURLOPT_COOKIEFILE, $cookies_file);