一,extend目錄的功能:
extend目錄可以存放自己所開發的具備通用功能的類,
vendor目錄存放的是通過composer下載的第三方庫
注意與app目錄下的內容區分
說明:劉宏締的架構森林是一個專注架構的博客,
網站:https://blog.imgtouch.com
本文: https://blog.imgtouch.com/index.php/2023/05/29/thinkphp6-zai-extend-mu-lu-xia-kai-fa-kuo-zhan-lei-php-8-1/
對應的源碼可以訪問這里獲取: https://github.com/liuhongdi/
或: https://gitee.com/liuhongdi
說明:作者:劉宏締 郵箱: 371125307@qq.com
二,編寫php代碼:
1,controller/Article.php
<?php declare (strict_types = 1); namespace app\controller; use app\BaseController; use zip\zip; class Article extends BaseController { //生成zip文件 public function zip() { $pathArr = [ "/var/www/html/goodsimage/orig/61e7c3a0327ad.gif", "/var/www/html/goodsimage/orig/gsl.jpeg", ]; $zipName = "/var/www/html/goodsimage/image.zip"; $zip = new zip(); $res =$zip->makeZip($pathArr,$zipName); //if ($res['code']) echo $res['code']; exit; } }
2,extend/zip/zip.php
<?php namespace zip; class zip { //打包一個zip文件 public function makeZip($pathArr,$zipName) { $zip = new \ZipArchive(); if($zip->open($zipName,\ZipArchive::CREATE|\ZipArchive::OVERWRITE)){ foreach($pathArr as $file){ if(!file_exists($file)){ continue; } //向壓縮包中添加文件 $zip->addFile($file,basename($file)); } $zip->close(); return ['code'=>0,'msg'=>"創建成功",'path'=>$zipName]; }else{ return ['code'=>1,'msg'=>'創建失敗']; } } }
三,測試效果
1,訪問:
http://192.168.219.6:8000/article/zip
返回:

2,查看生成的zip包:

四,查看php和thinkphp的版本:
php:
liuhongdi@lhdpc:/data/php/admapi$ php --version PHP 8.1.1 (cli) (built: Dec 20 2021 16:12:16) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.1, Copyright (c) Zend Technologies with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies
thinkphp:
liuhongdi@lhdpc:/var/www/html$ cd /data/php/admapi/ liuhongdi@lhdpc:/data/php/admapi$ php think version v6.0.10LTS