簡単に言えば、HTML フォームから CSV ファイルをアップロードし、それを PHP の配列として保存できるスクリプトがあります。このスクリプトはうまく機能していますが、CSV ファイルを多次元配列として保存する必要があります。
これは私のCSVファイルがどのように見えるかです:
question1,answer1,answer2,answer3,answer4
question2,answer1,answer2,answer3,answer4
question3,answer1,answer2,answer3,answer4
これは、要素を保存する順序です。
uploaded[1][1],uploaded[1][2],uploaded[1][3],uploaded[1][4],uploaded[1][5]
uploaded[2][1],uploaded[2][2],uploaded[2][3],uploaded[2][4],uploaded[2][5]
uploaded[3][1],uploaded[3][2],uploaded[3][3],uploaded[3][4],uploaded[3][5]
これは私の作業用アップロードスクリプトです
<?php
if(isset($_POST['savecsv']))
{
$csv_array = Array();
$file = fopen($_FILES['upload_file']['tmp_name'], 'r');
if($file){
while (($line = fgetcsv($file)) !== FALSE) {
//$line is an array of the csv elements
array_push($csv_array,$line);
}
fclose($file);
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="file" name="upload_file" />
<input type="submit" name="savecsv"/>
</form>
配列が値 0 から始まることは知っていますが、この CSV は Web サイトのクイズに質問を追加するためのアップロード バージョンです。コードの残りの部分をセットアップした方法では、[1][1] から上方向のみが処理されます。それはトピックから外れているため、理由を詳しく説明する必要はありませんが、それは私がそれを行うために必要な方法です. したがって、[0] はすべて空白のままにする必要があると思います。
また、各行には常に 1 行あたり 5 つの要素があります。それ以上でもそれ以下でもありません。
私はオンラインで広範囲に検索しましたが、これに適した答えが見つからないようです。
すべてのヘルプは大歓迎です。