前台部分
申請人材料zip包
上傳的檔案型別只支援zip格式
0%
zip格式
$post=$this->input->post();
$uploadid='';
//首次上傳
if ($post['uploadid']=='')
//檔名稱
$blockname = $uploadid.'.block';
//檔案上傳路徑
$dir_path='/data/zip/'.intval($post['proj_id']).'/';
mkdirs($dir);
if (file_exists($dir.$post['filename']))
//塊檔案
$blockpath=$dir.$blockname;
if (file_exists($blockpath))
$data=file_get_contents($_files['data']['tmp_name']);
//寫塊檔案
file_put_contents($blockpath,$data);
//合併塊檔案
if ($post['index']==$post['total'])
file_put_contents($filename,$bloacks);
}echo json_encode(["code"=>1, "msg" => "上傳成功~",'path'=>$filename_path]);
/**
* 檔案編碼
** @param [type] $filename
* @return void
*/function encodesutf8($name)else
return $filename;
}header('content-type:text/html;charset=utf-8');
$proj_id=(int)$this->input->get('proj_id');
$ptype=(int)$this->input->get('ptype');
if($this->input->get('act') == 'do')
// $data=array(
// 'filename'=>$_files['zipupload']['name'],
// 'filepath'=>'/data/upload/zip/'.$this->upload->file_name,
// );
$proj_id=(int)$this->input->post('proj_id');
$ptype=(int)$this->input->post('ptype');
$file_path=$this->input->post('file_path');
$zip = new \ziparchive;
if (file_exists($zipfile))
$docnum = $zip->numfiles;
$annex=[
'proj_id'=>$proj_id,
'type'=>$ptype,
];$num_co=0;
for($i = 0; $i < $docnum; $i++)
copy('zip://'.$zipfile.'#'.$zip->getnameindex($i), $path.$statinfo);
} else
}if (count($bool)==$num_co) else
}}
HTTP 斷點續傳
客戶端請求域 range 格式如下例子 第乙個500位元組 位元組偏移量0 499,包括0和499 range bytes 0 499 第二個500位元組 位元組偏移量500 999,包括500和999 range bytes 500 999 最後500位元組 位元組偏移量9500 9999,包括9...
IOS斷點續傳
asihttprequest可以實現斷點續傳。網上有一些介紹類似使用 request setallowresumeforfiledownloads yes 不過,通過asihttprequest的非同步請求以及delegate還是可以實現斷點續傳的。本文還是以grails編寫斷點續傳伺服器端為例。非...
linux斷點續傳
在linux伺服器上經常要用scp傳輸大檔案,可能由於網路等原因出現間接性中斷,導致傳輸一半的檔案突然中斷。其實scp是可以續傳的,它需要rsync以及它的ssh協議 舉例如下 rsync p rsh ssh home.tar 192.168.205.34 home home.tar,再輸出密碼後,...