将输入写入 CSV
Write Inputs to CSV
我是 PHP 的新手,无法理解这一点。
我有 2 个输入(姓名和电子邮件)。我需要将它写入 CSV 文件并点击下载。我发现我需要 fputcsv() 函数并形成数组数组...
但不知何故我看不出如何正确地形成该数组...有人可以给我提示吗?
我已经在写 txt 文件了...但就是无法将其转换为 csv...
public function invokeAction(CakeRequest $request){
if ($this->request->is('post')) {
if(isset($_POST['subName']) && isset($_POST['subEmail'])) {
$data = $_POST['subName'] . '-' . $_POST['subEmail'] . "\n";
$ret = file_put_contents('../tmp/subs.txt', $data, FILE_APPEND | LOCK_EX);
unset($_POST['subName']);
unset($_POST['subEmail']);
}
}
您唯一需要做的就是将 subName 和 subEmail 之间的破折号替换为“,”,并将您的文件重命名为 subs.csv。
public function invokeAction(CakeRequest $request){
if ($this->request->is('post')) {
if(isset($_POST['subName']) && isset($_POST['subEmail'])) {
$data = $_POST['subName'] . ',' . $_POST['subEmail'] . "\n";
$ret = file_put_contents('../tmp/subs.csv', $data, FILE_APPEND | LOCK_EX);
unset($_POST['subName']);
unset($_POST['subEmail']);
}
}
CSV 不是一种特殊的文件格式。它只是具有特定格式的纯文本。
谢谢维姆的回答。我的解决方案几乎相同,但以防万一有人需要它:
public function invokeAction(CakeRequest $request){
if ($this->request->is('post')) {
if(isset($_POST['subName']) && isset($_POST['subEmail'])) {
// $data = $_POST['subName'] . '-' . $_POST['subEmail'] . "\n";
$subName=$_POST['subName'];
$subEmail=$_POST['subEmail'];
$subs[] = array("$subName","$subEmail");
//$ret = file_put_contents('../tmp/subs.txt', $data, FILE_APPEND | LOCK_EX);
$fp = fopen('../webroot/subs.csv', 'a');
foreach ($subs as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
unset($_POST['subName']);
unset($_POST['subEmail']);
}
}
我是 PHP 的新手,无法理解这一点。
我有 2 个输入(姓名和电子邮件)。我需要将它写入 CSV 文件并点击下载。我发现我需要 fputcsv() 函数并形成数组数组...
但不知何故我看不出如何正确地形成该数组...有人可以给我提示吗?
我已经在写 txt 文件了...但就是无法将其转换为 csv...
public function invokeAction(CakeRequest $request){
if ($this->request->is('post')) {
if(isset($_POST['subName']) && isset($_POST['subEmail'])) {
$data = $_POST['subName'] . '-' . $_POST['subEmail'] . "\n";
$ret = file_put_contents('../tmp/subs.txt', $data, FILE_APPEND | LOCK_EX);
unset($_POST['subName']);
unset($_POST['subEmail']);
}
}
您唯一需要做的就是将 subName 和 subEmail 之间的破折号替换为“,”,并将您的文件重命名为 subs.csv。
public function invokeAction(CakeRequest $request){
if ($this->request->is('post')) {
if(isset($_POST['subName']) && isset($_POST['subEmail'])) {
$data = $_POST['subName'] . ',' . $_POST['subEmail'] . "\n";
$ret = file_put_contents('../tmp/subs.csv', $data, FILE_APPEND | LOCK_EX);
unset($_POST['subName']);
unset($_POST['subEmail']);
}
}
CSV 不是一种特殊的文件格式。它只是具有特定格式的纯文本。
谢谢维姆的回答。我的解决方案几乎相同,但以防万一有人需要它:
public function invokeAction(CakeRequest $request){
if ($this->request->is('post')) {
if(isset($_POST['subName']) && isset($_POST['subEmail'])) {
// $data = $_POST['subName'] . '-' . $_POST['subEmail'] . "\n";
$subName=$_POST['subName'];
$subEmail=$_POST['subEmail'];
$subs[] = array("$subName","$subEmail");
//$ret = file_put_contents('../tmp/subs.txt', $data, FILE_APPEND | LOCK_EX);
$fp = fopen('../webroot/subs.csv', 'a');
foreach ($subs as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
unset($_POST['subName']);
unset($_POST['subEmail']);
}
}