我想创建一个新的 CSV文件,其中包含一些值并存储在我的上传目录下。任何人都可以指导我如何创建CSV以及用PHP编写的代码。另外,我想要CSV文件,其中包含表单输入参数的名称和当前日期。
示例:Test_24-04-2014.csv
。
如果您可以建议我如何定义列标题,那也很棒。
示例:
----------------------------------------
Sr. No Name Invt.
----------------------------------------
答案 0 :(得分:1)
以此为例,首先,您需要一个表格:
样本表格:
<!-- HTML -->
<form method="POST" action="processes_the_form.php">
Sr No.: <input type="text" name="srno" /><br/>
Name: <input type="text" name="name" /><br/>
Invt.: <input type="text" name="invt" /><br/>
<input type="submit" name="submit" value="Add to CSV" />
</form>
然后在PHP中处理它:
<?php
// set delimitter (tab or comma)
$delimitter = chr(9); // this is a tab
$newline = "\r\n"; // CRLF or whatever you want
// handle form submit
if(isset($_POST['submit'])) {
// gather values
$srno = $_POST['srno'];
$name = $_POST['name'];
$invt = $_POST['invt'];
// check for the csv file
$directory = ''; // sample: path/to/csv/
$prefix = 'Test_';
$date = date('d-m-Y');
$file_path = $directory . $prefix . $date . '.csv';
// initial creation
if(!file_exists($file_path)) {
$file = fopen($file_path, 'w');
// add the headers
$headers = array('SrNo', 'Name', 'Invt');
fputcsv($file, $headers, $delimitter);
fclose($file);
}
$formatted_data = array($srno, $name, $invt);
// put them inside the file and append on end
$file = fopen($file_path, 'a');
fputcsv($file, $formatted_data, $delimitter);
fclose($file);
}
?>
注意:您可能需要设置对该PHP的权限才能在该特定路径上创建/写入
答案 1 :(得分:0)
要在CSV中定义列标题,您需要在包含列标题的开头添加一行。例如:
"First name", "Family name", "Age"
"John", "Doe", "21"
"Jack", "Smith, "34"
要从PHP生成CSV文件,您可以使用fputcsv
function