1

好的,所以我的主机说他们不提供共享服务器上的 FILE 权限,所以我不能使用该INTO OUTFILE命令,我的目标是使用 fputcsv 将我的数据库的某些 ROWS 保存到 TXT 中,然后使用LOAD DATA INFILE导入这个DATA 到另一个数据库,为了让它工作,我需要以完全相同的方式保存 TXT 文件INTO OUTFILE,我想出了这个脚本,但我想知道是否有人可以看看脚本是否可以做得更好。

另外,我如何使用一个$row来排列所有信息,而不是$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