运行PHP以获取google表单CSV

运行PHP以获取google表单CSV,php,wordpress,csv,google-sheets,Php,Wordpress,Csv,Google Sheets,我正在使用下面的代码,它在一个普通的php文档中工作,但是当我在wordpress中使用它时,它就不工作了。我安装了一个插件,允许我在页面上运行php代码。感谢您的帮助 <?PHP function readCSV($csvFile){ $file_handle = fopen($csvFile, 'r'); while (!feof($file_handle) ) { $line_of_text[] = fgetcsv($file_handle, 1024

我正在使用下面的代码,它在一个普通的php文档中工作,但是当我在wordpress中使用它时,它就不工作了。我安装了一个插件,允许我在页面上运行php代码。感谢您的帮助

<?PHP
function readCSV($csvFile){
    $file_handle = fopen($csvFile, 'r');
    while (!feof($file_handle) ) {
        $line_of_text[] = fgetcsv($file_handle, 1024);
    }
    fclose($file_handle);
    return $line_of_text;
}


// Set path to CSV file
$csvFile = 'https://docs.google.com/spreadsheets/d/1oC88LWXn4SgvVzK3wQAojXk7UM5tDjuWuMZDAjQTGjw/pub?gid=0&single=true&output=csv';

$csv = readCSV($csvFile);
echo '<pre>';
print_r($csv);
echo '</pre>';
?>
<?php

print_r($csv[0][1]);//prints row 1, column 1

?> <?php

print_r($csv[0][2]);//prints row 1, column 1

?>

您的
fopen
函数调用外部文档

共享主机提供商通常在
php.ini
中禁用
允许\u url\u fopen
以停止
远程文件包含
攻击

您需要使用
cURL
取回数据。这是一个例子。我选择使用
php://temp
stream存储返回的数据,因为本地不需要它。这将允许我们读取流指针,然后循环它,将每一行推入文本[]的
$line\u
数组

替代和较少推荐的解决方案


查找并定位站点加载的
php.ini
,并将
allow\u url\u fopen
修改为
1
您的
fopen
函数调用外部文档

共享主机提供商通常在
php.ini
中禁用
允许\u url\u fopen
以停止
远程文件包含
攻击

您需要使用
cURL
取回数据。这是一个例子。我选择使用
php://temp
stream存储返回的数据,因为本地不需要它。这将允许我们读取流指针,然后循环它,将每一行推入文本[]的
$line\u
数组

替代和较少推荐的解决方案


查找并定位您站点加载的
php.ini
,并将
allow\u url\u fopen
修改为
1

出现了什么问题?是否记录了任何错误?出现了什么问题?是否记录了任何错误?使用您的代码并得到以下错误:“解析错误:语法错误,意外的“}”在/home/advancedstorage/public_html/wp content/plugins/insert php/insert_php.php(48):eval()”第13行代码“@Eli抱歉。我在
$line
后面漏掉了一个分号,现在更正了。谢谢@ohgodwhy,我让它工作了,但唯一不工作的是wordpress没有显示print\r($csv[0][1]);使用您的代码并在/home/advancedstorage/public_html/wp content/plugins/insert php/insert_php.php(48):eval()第13行的代码中出现此错误“@Eli抱歉。我在
$line
后面漏掉了一个分号,现在更正了。谢谢@ohgodwhy,我让它工作了,但唯一不工作的是wordpress没有显示print\r($csv[0][1]);
function readCSV($url){
    $fh = fopen('php://temp', 'w+');
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_FILE, $fh); 
    curl_close($ch);      

    rewind($fh);

    while ($line = fgetcsv($fh, 1024)) {
        $line_of_text[] = $line;
    }

    fclose($f);

    return $line_of_text;
}