Home >Backend Development >PHP Tutorial >Detailed introduction to PHP uploading files through FTP_PHP tutorial
This article summarizes several ways to use the ftp function in PHP to upload files through FTP. Friends who need to learn can refer to it.
The ftp_get() function downloads a file from the FTP server.
Returns true if successful and false if failed.
Grammar
ftp_get(ftp_connection,local,remote,mode,resume)
The ftp_connect() function establishes a new FTP connection.
If successful, return a connection identifier, otherwise return false.
Grammar
ftp_connect(host,port,timeout)
The ftp_login() function logs in to the FTP server.
Returns true if successful, false and issues a warning if failed.
Grammar
ftp_login(ftp_connection,username,password)
The three functions have been introduced, let’s start now.
Example 1
The code is as follows | Copy code | ||||
|
When uploading, first upload the file locally to make necessary modifications, such as adding watermarks, etc., and then upload it to the remote server via FTP.
Example 2:
The code is as follows | Copy code | ||||
if ($_FILES['pic']['name']) { echo "Failed to upload pictures to the remote server!"; } $ftp->bye(); //Close FTP connection
}
Attached is the FTP operation class:
ftpUrl=$ftpUrl;
}
if($ftpUser){
$this->ftpUser=$ftpUser;
}
if($ftpPass){
$this->ftpPass=$ftpPass;
}
if($ftpUrl){
$this->ftpDir=$ftpDir;
}
if ($this->ftpR = ftp_connect($this->ftpUrl, 21)) {
if (ftp_login($this->ftpR, $this->ftpUser, $this->ftpPass)) {
if (!empty($this->ftpDir)) {
ftp_chdir($this->ftpR, $this->ftpDir);
}
ftp_pasv($this->ftpR, true);//R enables passive mode;
$status = 1;
} else {
$status = 3;
}
} else {
$status = 2;
}
}
//R switch directory;
function cd($dir) {
return ftp_chdir($this->ftpR, $dir);
}
//R returns the current road strength;
function pwd() {
return ftp_pwd($this->ftpR);
}
//R Create directory
function mkdir($directory) {
return ftp_mkdir($this->ftpR,$directory);
}
//R Delete directory
function rmdir($directory) {
return ftp_rmdir($this->ftpR,$directory);
}
//R Upload file;
function put($localFile, $remoteFile = '') {
if ($remoteFile == '') {
$remoteFile = end(explode('/', $localFile));
}
$res = ftp_nb_put($this->ftpR, $remoteFile, $localFile, FTP_BINARY);
while ($res == FTP_MOREDATA) {
$res = ftp_nb_continue($this->ftpR);
}
if ($res == FTP_FINISHED) {
return true;
} elseif ($res == FTP_FAILED) {
return false;
}
}
//R download file;
function get($remoteFile, $localFile = '') {
if ($localFile == '') {
$localFile = end(explode('/', $remoteFile));
}
if (ftp_get($this->ftpR, $localFile, $remoteFile, FTP_BINARY)) {
$flag = true;
} else {
$flag = false;
}
return $flag;
}
//R file size;
function size($file) {
return ftp_size($this->ftpR, $file);
}
//Whether the R file exists;
function isFile($file) {
if ($this->size($file) >= 0) {
return true;
} else {
return false;
}
}
//R file time
function fileTime($file) {
return ftp_mdtm($this->ftpR, $file);
}
//R delete file;
function unlink($file) {
return ftp_delete($this->ftpR, $file);
}
function nlist($dir = '/service/resource/') {
return ftp_nlist($this->ftpR, $dir);
}
//R close the connection;
function bye() {
return ftp_close($this->ftpR);
}
}
?>
|