TP5制作圖片壓縮包

目標:將多張圖片制成在一個壓縮包內,供調取使用

public function test()
{//引入壓縮包類$zip = new \ZipArchive();//新定義一個zip包$zipname = ROOT_PATH.'/public/zip/'.date("YmdHis").rand(111,999).'.zip';if ($zip->open($zipname, \ZipArchive::CREATE) === true){$zip->addFile(ROOT_PATH.$request['permit'],date("YmdHis").rand(111,999).'.jpg');$zip->addFile(ROOT_PATH.$request['bank_pic'],date("YmdHis").rand(111,999).'.jpg');$zip->addFile(ROOT_PATH.$request['legal_cert_pic'][0],date("YmdHis").rand(111,999).'.jpg');$zip->addFile(ROOT_PATH.$request['legal_cert_pic'][1],date("YmdHis").rand(111,999).'.jpg');  $zip->close();}}

一般的項目都是會有這個的壓縮包的類的

可以先phpinfo(),查看一下

可以直接用

至于去調用的話,這個zip是php內部封裝的,不用像使用Excel一樣的去在文件頭部寫引入什么的

也可以直接利用phpstrom自己的糾錯處理功能,自己去引入處理了

$zip = new \ZipArchive();

需要注意的是,寫文件路徑的時候,很多的博客博主,都是示例圖片,同目錄下面的什么test.jpg,導致在實際使用的時候,還是會遇到很多的問題,我暫時將我遇到的兩個問題給例舉說明一下,希望能幫到其他人

問題一:

? ? ? ? 不生成文件,不生成圖片,打印zip文件路徑,和圖片路徑發現確實是正確的.需要注意的是

不能使用

$_SERVER['SERVER_NAME'].$url;

應該用ROOT_PATH代替,上面那個會打印出網址來,但是目錄結構在使用時候是錯的

ROOT_PATH是實際的絕對路徑,是可以讀取到圖片的

問題二:

打印目錄有問題

它會解析絕對路徑里面的斜杠,然后建立好幾層的文件夾

這個時候,給重新改一下名字就好

因為我這個上傳的圖片都是jpg,所以直接都是jpg了,圖片格式不同的話,可以提前先獲取圖片格式,然后重命名成對應格式即可

直接目錄結構就對了,用str_replace()去轉義,也沒啥作用,并不能解決問題

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/163546.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/163546.shtml
英文地址,請注明出處:http://en.pswp.cn/news/163546.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2023年跨界融合創新應用合作發展大會-核心PPT資料下載

一、峰會簡介 本次大會主題為“創新地理信息價值 服務數字中國建設”。1天主論壇和6場專題論壇的報告,圍繞主題深入探討地理信息產業與相關重要應用領域的跨界融合和深化合作。 本屆大會將搭建地理信息產業與旅游、林業、環保、氣象、住建、水利、農業農村、電力等…

數據報文去哪兒了

背景 今天遇到一個詭異的現象,當接口附加一個IP時,主IP業務正常,附加IP死活不行,tcpdump抓包確可以正常抓到到業務的報文,但是在PREROUTING raw添加規則確沒有命中,說明報文沒有到netfilter框架內&#xff…

RTL8762D SDK

0 Preface/Foreword SDK: Software Development kit 1、硬件介紹 1.1 General Description A624RO基本信息: ultra-low-powerBluetooth 5.1 low energy applicationsa leading RF transceiverlow-power ARM Cortex-M4FIR transceiver 1.1.1 MCU platform MCU…

openssl加解密-干貨分享

0.需要包含的頭文件和預定義常量 #include <openssl/rand.h>#include <fstream>#include <openssl/aes.h>#include <openssl/rand.h>// 加密密鑰和初始化向量&#xff08;IV&#xff09;長度#define AES_KEY_LENGTH 32#define AES_IV_LENGTH 16 1.密…

競賽選題 題目:垃圾郵件(短信)分類 算法實現 機器學習 深度學習 開題

文章目錄 1 前言2 垃圾短信/郵件 分類算法 原理2.1 常用的分類器 - 貝葉斯分類器 3 數據集介紹4 數據預處理5 特征提取6 訓練分類器7 綜合測試結果8 其他模型方法9 最后 1 前言 &#x1f525; 優質競賽項目系列&#xff0c;今天要分享的是 基于機器學習的垃圾郵件分類 該項目…

3分鐘使用 WebSocket 搭建屬于自己的聊天室(WebSocket 原理、應用解析)

文章目錄 WebSocket 的由來WebSocket 是什么WebSocket 優缺點優點缺點 WebSocket 適用場景主流瀏覽器對 WebSocket 的兼容性WebSocket 通信過程以及原理建立連接具體過程示例Sec-WebSocket-KeySec-WebSocket-Extensions 數據通信數據幀幀頭&#xff08;Frame Header&#xff09…

組合數學學習

指數生成函數可以與排列結合在一起&#xff0c;而冪級數和 組合結合在一起 如果要進行計算的值不是一個具體的值&#xff0c;那么就要考慮生成函數

Windows如何使用key登錄Linux服務器

場景&#xff1a;因為需要回收root管理員權限&#xff0c;禁止root用戶遠程登錄&#xff0c;辦公環境只允許普通用戶遠程登錄&#xff0c;且不允許使用密碼登錄。 一、生成與配置ssh-key 1.使用root管理員權限登錄到目標系統。 2.創建一個新的普通用戶&#xff0c;和設置密碼用…

Java,File類與IO流,File類與IO流的概述

File的概述&#xff1a; File定義在java.io包下。 一個File對象代表硬盤或網絡中可能存在的一個文件或者文件目錄&#xff08;俗稱文件夾&#xff09;&#xff0c;與平臺無關。 File能新建、刪除、重命名文件和目錄&#xff0c;但File不能訪問文件內容本身。如果需要訪問文件…

用uniapp在微信小程序實現畫板(電子簽名)功能

目錄 一、效果展示 二、插件推薦與引入 三、代碼具體應用 四、h5端將base64轉換為url 一、效果展示 二、插件推薦與引入 手寫板、簽字板&#xff1b;<zwp-draw-pad /> - DCloud 插件市場 這個在微信小程序引入時內容簡單&#xff0c;且涉及的方法很多&#xff0c;…

【C/C++】排序算法代碼實現

這里&#xff0c;匯總了常見的排序算法具體代碼實現。使用C語言編寫。 排序算法實現 插入排序冒泡排序選擇排序快速排序希爾排序歸并排序 插入排序 #include <stdio.h> #include <stdlib.h>void InsertSort(int arr[],int n){int i,j,temp;for(i 1;i < n;i){ …

Pinia狀態持久化——插件pinia-plugin-persistedstate

pinia-plugin-persistedstate 旨在通過一致的 API 為 Pinia Store 提供持久化存儲。如果希望保存一個完整的 Store&#xff0c;或者需要細粒化配置 storage 和序列化的方式&#xff0c;該插件都提供了相應的功能&#xff0c;并且可以在想要持久化的 Store 上使用相同的配置。 …

Python 異常的傳遞性

實例 這里就簡單用2個function來演示一下異常的傳遞性 func1 這里num 1/0明顯是一個ZeroDivisionError錯誤&#xff0c;作為演示 def func1():print("fun1 開始執行")num 1 / 0print("func1 結束執行") func2 def func2():print("func2 開始執…

tomcat國密ssl測試

文章目錄 程序包準備部署配置訪問測試 程序包準備 下載 tomcat8.5 https://www.gmssl.cn/gmssl/index.jsp 下載 tomcat 國密組件及證書 本次測試所有的程序文件均已打包&#xff0c;可以直接 點擊下載 部署配置 自行完成 完成centos 的jdk配置。 部署tomcat,將 gmssl4t.jar…

數字孿生農村供水工程平臺:為鄉村振興注入新活力

隨著科技的不斷進步&#xff0c;數字孿生技術逐漸成為各行業創新發展的重要驅動力。在水利領域&#xff0c;數字孿生農村供水平臺以其獨特的優勢&#xff0c;為農村供水系統帶來了革命性的變革。本文將為您詳細介紹數字孿生農村供水平臺的核心特點及優勢&#xff0c;帶您領略智…

深度學習常見激活函數:ReLU,sigmoid,Tanh,softmax,Leaky ReLU,PReLU,ELU整理集合,應用場景選擇

文章目錄 1、ReLU 函數&#xff08;隱藏層中是一個常用的默認選擇&#xff09;1.1 優點1.2 缺點 2、sigmoid 函數2.1 優點2.2 缺點 3、Tanh 函數3.1 優點3.2 缺點 4、softmax 函數&#xff08;多分類任務最后一層都會使用&#xff09;5、Leaky ReLU 函數5.1 優點5.2 缺點 6、PR…

mongo DB -- aggregate分組查詢后字段展示

一、分組查詢 在mongoDB中可以使用aggregate中的$group操作對集合中的文檔進行分組,但是查詢后的數據不顯示其他字段,只顯示分組字段 aggregate進行分組示例 db.collection.aggregate([{$group: {_id: "$field"}},]) 查詢后顯示 展開只顯示兩個字段 二、顯示所有字段…

APM工具skywalking部署

一 整體架構 整個架構&#xff0c;分成上、下、左、右四部分&#xff1a; 上部分 Agent &#xff1a;負責從應用中&#xff0c;收集鏈路信息&#xff0c;發送給 SkyWalking OAP 服務器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 數據信息。而我們目前采用的是&…

Rust - cargo項目里多個二進制binary crate的編譯運行

目錄 foo - Cargo.toml - src - - main.rs - - bin - - - other-bin.rs將除默認入口文件外待作為二進制crate處理的文件放在src/bin目錄下 方法一&#xff1a; 命令行增加配置項 --bin xxx cargo run --bin foo // 注意! 這里是包名&#xff0c;不是main cargo run --bin o…

SQL基礎理論篇(九):存儲過程

文章目錄 簡介存儲過程的形式定義一個存儲過程使用delimiter定義語句結束符存儲過程中的三種參數類型流控制語句 存儲過程的優缺點參考文獻 簡介 存儲過程Stored Procedure&#xff0c;SQL中的另一個重要應用。 前面說的視圖&#xff0c;只能勉強跟編程中的函數相似&#xff…