
- <?php
- // 声明命名空间,遵循 PSR-4 自动加载规范,命名空间为 Home\Controller
- namespace Home\Controller;
- // 导入 Think\Controller 类,以便扩展该类
- use Think\Controller;
- // 定义 IndexController 类,继承自 Think\Controller 类
- class IndexController extends Controller
- {
- // index 方法,可能是默认页面的控制器方法
- public function index()
- {
- // 显示当前文件的源代码,通常用于调试或展示代码
- show_source(__FILE__);
- }
- // upload 方法,用于处理文件上传功能
- public function upload()
- {
- // 获取上传的文件信息,存储在 $uploadFile 变量中
- $uploadFile = $_FILES['file'];
- // 检查上传文件的名称,如果包含.php 后缀(不区分大小写),则返回 false
- if (strstr(strtolower($uploadFile['name']), ".php")) {
- return false;
- }
- // 实例化 ThinkPHP 的 Upload 类,用于文件上传操作
- $upload = new \Think\Upload();
- // 设置允许上传的最大文件大小为 4096 字节
- $upload->maxSize = 4096;
- // 设置允许上传的文件扩展名,仅允许 jpg, gif, png, jpeg 类型的文件
- $upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');
- // 设置文件上传的根目录为./Public/Uploads/
- $upload->rootPath = './Public/Uploads/';
- // 设置文件上传的子目录,这里为空
- $upload->savePath = '';
- // 调用 upload 方法进行文件上传,并将结果存储在 $info 变量中
- $info = $upload->upload();
- // 如果上传失败,调用 error 方法显示错误信息并返回
- if (!$info) {
- $this->error($upload->getError());
- return;
- } else {
- // 上传成功时,获取上传文件的存储路径和名称,并组合成完整的 URL
- $url = __ROOT__.substr($upload->rootPath, 1).$info['file']['savepath'].$info['file']['savename'];
- // 将上传成功的信息和文件 URL 以 JSON 格式输出
- echo json_encode(array("url" => $url, "success" => 1));
- }
- }
- }
复制代码 未完待续
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |