HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/bb.cwoyt.com/Addons/Attachment/Controller/AttachmentController.class.php
<?php
// +----------------------------------------------------------------------
// | OneThink [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: 赛脑 <2233759493@qq.com> <http://www.sn.com>
// +----------------------------------------------------------------------

namespace Addons\Attachment\Controller;
use Home\Controller\AddonsController; 

class AttachmentController extends AddonsController{
	
	/* 附件下载 */
	public function download(){
		/* 获取附件ID */
		$id = I('get.id');
		if(empty($id) || !is_numeric($id)){
			$this->error('附件ID无效!');
		}

		/* 下载附件 */
		$Attachment = D('Addons://Attachment/Attachment');
		if(false === $Attachment->download($id)){
			$this->error($Attachment->getError());
		}

	}

	/* 上传附件 */
	public function upload(){
		/* 返回标准数据 */
		$return  = array('status' => 1, 'info' => '上传成功', 'data' => '');

		/* 获取当前分类附件配置信息 */
		$default  = C('ATTACHMENT_DEFAULT');
		$category = get_category(I('get.category'));

		/* 分类正确性检测 */
		if(empty($category)){
			$return['status'] = 0;
			$return['info']   = '没有指定分类或分类不正确;';
		} else {
			$config = $category['extend']['attachment'];
			$config = empty($config) ? $default : array_merge($default, $config);

			/* 检测并上传附件 */
			if(in_array('2', str2arr($config['allow_type']))){
				$setting = C('ATTACHMENT_UPLOAD');

				/* 调用文件上传组件上传文件 */
				$File = D('File');
				$info = $File->upload($_FILES, $setting, $config['driver'], $config['driver_config']);
				/* 记录附件信息 */
				if($info){
					$return['data'] = think_encrypt(json_encode($info['attachment']));
				} else {
					$return['status'] = 0;
					$return['info']   = $File->getError();
				}
			} else {
				$return['info']   = '该分类不允许上传文件附件!';
				$return['status'] = 0;
			}
		}

		/* 返回JSON数据 */
		$this->ajaxReturn($return);
	}

}