gpt4 book ai didi

php - 为什么导入 CSV 文件时会添加额外的空行?

转载 作者:行者123 更新时间:2023-11-29 00:44:02 25 4
gpt4 key购买 nike

我有一个脚本可以为我的网站下载和上传一个 csv 文件(用于库存)。当我手动下载文件并上传时,一切都很好。当脚本运行以下载和上传文件时,会在 csv 文件的每一行之后添加额外的空行。

我通过直接从原始来源下载文件并将其与我的脚本上传的文件进行比较发现了这一点。

从那里,文件被导入到 mysql 数据库。

有人知道如何防止将这些空行添加到 csv 文件吗?将行上传到我的数据库并且不向我的表中添加任何新内容时会导致问题。

编辑:将 csv 信息发送到 mysql 数据库的代码:

$file = "./file.csv";

$handle = fopen($file, r);

$firstentry = 0;

while($csv = fgetcsv($handle))
{
if($firstentry == 0)
{
$firstentry++;
}
else
{
$csv[7] = strtotime($csv[7]);

$csv[7] = date("Y-m-d H:i:s",$csv[7]);

if($csv[18] == 217 || $csv[18] == 38)
{
if(!mysql_query("INSERT IGNORE INTO TABLE_NAME
(Col1, Col2, Col3, Col4, Col5,
Col6, Col7, Col8, Col9, Col10,
Col11, Col12, Col13, Col14, Col15,
Col16, Col17, Col18, Col19, Col20,
Col21, Col22, Col23) VALUES
('".md5($csv[0].$csv[2])."','".addslashes($csv[0])."','".addslashes($csv[1])."','".addslashes($csv[2])."','".addslashes($csv[3])."','".addslashes($csv[4])."',
'".addslashes($csv[5])."','".addslashes($csv[6])."','".addslashes($csv[7])."','".addslashes($csv[8])."','".addslashes($csv[9])."',
'".addslashes($csv[10])."','".addslashes($csv[11])."','".addslashes($csv[12])."','".addslashes($csv[13])."','".addslashes($csv[14])."',
'".addslashes($csv[15])."','".addslashes($csv[16])."','".addslashes($csv[17])."','".addslashes($csv[18])."','".addslashes($csv[19])."',
'".addslashes($csv[20])."','".addslashes($csv[21])."')"))
{
exit("<br>" . mysql_error());
}
else
{
print_r($csv);
echo " insert complete<br><br>";
}


}
}
}

下载/上传 CSV 文件的代码:

<?php
set_time_limit(0);
ini_set('memory_limit','512M');
ini_set('upload_max_filesize', '64M');
include('Net/SFTP.php');

//Original Location (SFTP)
$sftp2 = new Net_SFTP('example.com');
if (!$sftp2->login('username', 'password')) {
exit('Login Failed');
}

//echo $sftp2->pwd() . "\r\n";
$sftp2->get('file.csv', 'file.csv');
//print_r($sftp2->nlist());

echo "Success!";
?>

为此,我正在使用 Source Forge ( http://phpseclib.sourceforge.net/)。

最佳答案

您可以在下载后对文件内容进行尝试:

$contents=preg_replace('/(\r\n|\r|\n)/s',"\n",$contents);

关于php - 为什么导入 CSV 文件时会添加额外的空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11104731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com