CodeIgniter php上傳後FTP至另一台主機

二台主機都是使用 遠振主機
system/libraries/upload.php
[php]
$cmd = function_exists(‘escapeshellarg’)
? ‘file –brief –mime ‘.@escapeshellarg($file[‘tmp_name’]).’ 2>&1′
: ‘file –brief –mime ‘.$file[‘tmp_name’].’ 2>&1′;
[/php]

view.php
[php]
<form method="post" enctype="multipart/form-data">
<label>選擇檔案</label>
<input type="file" name="file" />
<input type="submit" name="submit" value="上傳">
</form>
[/php]

controller.php
[php]
if($this->input->post(‘submit’)){
//上傳到本機
$config[‘upload_path’] = @’./uploads/’;
$config[‘allowed_types’] = ‘jpg’;
$this->load->library(‘upload’, $config);

if($this->upload->do_upload(‘file’))
{
// 上傳檔案
$upload_data = $this->upload->data();
$fileName = $upload_data[‘file_name’];

// 本機檔案位置
$source = @’./uploads/’.$fileName;

// 載入ftp函式庫
$this->load->library(‘ftp’);

// ftp參數
$ftp_config[‘hostname’] = ‘xxxx’;
$ftp_config[‘username’] = ‘xxxx’;
$ftp_config[‘password’] = ‘xxxx’;
$ftp_config[‘debug’] = TRUE;

// 連線ftp
$this->ftp->connect($ftp_config);

// ftp檔案位置
$destination = ‘/public_html/assets/’.$fileName;

// 上傳ftp
$this->ftp->upload($source, ".".$destination,"auto",0777);

// 關閉ftp
$this->ftp->close();

// 刪除本機資料
@unlink($source);
}
}
[/php]

作者: 林壽山

林壽山 目前任職於軟體公司研究開發部門主管,主要採用.net core/.net 5/6 開發,收銀機pos系統開發,第三方支付設計(綠界、馬來西亞epay/happypay、台新one碼),金流設計,行動支付設計(悠遊卡/一卡通),支付寶,微信,街口支付,信用卡機(聯合信用卡),擅長PHP網頁設計(CodeIgniter、Laravel)框架、Delphi程式設計、資料庫設計、C# WinForm/WebForm程式設計、ASP.net MVC、LINE串接、API串接設計