打印或回送表单数据到CSV文件

时间:2018-07-15 17:24:49

标签: php csv

为了给在线表格数据编写php代码并在我的网站上将其打印为CSV文件,我多次收听了youtube教程。老师在本教程中使用的代码可以在我的本地计算机上完美运行,但是由于我现在已将该页面上传到我的网站上,因此无法在CSV文件上打印任何内容。

当站点用户在线填写表单并单击我的站点上的“提交”按钮时-表单中的任何信息都不会打印在同一CSV文件中。为什么?

这是我从教程中获得的代码,并写成相同的代码:

<?php   
if(isset($_POST['submit'])){
$names = $_POST['names'];
$telephone = $_POST['telephone'];
$email = $_POST['email'];
$job = $_POST['job'];
$city = $_POST['city'];
$data = $names . "," . $telephone . "," . $email . "," . $job . "," . $city;

$file = "cardealer.csv";

file_put_contents ($file, $data . PHP_EOL, FILE_APPEND);

echo "Thank you for completing this form, we will reply soon";
}
?>

先生,我如何解决此问题,我使用了教程中提供的确切离线代码。

在此感谢您的友好举止,以帮助像我们这样的初学者。

谢谢

1 个答案:

答案 0 :(得分:0)

此操作可基于CSV数据导出excel文件并下载文件 如果要编写文件,则应考虑使用chmod 像这样

chmod($folder_path. $file_name. ".".$ext, '775');

也在这部分

 fopen("php://output",w);

您可以将其更改为

fopen($path_to_file,w);

您可以将MIME-TYPE和文件扩展名更改为所需的内容。

/**
*the $array  the data to be converted to CSV
*
*/
    function array_to_csv_download($array, $filename = "export.xls", $delimiter=";") {
        header('Content-Type: application/xls');
        header('Content-Disposition: attachment; filename="'.$filename.'";');
        header("Pragma: no-cache"); 
        header("Expires: 0");

        // open the "output" stream
        $f = fopen('php://output', 'w');

        foreach ($array as $line) {
            fputcsv($f, $line, $delimiter);
        }
    }