2012-10-19 157 views
1

SLOVED - 必须编辑BOXFILE在PAGODABOX对于PHP EXENTSIONSLOVED - FTP Api? PHP服务器到服务器上传

我知道有一吨的PHP FTP功能,但我已经在过去获得的基本试过很多次上班。可以连接,但通常列出目录遇到问题,等等

问:

是否有一个服务或API,我可以告诉它下载此文件夹(或zip)然后上传&解压到这台服务器? (只是转移也可以)。

PHP有这方面的功能,但我不能让它工作 - 使用Laravel框架与PagodaBox托管的SFTP包,并且似乎宝塔甚至没有安装php FTP模块。

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

或者我需要获得第二台服务器,它具有正确的FTP PHP功能设置,然后创建我自己的小api?任何拥有所有正确设置的优秀托管公司?什么我试图做


更多信息...

我创造那里的人们建立网站,然后可以下载一个ZIP文件的网站(HTML文件等)服务,但我会喜欢为我的客户提供一种使用FTP自动为他们上传的方式。

+0

PagodaBox块,所以他们可能会阻止FTP(或离开它完全)。你问PagodaBox btw? –

+0

您也可以使用[Symfony 2快速入门](https://pagodabox.com/cafe/robinvdvleuten/symfony2-quickstart)尝试[FTPBundle](http://knpbundles.com/iJanki/FtpBundle)(单独安装)。 –

+0

我必须在PagodaBox的boxfile中添加PHP扩展ftp,这使得FTP功能可以正常工作。 :) 获取整个boxfile的东西。 感谢您的帮助:) –

回答

1

可以使用cURL.

下面是一个示例代码做到这一点:FTP通过他们的管理系统中至少

<?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:[email protected]/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'; 
} 
?> 
+0

Nicee!谢谢!我要试试这个。 :) –