为了给在线表格数据编写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";
}
?>
先生,我如何解决此问题,我使用了教程中提供的确切离线代码。
在此感谢您的友好举止,以帮助像我们这样的初学者。
谢谢
答案 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);
}
}