gpt4 book ai didi

php - 使用零字节的 PHP cURL/FTP 传输的文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:45:08 24 4
gpt4 key购买 nike

我最近遇到了一个问题,在我的应用程序的高流量期间,使用零字节的 cURL/FTP 发送小型 CSV 文件。但是,当我在我的文件系统上查看文件时,我可以看到它绝对不是空的,而且大小不是零字节。

这是我的 PHP 代码:

$ch = curl_init();
$fp = fopen($bFile, 'r');
curl_setopt($ch, CURLOPT_URL, 'ftp://'.FTP_SERVER .'/'.FTP_DIRECTORY.$file_name);
curl_setopt($ch, CURLOPT_USERPWD, FTP_USER.':'.FTP_PASS);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($bFile));
curl_setopt($ch, CURLOPT_FTP_USE_EPSV, false);
curl_exec($ch);

我在 cURL 返回错误的代码中也有一些基本的错误处理:

if ( curl_error($ch) ) {
throw new Exception("File could not be sent via FTP: " . curl_error($ch));
}

但是,我注意到在这个例子中没有抛出异常并继续执行代码的情况。

我的文件系统上有一个 5Kb CSV 文件,但我发送该文件的 FTP 服务器只有一个零字节文件,这是否有任何原因?这是否表明传输问题可能是由每年这个时候的高流量引起的?

最佳答案

因为您在高流量期间提到它。您尝试发送的 CSV 文件是否有很多或读/写事件?也许实际上是 fopen 失败了,因此您发送了 0 个字节,但文件名正确。那只会产生警告,因此不会被捕获。

也许您应该向使用 curl 发送的不同值添加一些日志记录,例如 filesize($bFile)$fp

关于php - 使用零字节的 PHP cURL/FTP 传输的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13817193/

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