0

我正在尝试将一些变量保存在在线的 .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);
    }

?>

4

2 回答 2

0

在 csv 写入方面似乎没有任何问题 - 只要表单字段被初始化。

您要确保您有权写入该文件
_如果这是Windows,请创建文件并授予所有人写入权限
_如果这是Linux:

touch results.csv;  
chmod 777 results.csv

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

于 2013-02-09T21:33:58.467 回答
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 :( "; 
}

我希望这有帮助

于 2013-02-12T09:29:49.063 回答