PHP - 打开一个csv文件,进行更改并保存

时间:2017-03-14 09:35:12

标签: php csv

我遇到了一个脚本问题,该脚本应该打开存储在同一目录中的csv,进行更改,然后另存为新文件。

$path = $_SERVER["DOCUMENT_ROOT"]."/orderfeed/";
$rawexport = 'rawexport.csv';
$tempfile = 'temporary.csv';
$exportfiltered = 'export-filtered.csv';


if (file_exists($rawexport)) {

    if ( unlink($exportfiltered) ) { // Delete previous filtered export
        print "Deleted previous $exportfiltered before import<br>";     
    } else {
        print "Delete of previous $exportfiltered before import failed!<br>";
    }

    $input = fopen($rawexport, 'r'); //open for reading
    $output = fopen($tempfile, 'w'); //open for writing

    while( false !== ( $data = fgetcsv($input) ) ){ //read each line as an array

        //modify data here      
        if ( $data[14] == 'Rate Name' ) {
            $data[14] = 'RATE_NAME';
        }

        //write modified data to temporary file
        fputcsv( $output, $data);

    }

    //close both files
    fclose( $input );
    fclose( $output );

    if ( unlink($rawexport) ) { // Delete raw export file
        print "Deleted $rawexport<br>";     
    } else {
        print "Delete of $rawexport failed!<br>";
    }

    if ( copy($path.$tempfile, $path.$exportfiltered) ) { // Rename temporary to new
        print "Export renamed<br>";
    } else {
        print "Export was not renamed!<br>";
    }

    echo '<pre>';print_r(error_get_last());echo '</pre>';



} else {
    die('Import file not found!');  
}

它在第一次运行时完美运行,但在后续运行中虽然创建的临时文件显示了源csv中的任何更新,但它们并没有保存到&quot; export-filtered.csv&#39;文件?

我最初使用的是rename()而不是copy(),但是它也没有用。

0 个答案:

没有答案