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=

データのない 2 行目が作成される理由と、配列データに空白を保持するにはどうすればよいかわかりません。

ありがとう!

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 に答える