php ftp_put 업로드는 서버가 방화벽 뒤에 있기 때문에 실패합니다. 해결 방법은 "ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0)과 같은 코드를 사용하여 FTP 수동 모드를 활성화하는 것입니다. ;".
권장 사항: "PHP 비디오 튜토리얼"
클라이언트가 방화벽 뒤에 있으며 PHP가 ftp를 사용하여 파일을 업로드할 때 ftp_put이 실패합니다
<?php $conn = ftp_connect("ftp.bacysoft.cn") or die("Could not connect"); ftp_login($conn,"test","test1234"); ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0); ftp_close($conn); echo "done"; ?>
코드 설명:
이 코드는 백그라운드에서 FTP 프로토콜을 사용합니다. PHP 서버를 통해 로컬 파일 "local.rar"가 원격 FTP 파일 서버에 업로드되고 "target.rar"로 저장됩니다. 즉, PHP 서버는 FTP 서버에 파일을 업로드하는 FTP 클라이언트 역할을 합니다...
위 코드를 실행한 후 오류가 발생했습니다. 오류 메시지는 다음과 같습니다.
Warning: ftp_put() [function.ftp-put]: Opening BINARY mode data connection for target.rar. in E:\wwwroot\bacysoft\wwwroot\test\temp.php on line 4 Fatal error: Maximum execution time of 60 seconds exceeded in E:\wwwroot\bacysoft\wwwroot\test\temp.php on line 5
오류 원인:
서버 일반적으로 FTP 클라이언트 프로그램이 방화벽을 통과해야 하는 경우 수동 모드를 활성화해야 합니다. 그렇지 않으면 "최대 실행 시간 제한"이라는 치명적인 오류가 발생할 때까지 ftp 명령을 실행할 때 응답이 없습니다. 프로그램 종료 원인...
ftp_pasv($conn, true);
해결 방법: FTP 수동 모드를 활성화합니다. 올바른 코드는 다음과 같습니다.
<?php $conn = ftp_connect("ftp.bacysoft.cn") or die("Could not connect"); ftp_login($conn,"test","test1234"); ftp_pasv($conn, true); ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0); ftp_close($conn); echo "done"; ?>
위 내용은 php ftp_put 업로드에 실패하면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!