0

CSV ファイルをアップロードしてその内容を配列に取得しようとしていますが、次のエラーが発生します: (10 の後の各行でこのエラーの倍数)

Notice: Undefined offset: 1 in C:\xampp\htdocs\amazon\upload_file.php on line 10

以下は私のコードのサンプルです:

if ($handle = file_get_contents($_FILES["file"]["tmp_name"])) {

$data = array();

while ($csv = array(file_get_contents($_FILES["file"]["tmp_name"]))) {
    $data = array(
        'order-id' => $csv[0],
        'order-item-id' => $csv[1], //This is line 10.
        'purchase-date' => $csv[2],
        'payments-date' => $csv[3],
4

2 に答える 2

2

file()opens は、それぞれを配列要素として配置します。fgetcsv()およびその関数ファミリーは、csv ファイルを扱うときに非常に便利です。

file_get_contents は文字列を返すため、コードarray(file_get_contents($_FILES["file"]["tmp_name"]))には 1 つの要素しかありません。

于 2012-12-10T16:14:01.573 に答える
1

この問題は、ファイルが 1 行しかない場合に発生します。

これを行う必要があると思います。

$row = explode(",", $csv[0]);
$data = array(
    'order-id' => $fileArray[0],
    'order-item-id' => $row[1], //This is line 10.
    'purchase-date' => $row[2],
    'payments-date' => $row[3]
);

fgetcsv()また、 CSV ファイルの解析などの関数を使用することもできます。

于 2012-12-10T16:14:10.213 に答える