Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 大尺寸CSV文件上载_Php_Csv_Xls - Fatal编程技术网

Php 大尺寸CSV文件上载

Php 大尺寸CSV文件上载,php,csv,xls,Php,Csv,Xls,我想知道如何使用PHP从大型CSV或XLS文件上传和检索数据。有可用的PHP库吗 我尝试使用下面提到的代码,但是上传需要花费大量时间。这是使用cron实现的唯一方法,还是有其他方法 $file=fopen(base_url()."/xml/sample.csv","r"); while(! feof($file)) { pr(fgetcsv($file)); } fclose($file); 运行脚本的一种方法这似乎是最好的方法 $this->db->query("LOA

我想知道如何使用PHP从大型CSV或XLS文件上传和检索数据。有可用的PHP库吗

我尝试使用下面提到的代码,但是上传需要花费大量时间。这是使用cron实现的唯一方法,还是有其他方法

$file=fopen(base_url()."/xml/sample.csv","r");
while(! feof($file))
{
    pr(fgetcsv($file));
}

fclose($file);

运行脚本的一种方法这似乎是最好的方法

$this->db->query("LOAD DATA LOCAL INFILE '".base_url()."/xml/sample.csv' 
REPLACE INTO TABLE TABLE_NAME FIELDS TERMINATED BY ',' 
ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES");
运行脚本的另一种方法是

<?php
$row = 1;
if (($handle = fopen("ptt.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if($row == 1){ $row++; continue; }
$num = count($data);
           $row++;
    for ($c=0; $c < $num; $c++) {
    if(strpos($data[$c], 'Finished') !== false) {
    $c++;
echo "<TR> <TD nowrap>" . $data[$c] . "</ TD>"; }
    Else{
        echo "<TD nowrap>" .  $data[$c] . "</ TD>";
        }
    }
}
fclose($handle);
}
?>


您遇到了什么问题?上传一个大文件?解析一个大文件?(并不是说你提到了除了上传以外的任何东西)我只需要在正常情况下获取csv文件中的所有数据,这需要很多时间获取它在哪里?你拿它干什么?把它放进数据库?展示它?用PHP构建一个巨大的数组?是否将其保存在Web服务器上?对于CSV、XLS、ONIX等特定格式,答案会有所不同,因为它们的格式完全不同。将其放入数据库中,以便将CSV文件加载到数据库中(假设为MySQL,因为您不必费心提及),使用。。。。不要试图在PHP中实现它