Home > Backend Development > PHP Problem > What to do if php ftp_put fails to upload

What to do if php ftp_put fails to upload

藏色散人
Release: 2023-03-04 22:44:01
Original
3449 people have browsed it

php ftp_put upload fails because the server is placed behind a firewall. The solution is to enable FTP passive mode, with code such as "ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0 );".

What to do if php ftp_put fails to upload

Recommendation: "PHP Video Tutorial"

The client is behind the firewall and php uses ftp to upload files when ftp_put Failure

<?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";
?>
Copy after login

Code description:

This code uses the FTP protocol in the background through the PHP server to upload the local file "local.rar" to the remote FTP file server and save it as "target.rar ". That is, the PHP server acts as an FTP Client to upload files to the FTP Server...

An error occurred after the above code was run. The error message is as follows:

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
Copy after login

Reason for the error:

The server is generally Place it behind the firewall, so if the FTP client program needs to traverse the firewall, it needs to enable passive mode. Otherwise, there will be no response when executing any ftp command until a fatal error of "maximum execution time timeout" occurs, causing the program to terminate...

ftp_pasv($conn, true);
Copy after login

Solution: Enable FTP passive mode, the correct code is as follows:

<?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";
?>
Copy after login

The above is the detailed content of What to do if php ftp_put fails to upload. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template