Custom admin plugin read CSV

时间:2018-11-23 作者:Jérémie Czk

我在admin中制作了一个插件,非常简单。我只需要读取CSV文件,将数据放入数组。

我用这个:

$csv = array();

    if (($file = fopen(\'my-file.csv\', \'r\')) === false){
        echo \'There was an error loading the CSV file.\';
    }else{
        while (($line = fgetcsv($file, 1000)) !== false){
            $csv[] = $line;
        }
        fclose($handle);
    }
我在网上找到了这个函数,当我在本地服务器(wordpress之外)的一个php文件中使用它时,它就可以工作了。

问题是我无法读取文件。我把文件放在插件目录中。

我尝试了很多方法来链接url,但没有一种有效。

有人知道我怎么读这个文件吗?

1 个回复
最合适的回答,由SO网友:Elkrat 整理而成

$\\u服务器[\'DOCUMENT\\u ROOT\']应该会让您得到照顾。查看以下内容:

<?php

echo \'Initializing Script...<br>\';

$filepath = $_SERVER[\'DOCUMENT_ROOT\']."/data/clients.csv";

echo "the file we seek:".$filepath."<br>";

$handle = fopen($filepath, "r") or die("Error opening file");

$i = 0;

while(($line = fgetcsv($handle)) !== FALSE) {
    if($i == 0) {
        $c = 0;
        foreach($line as $col) {
            $cols[$c] = $col;
            $c++;
        }
    } else if($i > 0) {
        $c = 0;
        foreach($line as $col) {
            $client_data[$i][$cols[$c]] = $col;
            $c++;
        }
    }
    $i++;
}
fclose($handle);
echo "inital loop good<br>";
echo "<pre>";

foreach ($client_data as $client_row){
    $data = $client_row[\'column_header_label\'];
    //do whatever       
    }
?>

结束