PHP代码不保存.csv文件中的表单输入

时间:2013-02-09 21:20:13

标签: php csv

我正在尝试在.csv文件中保存一些在线的变量,但它不起作用。我试图自己创建文件并运行代码并让代码在运行时创建文件。但是,在这两种情况下它都不起作用

<html>
<body>
<?php

    $name = $_POST['name'];
    $gender = $_POST['gender'];
    $nationality = $_POST['nationality'];

    if($nationality == "Other")
    $nationality = $_POST['otherNationality'];


    $job = $_POST['job'];
    $country = $_POST['country'];
    $years = $_POST['years'];

    $fh = fopen("results.csv", "a");
    $personalInfo = $name. ", " . $gender . ", " . $nationality . ", " . $job . ", " . $country . ", " .  $years; 

if($fh){
        fwrite($fh, $personalInfo);
        fclose($fh);
    }

&GT;

2 个答案:

答案 0 :(得分:0)

在csv写作方面似乎没有任何错误 - 只要表单字段被初始化。

您希望确保您有权写入该文件
_如果这是Windows,请创建文件并授予每个人写入权限 _如果这是linux:

touch results.csv;  
chmod 777 results.csv

或者,尝试从命令行php csvscript.php

执行它

答案 1 :(得分:0)

正如我所说,这是一个权限问题,由于您无法访问CLI,因此可以使用以下

$name = $_POST['name'];
$gender = $_POST['gender'];
$nationality = $_POST['nationality'];

if($nationality == "Other")
$nationality = $_POST['otherNationality'];


$job = $_POST['job'];
$country = $_POST['country'];
$years = $_POST['years'];

$opr = chmod ( "results.csv" , 0755 ); 
if($opr)
{
$fh = fopen("results.csv", "a");
$personalInfo = $name. ", " . $gender . ", " . $nationality . ", " . $job . ", " . $country . ", " .  $years; 

 if($fh){
    fwrite($fh, $personalInfo);
    fclose($fh);
}

}
else 
{
     echo "Not able to change the permission :( "; 
}

我希望这个帮助