1

私のホスティングは、共有サーバーで FILE 権限を提供しないと言ったので、INTO OUTFILEコマンドを使用できません。私の目標は、fputcsv を使用して DB の特定の行を TXT に保存し、後で を使用しLOAD DATA INFILEてこれをインポートすることです別のDBへのDATA。これが機能するためには、TXTファイルをまったく同じ方法で保存する必要があります。INTO OUTFILEそれを行うこのスクリプトを思いつきましたが、誰かがスクリプトができるかどうかを確認できるかどうか疑問に思っていましたより良くする。

$rowまた、の代わりにすべての情報を配列するために1 つを使用するにはどうすればよいですか$push = array($row[0], $row[1], $row[2]);

また、何も挿入する\N代わりに空の行がある場合。

function fputcsv2 ($fp, $array, $deliminator="\",\"") {
$line = "";
foreach($array as $val)
{
$val = str_replace("\r\n", "\n", $val);
if(ereg("[$deliminator\"\n\r]", $val))
{
$val = '"'.str_replace('"', '""', $val).'"';
}
$line .= $val.$deliminator;
}
$line = substr($line, 0, (strlen($deliminator) * -1));
$line .= "\"";
return fputs($fp, $line);
}

$fp=fopen("test.txt","w"); 

while($row = mysql_fetch_array($r0, MYSQL_NUM))
    {
        $row = array_map('stripslashes', $row);
        $push = array($row[0], $row[1], $row[2]);
        fputcsv2($fp,$push);
    }



fclose($fp)
4

0 に答える 0