0

我正在尝试从 CSV 文件中提取数据并生成 http_build_query 以作为 http 帖子提交

我的数据如下所示:

First,Last,Address,City,St,Zip,email,phone,dob,optindate,ipaddress,url
Abbey,Johnson,4004 S. Parker Dr. 206,Sioux Falls,SD,55106,abbey@email.com,6053451657,06/18/1924,4/19/2008 11:58:34,12.174.252.216,http://www.ecoupons.com/

我的代码如下所示:

<?PHP

$file_handle = fopen("test.2", "r");

while (!feof($file_handle) ) {

$line_of_text = fgetcsv($file_handle, 1024);

$data = array('firstname' => "$line_of_text[0]",
            'lastname' => "$line_of_text[1]",
            'address' => "$line_of_text[2]",);

echo http_build_query($data) . "\n";

}

fclose($file_handle);

?>

我的结果是:

firstname=Abbey&lastname=Johnson&address=4004+S.+Louise+Ave.+206
firstname=&lastname=&address=

我不确定为什么创建没有数据的第二行以及如何在数组数据中保留空格?

谢谢!

4

1 回答 1

0

您的 CSV 似乎确实有效或可读(看不到新行),所以我使用了我的一个简单的

您的地址包含,影响fgetcsv读取文件的方式

尝试

$fp= fopen("log.txt", "r");

while (!feof($fp) ) {
    list($firstname,$lastname,$address) = fgetcsv($fp);
    $data = array('firstname' => $firstname,
                'lastname' => $lastname,
                'address' => $address);
    echo http_build_query($data) . PHP_EOL;

}

输出

  firstname=Abbey&lastname=Johnso&address=4004+S.+Louise+Ave.+206
于 2012-05-04T17:32:25.193 回答