【发布时间】:2018-11-29 20:49:20
【问题描述】:
好的,也许这是一个简单或明显的问题,但是您如何获取文件并让服务器读取数据?我对网络开发的某些方面很陌生,但我认为您可以通过客户端/浏览器读取内容,然后通过 php 操作服务器上的数据?...所以如果不是这种情况,您是否必须上传文件,所以将它下载到服务器然后让它读取数据,删除文件然后操作数据?试图找到一些示例代码,但从 W3 到 PHP 教程的所有内容都是关于您是否在本地拥有该文件。我计划让用户在他们的机器上创建数据、cvs 文件,然后以某种方式将其上传/读取到服务器。我正在寻找一个概念,但如果您能指出一些示例代码,那也很棒。谢谢
顺便说一句,我使用 PHP 和 HTML,我看过一些 java 的东西,但我不是很熟悉。
*更新了一个小代码sn-p。它不会打开流/文件,因为 $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>
【问题讨论】:
-
你可以访问存储它的tmp文件夹使用内容然后不要上传它
-
您没有提供任何代码,因此很难给出完整的答案。我可以告诉您的是,您将希望通过表单 POST 或 AJAX 调用(客户端页面上的 JavaScript 代码)将文件发送到服务器上的端点。然后您可以通读服务器上的文件。或者,您可以将 csv 中的所有原始数据作为有效负载发送到服务器,无需文件。
-
您能否指出如何将所有原始数据从 csv 发送到服务器作为有效负载的方向?我很迷茫如何连接/操作客户端文件。所有 fopens/freads 都不起作用,因为 php 在服务器上而不是客户端上。