• PHP代码片段


    将数组拼接为 table 标签字符串

    <?php
    //判断是否是图片
    function isImage($string){
        $isImage = false;
        $pics = ['.png', '.jpg', '.gif'];
        foreach ($pics as $pic){
            if(strpos($string, $pic) != false){
                $isImage = true;
            }
        }
        return $isImage;
    }
    /**
     * 将数组输出为table
     * @param $arr
     * 数组
     * @param $len
     * 每行的列数
     * @return string
     * 返回拼装的标签字符串
     */
    function printTable($arr, $len){
        $result = '';
        // 记录当前是第几列
        $i = 0;
        if(!empty($arr)){
            $result .= '<table>';
            foreach ($arr as $valueKey => $valueInfo) {
                // 行开头加开头标签 tr
                if($i == 0){
                    $result .= '<tr>';
                }
                // 输出每行数据 td
                $result .= '<td>';
                if(isImage($valueInfo)){
                    $result .= '<img style=" 120px;" src='.$valueInfo.' />';
                }else{
                    $result .= '<p>'.$valueInfo.'</p>';
                }
                $result .= '</td>';
                // 行结尾
                if($i == $len - 1){
                    $result .= '</tr>';
                    $i = 0;
                    continue;
                }
                $i++;
            }
            $result .= '</table>';
        }
        return $result;
    }
    ?>

    下载文件

    /**
     * 将文件转为流,输出到客户端供下载
     * @param $filePath
     * 文件路径
     * @param $saveAsFileName
     * 下载的文件名
     */
    function downloadFile($filePath,$saveAsFileName){
        // 清空缓冲区并关闭输出缓冲
        ob_end_clean();
        //r: 以只读方式打开,b: 强制使用二进制模式
        $fileHandle=fopen($filePath,"rb");
        if($fileHandle===false){
            echo "Can not find file: $filePath
    ";
            exit;
        }
        header('Content-type: application/octet-stream');
        header('Content-Transfer-Encoding: binary');
        header('Accept-Ranges: bytes');
        header('Content-Length: '.filesize($filePath));
        header("Content-Disposition: attachment; filename="$saveAsFileName"");
        while(!feof($fileHandle)) {
            //从文件指针 handle 读取最多 length 个字节
            echo fread($fileHandle, 32768);
        }
        fclose($fileHandle);
    }
  • 相关阅读:
    【例题 6-21 UVA
    【例题 6-20 UVA
    【Codeforces Round #446 (Div. 2) C】Pride
    【Codeforces Round #446 (Div. 2) B】Wrath
    【Codeforces Round #446 (Div. 2) A】Greed
    【例题 6-19 UVA
    【CF675C】Money Transfers(离散化,贪心)
    【CF659E】New Reform(图的联通,环)
    【POJ1276】Cash Machine(多重背包单调队列优化)
    【HDU3507】Print Article(斜率优化DP)
  • 原文地址:https://www.cnblogs.com/hujingnb/p/10572778.html
Copyright © 2020-2023  润新知