Generate CSV file on an external FTP server in PHP(用 PHP 在外部 FTP 服务器上生成 CSV 文件)
问题描述
我有一些 PHP 代码可以成功地将 MySQL 表导出到 CSV 文件.
I have some PHP code that successfully exports a MySQL table to a CSV file.
我想添加到该代码中,因此 CSL 文件不是在本地保存,而是导出到/保存在外部 FTP 服务器上.
I would like to add to that code, so instead of saving locally the CSL file is exported to/saved on an external FTP server.
我当前的代码:
//open database connection
require ('../database-config.php');
//name the file
header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename=exported-data.csv');
//SQL Query for Data
$sql = "SELECT * FROM data;";
//Prepare Query, Bind Parameters, Excute Query
$STH = $dbh->prepare($sql);
$STH->execute();
//Export to .CSV
$fp = fopen('php://output', 'w');
$first_row = $STH->fetch(PDO::FETCH_ASSOC);
$headers = array_keys($first_row);
fputcsv($fp, $headers); // put the headers
fputcsv($fp, array_values($first_row)); // put the first row
while ($row = $STH->fetch(PDO::FETCH_NUM)) {
fputcsv($fp,$row); // push the rest
}
fclose($fp);
我知道我需要添加一些新变量;
I know I'll need to add some new variables;
$ftp_server="ftp.remotersite.com";
$ftp_path="/path/to/somefile";
$ftp_username="username";
$ftp_userpass="password";
但是,我不确定使用 ftp_put(或者应该是 ftp_fput?)传输到外部目的地的最佳方式.
But, I'm not sure the best way to use ftp_put (or should it be ftp_fput?) to transfer to the external destination.
提前致谢.
推荐答案
如果你有 ftp:// URL wrappers 已启用,直接在 FTP 服务器上打开文件即可:
If you have ftp:// URL wrappers enabled, just open the file directly on FTP server:
$fp = fopen('ftp://username:password@ftp.example.com/path/to/somefile', 'w');
<小时>
如果您没有启用包装器,请参阅:
在 PHP 中创建文件并将其上传到 FTP 服务器而不在本地保存
这篇关于用 PHP 在外部 FTP 服务器上生成 CSV 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:用 PHP 在外部 FTP 服务器上生成 CSV 文件
- Laravel 仓库 2022-01-01
- 从 PHP 中的输入表单获取日期 2022-01-01
- 正确分离 PHP 中的逻辑/样式 2021-01-01
- Mod使用GET变量将子域重写为PHP 2021-01-01
- 没有作曲家的 PSR4 自动加载 2022-01-01
- 带有通配符的 Laravel 验证器 2021-01-01
- PHP Count 布尔数组中真值的数量 2021-01-01
- 如何定位 php.ini 文件 (xampp) 2022-01-01
- SoapClient 设置自定义 HTTP Header 2021-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
