【发布时间】:2009-06-02 19:05:41
【问题描述】:
我们正在与供应商签订代发货协议,我们不必将他们的产品存入我们只需将其出售并运送出去的供应商。为了通知他们订单,他们希望我们通过 FTP 将带有订单信息的制表符分隔的 .txt 文件上传到他们的网站。我们想自动化这个。因此,鉴于 ftp 的用户/通行证,有没有办法创建 TSV.txt 文件并使用 PHP 将其上传到他们的站点?
谢谢!
【问题讨论】:
我们正在与供应商签订代发货协议,我们不必将他们的产品存入我们只需将其出售并运送出去的供应商。为了通知他们订单,他们希望我们通过 FTP 将带有订单信息的制表符分隔的 .txt 文件上传到他们的网站。我们想自动化这个。因此,鉴于 ftp 的用户/通行证,有没有办法创建 TSV.txt 文件并使用 PHP 将其上传到他们的站点?
谢谢!
【问题讨论】:
file_put_contents() 或 PHP4 中的 fopen()/fwrite()/fclose() 的组合应该可以完成这项工作。无论如何,您应该提供用户并在 FTP URL 内部传递,如下所示:
ftp://user:password@example.com/pub/file.txt
如果上述方法不起作用,ftp_* 函数应该可以解决您的问题。无论如何,请注意它们可用的 PHP 版本。某些功能仅适用于 PHP5 及更高版本。
这是 PHP 中的页面detailing the FTP stream wrapper。
【讨论】:
我当然不熟悉您的订单信息,但您可以创建一个订单信息数组并使用fputcsv 创建制表符分隔文件。
您是否还需要有关根据 $_POST 信息制作文件的详细信息?或者只是实现解决方案的通用函数调用?
编辑:另外,是否有可能找到另一种解决方案,然后通过 FTP 获取信息?比如说,与他们的服务器建立 HTTPS 连接或其他什么?如果您要发送任何收件人信息(地址、邮编、信用卡),这可能是一个安全问题。
【讨论】: