link,true);" 방법을 사용하여 마지막으로 파일을 다시 업로드합니다. 클라이언트."/> link,true);" 방법을 사용하여 마지막으로 파일을 다시 업로드합니다. 클라이언트.">

 >  기사  >  백엔드 개발  >  php ftp_put이 실패하면 어떻게 해야 할까요?

php ftp_put이 실패하면 어떻게 해야 할까요?

藏色散人
藏色散人원래의
2020-07-24 11:12:153414검색

php ftp_put 실패에 대한 해결 방법: 먼저 "Upload/Driver/Ftp.class.php"를 연 다음 "ftp_pasv($this->link,true);"를 사용하여 마지막으로 수동 모드로 전환합니다. 클라이언트 파일을 업로드하기만 하면 됩니다.

php ftp_put이 실패하면 어떻게 해야 할까요?

추천: "PHP 튜토리얼"

PHP 업로드 FTP 드라이버 ftp_put 함수 업로드 실패 문제

서버 두 대, FTP 서버용 하나와 웹 서버용 하나.

thinkphp3.2의 Upload 클래스를 사용하고 업로드 FTP 드라이버를 사용하는데 매번 파일 저장에 실패했다는 메시지가 뜹니다.

답을 찾고 있습니다. 비동기식과 동기식을 모두 테스트했지만 원격 /tmp/ 및 ftp 디렉터리에도 777 권한이 있습니다.

php는 매우 성숙해야 한다고 생각합니다. 설명 모드

ftp 서버 활성 모드 및 ftp 서버 수동 모드를 포함하여 나중에 공식 문서에서 몇 가지 답변을 찾았습니다. 수동 모드에서는 클라이언트가 파일을 원활하게 업로드할 수 있습니다.

여기에 솔루션이 있습니다

Upload/Driver/Ftp.class.php sava 함수

public function save($file, $replace=true) {
        $filename = $file['rootPath']. $file['savepath'] . $file['savename'];
        /* 不覆盖同名文件 */
        // if (!$replace && is_file($filename)) {
        //     $this->error = '存在同名文件' . $file['savename'];
        //     return false;
        // }
        ftp_pasv($this->link,true);
        ftp_pwd($this->link);
        $filename=$file['savename'];
        if (!ftp_put($this->link, $filename, $file['tmp_name'],FTP_ASCII)) {
            $this->error = '文件上传FTP错误!';
            return false;
        }
        return true;
    }

위 내용은 php ftp_put이 실패하면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.