如何从客户端浏览器获取文件到服务器php?

时间:2018-06-20 16:25:43

标签: php server client

好吧,也许这是一个简单或显而易见的问题,但是如何获取文件并让服务器读取数据?我是Web开发人员的新手,但我认为您可以通过客户端/浏览器读取内容,然后通过php处理服务器上的数据?...如果不是这种情况,您必须上传文件,那么将其下载到服务器,然后让其读取数据,删除文件然后处理数据?试图找到一些示例代码,但是从W3到PHP教程的所有内容都与本地文件是否有关有关。我计划让用户在其计算机上创建数据,cvs文件,然后以某种方式将其上传/读取到服务器。我正在寻找一个概念,但是如果您能指出一些示例代码,那也将是很棒的。谢谢

顺便说一句,我使用PHP和HTML,我看到了一些Java的东西,但是我并不熟悉。

*更新了一个小的代码段。它不会打开流/文件,因为$ file只是客户端计算机上的名称,并不位于我的服务器上。我以为它会加载它.....

<!DOCTYPE html>
<html>
<body>

<?php

if(isset($_POST["cvsfile"])){
$file = $_POST["cvsfile"];

  $handle = fopen($file, 'r');
   if (!$handle)
    die('Cannot open  file.');
  $rows = array();
 //Read the file as csv
  while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

      $rows[] =  $data;

   }

     print_r($array);

  fclose($handle);
}
?>

<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
    CVS File:
    <input type="file" name="cvsfile">
    <input type="submit" value="file" name="submit">
 </form>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

    function CSVImport($file) {
  $handle = fopen($file, 'r');
  if (!$handle)
      die('Cannot open  file.');
  $rows = array();
  //Read the file as csv
  while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

      $rows[] =  $data;

  }

  fclose($handle);

  return $rows;
}

$csvArray = CSVImport($file['tmp_name']);

如果您上传文件,那么它将从文件中获取所有数据,而无需在任何地方下载文件