【问题标题】:PHP: how to create and ftp a file to another server?PHP:如何创建文件并将其 ftp 到另一台服务器?
【发布时间】:2009-06-02 19:05:41
【问题描述】:

我们正在与供应商签订代发货协议,我们不必将他们的产品存入我们只需将其出售并运送出去的供应商。为了通知他们订单,他们希望我们通过 FTP 将带有订单信息的制表符分隔的 .txt 文件上传到他们的网站。我们想自动化这个。因此,鉴于 ftp 的用户/通行证,有没有办法创建 TSV.txt 文件并使用 PHP 将其上传到他们的站点?

谢谢!

【问题讨论】:

    标签: php php4


    【解决方案1】:
    PHP5 中的

    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

    【讨论】:

    • 感谢您的信息,我真的很想迁移到 PHP5!
    【解决方案2】:

    PHP FTP Example

    我当然不熟悉您的订单信息,但您可以创建一个订单信息数组并使用fputcsv 创建制表符分隔文件。

    您是否还需要有关根据 $_POST 信息制作文件的详细信息?或者只是实现解决方案的通用函数调用?

    编辑:另外,是否有可能找到另一种解决方案,然后通过 FTP 获取信息?比如说,与他们的服务器建立 HTTPS 连接或其他什么?如果您要发送任何收件人信息(地址、邮编、信用卡),这可能是一个安全问题。

    【讨论】:

    • 我知道如何处理 $_POST 和 $_SESSION 数组,我只是不熟悉在 PHP 中创建文件或使用 PHP 进行 FTP。我会查看您提供的链接。谢谢!
    • 我能够调整您发布的示例以使其正常工作!但是 fputcsv 只是 PHP>=5 我正在使用 4。我将开始一个新问题,询问如何制作文件,因为这个问题更多的是关于如何 FTP 并且我现在可以使用它了。谢谢!
    • 我很高兴它成功了!查看 fprintf() 以及在您编写文件时在信息元素之间放置 '\t'。
    • 我当然不会发送 CC 号码,但我会发送地址+zip,因为他们将邮寄产品。你说的这个 HTTPS 连接是什么?
    • 我发送 FTP 文件的服务器也是 https,但我不认为他们正在接收它。这是他们说要做的。
    猜你喜欢
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 2014-05-17
    相关资源
    最近更新 更多