2017-03-05 20 views
0

私はこのデータを収集し、いくつかのデータが.csvファイルに入れられ、ユーザーに添付ファイルとして送信されるフォームにユーザーがデータを入力した後、添付ファイルが、.csvファイルを送信する電子メールは常に空で、私はなぜHERESに私の書式設定の最初の投稿について申し訳ありません私のコードなぜ私のCSVファイルは空です

function send_csv_mail($csvData, $body, $to, $subject, $from) 
{ 
    $multipartSep = '-----' . md5(time()) . '-----'; 

    $headers = [ 
     "From: $from", 
     "Reply-To: $from", 
     "Content-Type: multipart/mixed; boundary=\"$multipartSep\"", 
    ]; 

    $fp = fopen('php://temp', 'w'); 

    fputcsv($fp, ["Supplier Number", "Supplier Name", "Product Code", "Product Description", "Unit of Measure", "Product Group", "Buy Price EX GST"]); 

    $testData = [ 
     ['123', '456', '789', '012', '345', '678', '901'], 
     ['abc', 'def', 'ghi', '123', '456', '789', '012'], 
     ['jkl', 'mno', 'pqr', '123', '456', '789', '012'], 
    ]; 

    foreach ($testData as $data) { 

     fputcsv($fp, $data); 
    } 

    fclose($fp); 

    $attachment = chunk_split(base64_encode(file_get_contents($fp))); 

    $newBody = "--$multipartSep\r\n" 
     . "Content-Type: text/html; charset=ISO-8859" . "\r\n" 
     . "\r\n" 
     . "$body" . "\r\n" 
     . "--$multipartSep" . "\r\n" 
     . "Content-Type: text/csv" . "\r\n" 
     . "Content-Transfer-Encoding: base64" . "\r\n" 
     . "Content-Disposition: attachment;    filename=\"New_Parts_and_Barcodes_Request.csv\"" . "\r\n" 
     . "\r\n" 
     . "$attachment" . "\r\n" 
     . "--$multipartSep--"; 

    return @mail($to, $subject, $newBody, implode("\r\n", $headers)); 
} 

を知らない得ることができます:)

答えて

0

file_get_contentsは、引数としてファイルパスが必要ですファイルポインタではありません。

$attachment = chunk_split(base64_encode(file_get_contents("php://temp")));

+0

[OK]をにそれを変更しようと、私はあなたが 'fcloseを($ FP)を移動しようとすることができますあなたが提案変更を行ったが、それでも他のアイデア – Dath

+0

、を介してデータを取得していない;'へスクリプトの終わり? –

+0

fclose($ fp)は、スクリプトの最後に戻る直前に移動されました。私はもう一度試しましたが、ダイスはまだありません。 – Dath

関連する問題