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

または、コマンドラインphpcsvscript.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 に答える