1

我知道有大量的 PHP FTP 函数,但我过去曾尝试过很多次以使基础知识能够正常工作。可以连接,但通常会遇到列出目录等问题。

是否有服务或 API 可以告诉它下载此文件夹(或 zip)然后上传和解压缩到此服务器?(只是转移也可以)。

PHP 有这方面的功能,但我无法让它工作——使用 Laravel 框架和带有 PagodaBox 托管的 SFTP 包,而且似乎 Pagoda 甚至没有安装 php FTP 模块。

没有 PHP 或一些远程服务有没有办法做到这一点?

或者我是否需要为 FTP PHP 功能设置正确的第二台服务器,然后创建我自己的小 api?有没有开箱即用的正确设置的好的托管公司?

更新

有关我正在尝试做的事情的更多信息:

我正在创建一项服务,人们可以在其中创建网站,然后可以以 zip 文件(HTML 文件等)下载该网站,但我想为我的客户提供一种使用 FTP 自动为他们上传的方法。

4

2 回答 2

1

您可以使用cURL.

这是一个示例代码:

<?php
if(!function_exists('curl_init'))
    die('cURL isn\'t available too!');

$file = "toUp.zip";
$ch = curl_init();
$fp = fopen($file, 'r');

curl_setopt($ch, CURLOPT_URL, 'ftp://username:password@site.com/public_html/'.$file);
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($file));

curl_exec($ch);
$err_no = curl_errno($ch);
curl_close($ch);
fclose($fp);

if($err_no == 0){
    echo 'FTP Transfer complete.';
}else{
    echo 'FTP Transfer error: '.$err_no;
    echo '. See http://curl.haxx.se/libcurl/c/libcurl-errors.html';
}
?>
于 2012-10-19T22:52:41.357 回答
0

(代表问题作者发布答案)

这已经解决了 - 我必须在 Pagodabox 中为 PHP 扩展编辑 boxfile。

于 2018-05-05T21:57:29.383 回答