我正在编写一个将显示文件列表并检索/发送文件的类。我有下载问题。我可以连接服务器,显示列表文件,但我无法下载文件。
Warning: ftp_get(index.php): failed to open stream: Permission denied in /var/www/public_html/class.ftp.php on line 51
Warning: ftp_get(): Error opening index.php in /var/www/public_html/class.ftp.php on line 51
当我在我的电脑上使用应用程序和这个帐户ftp时,我没有下载的问题。原则上,我无法更改文件权限,因为我将使用多个ftp。我不明白,当我下载带有应用程序的文件时,为什么我不需要更改权限文件,PHP需要此权限。
代码:
protected function connect()
{
$this->connect=ftp_connect($this->host);
$result=ftp_login($this->connect, $this->login, $this->pass);
if($result){
ftp_pasv($this->connect, true);
$this->status=true;
}
else $this->status=false;
}
public function download_file($path)
{
$e=explode('/', $path);
$last=count($e)-1;
$file=$e[$last];
$file='download/'.$file;
return ftp_get($this->connect, $path, $file, FTP_ASCII); //I tried FTP_BINARY
}
使用:
var_dump($conn->download_file('index.php'));
请参阅:
bool(false)
当然还有错误。
答案 0 :(得分:0)
好吧我的甜蜜的错误; - )
1)将本地文件更改为服务器文件...
public function download_file($path)
{
$file='./download/'.$path;
return ftp_get($this->connect, $file, $path, FTP_BINARY);
}
2)我的本地文件夹“downloads”必须有chmod 777
抱歉