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

二台主機都是使用 遠振主機
system/libraries/upload.php

			$cmd = function_exists('escapeshellarg')
				? 'file --brief --mime '.@escapeshellarg($file['tmp_name']).' 2>&1'
				: 'file --brief --mime '.$file['tmp_name'].' 2>&1';

view.php

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

controller.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);
            }
        }

Delphi 搭配 CodeIgniter上傳檔案

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);
}

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上傳圖檔以及縮圖

// 縮圖
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();
}

上傳

	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);
                }
            
            
           	
	}