如何从客户端浏览器到服务器php获取文件?
好的,也许这是一个简单或明显的问题,但是如何获取文件并让服务器读取数据?我对web开发的某些方面还不熟悉,但我假设您可以通过客户端/浏览器读取内容,然后通过php?在服务器上操作数据?。。。如果不是这样的话,你必须上传文件,下载到服务器,然后让它读取数据,删除文件,然后处理数据吗?试图找到一些示例代码,但是从W3到PHP教程的所有内容都是关于您是否在本地拥有该文件。我计划让用户在他们的机器上创建数据cvs文件,然后以某种方式将其上传/读取到服务器。我正在寻找一个概念,但如果你能指出一些例子代码,这将是伟大的太。谢谢 顺便说一句,我使用PHP和HTML,我看到了一些java的东西,但我不是很熟悉 *更新了一个小代码段。它不会打开流/文件,因为$file只是客户端计算机上的一个名称,不在我的服务器上。我以为它会把它装进去如何从客户端浏览器到服务器php获取文件?,php,server,client,Php,Server,Client,好的,也许这是一个简单或明显的问题,但是如何获取文件并让服务器读取数据?我对web开发的某些方面还不熟悉,但我假设您可以通过客户端/浏览器读取内容,然后通过php?在服务器上操作数据?。。。如果不是这样的话,你必须上传文件,下载到服务器,然后让它读取数据,删除文件,然后处理数据吗?试图找到一些示例代码,但是从W3到PHP教程的所有内容都是关于您是否在本地拥有该文件。我计划让用户在他们的机器上创建数据cvs文件,然后以某种方式将其上传/读取到服务器。我正在寻找一个概念,但如果你能指出一些例子代码,
<!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中的所有原始数据作为有效负载发送到服务器吗?我太不知道如何连接/操作客户端文件了。所有fopen/fread都不工作,因为php在服务器上,而不是在客户端。警告:fopen(mydata.csv):无法打开流:第25行的/Applications/MAMP/htdocs/scsrs/test.php中没有这样的文件或目录无法打开文件。我将我的输出放入。我错过了一些东西。。。你是说我需要下载文件。。。很抱歉造成混淆,但我无法读取文件,或者如果文件不在我的机器上,我认为我可以读取。html文件输入标记只会返回文件名,仅此而已。我想我需要把文件带到服务器上,然后才能读入,这并不意味着如果我可以读入并发送文件,那么效率会更高。。。您是否在表单上添加了enctype=“多部分/表单数据”?
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']);