Как открыть CSV-файл с помощью PHP и fopen - PullRequest
0 голосов
/ 03 декабря 2018

Используя различные фрагменты кода, которые я нашел в Интернете, я собрал этот код:

HTML:

<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="csv" value="" />
<input type="submit" name="submit" value="Save" /></form>

PHP:

<?php
$file = fopen($csv, 'r');
  echo "<table>" ;
while (($line = fgetcsv($file)) !== FALSE) {
  //$line is an array of the csv elements
  echo "<tr><td>";
  echo $line[0];
  echo "</td><td>";
  echo $line[2];
  echo "</td><td>";
  echo $line[5] * 1000;
  echo "</td></tr>";


}
fclose($file) . " ";

echo "</table>";

?>

Это не сработает, но если я заменим

fopen('MatchResults-12789503873441817.csv'

на

fopen('<name of ulpaded file>.csv'

, это будет хорошо.

Есть предложения, как это решить?

Редактировать: изменено

$file = fopen('csv', 'r');

на

$file = fopen($csv, 'r');

1 Ответ

0 голосов
/ 03 декабря 2018

Когда вы используете метод post, как в

<form action="upload.php" method="post" enctype="multipart/form-data">
// -----------------------^^^^^^^^^^^^^

Данные будут отправлены в скрипт PHP в массиве с именем $_POST

Если поле ввода называется csv как в

<input type="text" name="csv" value="" />
// ----------------^^^^^^^^^^

Тогда должно быть вхождение в $_POST, называемое csv

$file = fopen($_POST['csv'], 'r');

, хотя вы должны проверить, что данные действительно были отправлены перед их использованием

if ( isset($_POST['csv'] ) {

    $file = fopen($_POST['csv'], 'r');

    // other code

}
...