我想我有点迷路了。 我有一个连接到数据库并将内容放在CSV文件中的函数
private function obtainFile() {
$dbh = new PDO("mysql:host=".Config::DB_HOST.";dbname=".Config::DB_NAME."", Config::DB_USER, Config::DB_PASSWORD);
$stmt = $dbh->prepare("SELECT * from `some_table`");
$stmt->execute();
$filename = 'someFile.csv';
$data = fopen($filename, 'w');
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
fputcsv($data, $row);
}
fclose($data);
return $filename;
}
一切都很好,当我执行它时,我得到了带有期望数据的CSV文件。 该函数返回生成的CSV文件的文件名。
然后,我将此CSV文件位置传递给另一个功能,以便可以通过SFTP进行传输
private function transferFile($csvFile) {
$host = Config::SFTP_HOST;
$port = Config::SFTP_PORT;
$user = Config::SFTP_USER;
$password = Config::SFTP_PASSWORD;
$sftp = new SFTP($host, $port);
if (!$sftp->login($user, $password)) {
echo $sftp->getSFTPLog();
}else{
echo $upload = $sftp->put($csvFile, $csvFile);
}
}
因此,文件传输没有任何问题,但是传输的CSV文件只是包含我的文件名的CSV文件!
我是否需要做其他事情以确保我传输的是实际产生的文件,而不仅仅是具有文件名的CSV文件?
谢谢