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]

Delphi 搭配 CodeIgniter上傳檔案

php端

[php]
$str_no = $this->input->post(‘strid’);
$filename1 = $this->input->post(‘filename’);
$config[‘upload_path’] = ‘./uploads/’;
$new_name = $str_no.’-‘.$filename1;
$config[‘file_name’] = $new_name;
$config[‘allowed_types’] = ‘*’;
$config[‘max_size’] = ‘1000000000’;

$this->load->library(‘upload’,$config);

if ( ! $this->upload->do_upload(‘myfile’))
{
$error = array(‘error’ => $this->upload->display_errors());

}
else{
$data = array(‘upload_data’ => $this->upload->data());
print_r($data);
}
[php]

Delphi

use IdMultipartFormData
var
PostData: TIdMultipartFormDataStream;
begin
PostData := TIdMultipartFormDataStream.Create;
try
PostData.AddFile(‘myfile’, Self.GetApplicationPath + ‘\file.ini’);
PostData.AddFormField(‘strid’,’999′);
PostData.AddFormField(‘filename’,’file.ini’);

idhttp1.Post(‘http://xxxx/Home/upload/’, PostData)
finally
PostData.Free;
end;

CodeIgniter上傳圖檔以及縮圖

[php]
// 縮圖
function _createThumbnail($fileName, $isThumb, $thumbMarker="", $width, $height) {
// 參數
$config[‘image_library’] = ‘gd2’;
$config[‘source_image’] = $fileName;
$config[‘create_thumb’] = $isThumb;
$config[‘maintain_ratio’] = TRUE;
$config[‘master_dim’] = ‘width’;
if(isset($thumbMarker) && $thumbMarker!=""){
$config[‘thumb_marker’] = $thumbMarker;
}
$config[‘width’] = $width;
$config[‘height’] = $height;

$this->load->library(‘image_lib’, $config);
$this->image_lib->clear();
$this->image_lib->initialize($config);
if(!$this->image_lib->resize()) echo $this->image_lib->display_errors();
}
[/php]
上傳
[php]
function uploadimage(){
$name = $this->input->get_post(‘my_file’);
$config[‘upload_path’] = ‘./uploads/’;
$config[‘allowed_types’] = ‘gif|jpg|png’;
$config[‘file_name’] = $name;
$config[‘overwrite’] = true;
$config[‘max_size’] = 4096;
//$config[‘max_width’] = 5000;
//$config[‘max_height’] = 5000;
$this->load->library(‘upload’, $config);
if ( ! $this->upload->do_upload())
{
$data[‘errormsg’] = array(‘error’ => $this->upload->display_errors());
$this->load->view(‘welcome_message’, $data);
}
else
{
$fInfo = $this->upload->data();
$this->_createThumbnail($fInfo[‘full_path’],TRUE,"",330,480);
$this->_createThumbnail($fInfo[‘full_path’],TRUE,"_tn",110,160);

$data[‘filename’]=$this->upload->data(‘file_name’);
$this->load->view(‘welcome_message’,$data);
}

}
[/php]