public static function httpUpload($field, $options, &$error) { $origin_file_name = $_FILES[$field]['name']; $file_name = $options['use_filename'] ? $options['use_filename'] : $origin_file_name; $file_path = $options['bucket'] . '/' . ($options['use_filename'] ? $options['use_filename'] : $origin_file_name); $path = dirname($file_path); $real_file_path = MEDIA_DIR . '/' . $file_path; if (!self::makeFileStorageDir($real_file_path)) { Log::getInstance()->error("Can not make storage directory {$real_file_path}"); return false; } if (!$options['overwrite'] && file_exists($real_file_path)) { return $file_path; } $uploader = new Uploader(dirname($real_file_path)); $uploader->setFieldUpload($field); $uploader->setOverwriteIfExists($options['overwrite']); $uploader->setNameAfterUploaded(basename($file_name)); $uploader->setFilterType('.jpg, .jpeg, .png, .bmp, .jpe'); if ($uploader->upload()) { $data = $uploader->getData(); $file_path = $path . '/' . $data['file_name']; return 'media/' . $file_path; } else { $error = $uploader->getError(); Log::getInstance()->warning("Can not upload file", $error); } return false; }