第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 file_put_contents php 創(chuàng)建 csv 文件的下載彈出窗口(標(biāo)題)

如何使用 file_put_contents php 創(chuàng)建 csv 文件的下載彈出窗口(標(biāo)題)

PHP
不負(fù)相思意 2023-06-24 17:44:55
我想知道是否有人可以給我一些關(guān)于如何創(chuàng)建下載彈出窗口以及用戶保存它的位置的指示。因此,當(dāng)他們單擊我的“下載為 CSV”按鈕時,它會提示用戶在其目錄中選擇目標(biāo)位置。目前,我可以讓下載的文件正常工作,但前提是我從命令行運(yùn)行它。我不太確定如何用它來實(shí)現(xiàn)標(biāo)題。主要問題是因?yàn)槲覠o法使用 fopen()、fwrite() 和 fclose(),因?yàn)槲抑幌?csv 文件添加一個(雖然很大)字符串。以下是一些僅在我本地運(yùn)行該程序時才有效的代碼。  $output = print_r(cleanUpEntry($info), true);     file_put_contents("output.csv", $output);它將文件下載到與我的 PHP 文件相同的文件夾,但我需要它在網(wǎng)頁上工作,以便用戶可以下載該文件。注意* 我不能使用 fputcsv,因?yàn)樗贿m用于數(shù)組,而我的是一個多維數(shù)組,所以獲取 print_r 的輸出要容易得多。
查看完整描述

2 回答

?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個贊

將 CSV 文件發(fā)送到瀏覽器


$output = ...

header('Content-Type: text/csv');

echo $output;

exit;

瀏覽器傾向于打開 CSV、PDF 等文件。要保存文件而不是打開文件,請?zhí)砑?HTTP header Content-Disposition。對于較大幾個字節(jié)的文件,Content-Length也可以使用。


強(qiáng)制瀏覽器下載文件。


$output = ...

$filename = "output.csv";

header('Content-Type: text/csv');

header('Content-Disposition: attachment; filename="' . $filename . '"');

header("Content-Length: " . strlen($output));

echo $output;

exit;

發(fā)送靜態(tài)文件到瀏覽器


您的 Web 服務(wù)器(Apache、Nginx 等)應(yīng)該處理靜態(tài)文件,但如果您出于安全或其他原因需要通過 PHP 運(yùn)行它......


$file = './files/myfile.csv';

header('Content-Type: text/csv');

readfile($file);

exit;

強(qiáng)制瀏覽器下載靜態(tài)文件。


$file = './files/myfile.csv';

$filename = basename($file); // or specify directly, like 'output.csv'

header('Content-Type: text/csv');

header('Content-Disposition: attachment; filename="' . $filename . '"');

header("Content-Length: " . filesize($file));

readfile($file);

exit;


查看完整回答
反對 回復(fù) 2023-06-24
?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個贊

這使用老派fopen, fputcsv, 和fclose, 而不是file_put_contents,但總是對我有用......


    function csv_from_array($fileName, $data, $header_included = FALSE){

        // Downloads file - no return

        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

        header('Content-Description: File Transfer');

        header("Content-type: text/csv");

        header("Content-Disposition: attachment; filename={$fileName}");

        header("Expires: 0");

        header("Pragma: public");

        $fh = @fopen( 'php://output', 'w' );

        foreach($data as $line) {

            // Add a header row if not included

            if (!$header_included) {

                // Use the keys as titles

                fputcsv($fh, array_keys($line));

            }

            fputcsv($fh, $line);

        }

        fclose($fh);

        exit;

    }

您是否因某種原因需要使用?file_put_contents


如果文件已經(jīng)存在/不需要從 php 數(shù)組創(chuàng)建,您可以修改如下:


    function download_csv($fileName){

        // Downloads file - no return

        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

        header('Content-Description: File Transfer');

        header("Content-type: text/csv");

        header("Content-Disposition: attachment; filename={$fileName}");

        header("Expires: 0");

        header("Pragma: public");

        exit;

    }


查看完整回答
反對 回復(fù) 2023-06-24
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號