Home >Backend Development >PHP Tutorial >Detailed introduction to PHP uploading files through FTP_PHP tutorial

Detailed introduction to PHP uploading files through FTP_PHP tutorial

WBOY
WBOYOriginal
2016-07-20 11:03:25964browse

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
 代码如下 复制代码

$ftp_server = "*.*.*.*";
$ftp_user = "lu";
$ftp_pass = "love you";

// set up a connection or die
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);

if ((!$conn_id) || (!$login_result)) {
        echo "FTP connection has failed!";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name";
        exit;
    } else {
        echo "Connected to $ftp_server, for user $ftp_user_name";
    }

// try to login
 $filename=date('Ymd').".xml";
 $source_file="/usr/local/IVR/sendwireless/xml/data/".$filename;  //源地址
 echo $source_file;
 $destination_file="/ITC/admin/logstat/ftplog/".$filename;  //目标地址
 $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY) or die("Couldn't connect to $ftp_server");
 ftp_quit($conn_id);

 if (!$upload) {
        echo "FTP upload has failed!";
    } else {
        echo "Uploaded $source_file to $ftp_server as $destination_file";
    }
ftp_close($conn_id);

$ftp_server = "*.*.*.*"; $ftp_user = "lu"; $ftp_pass = "love you"; // set up a connection or die $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); $login_result = ftp_login($conn_id, $ftp_user, $ftp_pass); if ((!$conn_id) || (!$login_result)) { echo "FTP connection has failed!"; echo "Attempted to connect to $ftp_server for user $ftp_user_name"; exit; } else { echo "Connected to $ftp_server, for user $ftp_user_name"; } // try to login $filename=date('Ymd').".xml"; $source_file="/usr/local/IVR/sendwireless/xml/data/".$filename; //Source address echo $source_file; $destination_file="/ITC/admin/logstat/ftplog/".$filename; //Destination address $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY) or die("Couldn't connect to $ftp_server"); ftp_quit($conn_id); if (!$upload) { echo "FTP upload has failed!"; } else { echo "Uploaded $source_file to $ftp_server as $destination_file"; } ftp_close($conn_id);


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'])
{
$file_path='/opt/www/img/';
$pic = upload('pic', $filename, 'jpg|jpeg|gif|bmp|png', $file_path);
if(!$pic)
{
echo "图片上传失败!";
exit;
}
require_once(ROOT_PATH . 'Lib/Class/Ftp.class.php');
$ftp = new ftp("127.0.0.1","gamezeroftp","123456","/opt/www");
$localfile='/opt/www/img/'.$pic;
$remotefile='/opt/www/gamepics/'.$pic;
$ftpput = $ftp->put($localfile, $remotefile); //FTP上传原图到远程服务器
if(!$ftpput){
echo "上传图片到远程服务器失败!";
}
$ftp->bye(); //关闭FTP连接
}
附上FTP操作类:


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 启用被动模式;
$status = 1;
} else {
$status = 3;
}
} else {
$status = 2;
}
}
//R 切换目录;
function cd($dir) {
return ftp_chdir($this->ftpR, $dir);
}
//R 返回当前路劲;
function pwd() {
return ftp_pwd($this->ftpR);
}
//R 创建目录
function mkdir($directory) {
return ftp_mkdir($this->ftpR,$directory);
}
//R 删除目录
function rmdir($directory) {
return ftp_rmdir($this->ftpR,$directory);
}
//R 上传文件;
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 下载文件;
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 文件大小;
function size($file) {
return ftp_size($this->ftpR, $file);
}
//R 文件是否存在;
function isFile($file) {
if ($this->size($file) >= 0) {
return true;
} else {
return false;
}
}
//R 文件时间
function fileTime($file) {
return ftp_mdtm($this->ftpR, $file);
}
//R 删除文件;
function unlink($file) {
return ftp_delete($this->ftpR, $file);
}
function nlist($dir = '/service/resource/') {
return ftp_nlist($this->ftpR, $dir);
}
//R 关闭连接;
function bye() {
return ftp_close($this->ftpR);
}
}
?>

//Upload pictures
if ($_FILES['pic']['name'])

{

$file_path='/opt/www/img/'; if(!$pic) { echo "Picture upload failed!"; exit; } require_once(ROOT_PATH . 'Lib/Class/Ftp.class.php'); $ftp = new ftp("127.0.0.1","gamezeroftp","123456","/opt/www"); $localfile='/opt/www/img/'.$pic; $remotefile='/opt/www/gamepics/'.$pic; $ftpput = $ftp->put($localfile, $remotefile); //FTP upload original image to remote server if(!$ftpput){
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); } } ?>
http://www.bkjia.com/PHPjc/445297.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/445297.htmlTechArticleThis article summarizes several ways to use the ftp function in php to upload files through FTP. Friends who need to learn Can be used for reference. The ftp_get() function downloads a file from an FTP server. ...
Statement:
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