2014-05-17 3 views
0

Я пишу класс, который покажет список файлов и извлечет/отправит файлы. У меня проблема с загрузкой. Я могу подключиться к серверу, показывая файлы списка, но я не могу загрузить файл.php ftp warning permission

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

Ok моя сладкая ошибка ;-)

1) изменить локальный файл в файл-сервер ...

public function download_file($path) 
{ 

    $file='./download/'.$path; 
    return ftp_get($this->connect, $file, $path, FTP_BINARY); 
} 

2) Моя локальная папка "загрузка" должна иметь CHMOD 777

К сожалению