PHP生成多個word並打包爲zip

記得安裝zip擴展哦

<?php
$data = array(
    array(1,2,3),
    array(1,2,13),
);
// 生成的壓縮包位置
$filename = "/tmp/wordTest.zip";
$zip = new ZipArchive();

// 打開壓縮包
$zip->open($filename,ZipArchive::CREATE);
$allWord = array();
// 循環生成文件
foreach ($data as $key => $value)
{
    // 開啓緩衝區
    ob_start();

    $type = '這是表頭';
    $content = ' 
        <div><h5>這是:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$type.'</h5><div/>
        <div><h5>標題:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$key. '</h5><div/>    
    '; 
    // 輸出
    echo $content;

    // 得到輸出內容
    $data = ob_get_contents();

    
    // 關閉緩衝區
    ob_end_clean();
    
    // 生成的word存放地址
    $wordname="/tmp/test".$key.".doc";
    $allWord[] = $wordname;
    // 打開文件  沒有會創建
    $fp=fopen($wordname,"wb");
    
    // 寫入文件
    fwrite($fp,$data);
    
    // 關閉文件
    fclose($fp);
    
    // 把文件放入壓縮包
    $zip->addFile($wordname,basename($wordname));

}
// 關閉壓縮包
$zip->close();

// 此段代碼可選  用於刪除已生成的word文件
foreach ($allWord as $aKey => $aVal)
{
    // 刪除生成的word
    unlink($aVal);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章