如何使用PHP和fopen打开CSV-fil

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (64)

使用我在互联网上找到的不同代码片段,我将这些代码组合在一起:

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');
提问于
用户回答回答于

当您使用的方法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

}

扫码关注云+社区

领取腾讯云代金券