0
다음과 같은 상황이 있습니다. 사용자가 클릭 할 때 한 번에 3 개의 파일을 업로드해야합니다. 내가보기에이 코드가있다 : 파일 데이터를 배열에 저장합니다.
<?php echo form_open_multipart('uploads/do_upload', 'class="dropzone", id="dropzone-prod", data-nextFormExecDropzone="#dropzone-promo"');?>
<div class="fallback">
<input type="file" name="userfile" size="20" />
</div>
</form>
<?php echo form_open_multipart('uploads/do_upload', 'class="dropzone", id="dropzone-promo", data-nextFormExecDropzone="#dropzone-plan"');?>
<div class="fallback">
<input type="file" name="userfile" size="20" />
</div>
</form>
<?php echo form_open_multipart('uploads/do_upload', 'class="dropzone", id="dropzone-plan"');?>
<div class="fallback">
<input type="file" name="userfile" size="20" />
</div>
</form>
<div class="col-lg-4">
<button id="processQueue" class="btn btn-primary" type="button"><i class="fa fa-upload"></i>Start Upload</button>
</div>
사용자가 클릭 버튼에, 나는 각각의 I가 원하는 순서를 형성 전송하는 자바 스크립트 코드를
. 내 컨트롤러에서 , 나는 다음과 같은 방법을 (do_upload())이 있습니다function do_upload() {
//$filePath = $this->config->item('base_current_upload_url');
$filePath = APPPATH.'UPLOADS/';
$filePathAfterUploaded = $this->config->item('base_uploaded_url');
$config['upload_path'] = $filePath;
$config['allowed_types'] = '*';
$config['max_size'] = 1024 * 100;
$this->load->library('upload', $config);
//$this->load->library('csvreader');
//$filePathAfterUploaded = $this->config->item('base_uploaded_url');
//print_r($filePath); die();
$basefilepath = APPPATH.'UPLOADS/';
$this->load->model('uploads_m');
if (! $this->upload->do_upload('file')) {
$error = array('error' => $this->upload->display_errors());
print_r($error);
}
else {
$data = array('upload_data' => $this->upload->data());
print_r($data); die();
}
}
문제 :
내가 3 개 파일을 업로드 할 필요가있다. 단 하나가 누락되면 나는 진행할 수 없다. 이 방법은 각 파일을 업로드하는 동안 do_upload 함수가 호출되므로 3 개의 파일이 업로드되었음을 식별 할 수있는 방법을 찾아야합니다. (그 후, mysql 'load data infile'을 사용하여이 파일의 데이터를 일부 테이블에로드하지만, 세 개가 업로드 된 경우에만이를 수행 할 수 있습니다. 이 상황을 처리 할 방법을 찾도록 도와 줄 수 있습니까?
호출되는 $ 데이터 매번 do_uplaod의 구조는 다음과 같습니다. do_upload
독립형 기능이
Array
(
[upload_data] => Array
(
[file_name] => PROMOWEB111120131.txt
[file_type] => text/plain
[file_path] => C:/Program Files/EasyPHP-DevServer-13.1VC9/data/localweb/projects/integration/www/application/UPLOADS/
[full_path] => C:/Program Files/EasyPHP-DevServer-13.1VC9/data/localweb/projects/integration/www/application/UPLOADS/PROMOWEB111120131.txt
[raw_name] => PROMOWEB111120131
[orig_name] => PROMOWEB11112013.txt
[client_name] => PROMOWEB11112013.txt
[file_ext] => .txt
[file_size] => 2.67
[is_image] =>
[image_width] =>
[image_height] =>
[image_type] =>
[image_size_str] =>
)
)
하지만이 do_mysql_load_data_infile에서 파일 이름을 어떻게 식별 할 수 있습니까? – Periback
위의 수업 예를 참조하십시오. 단순히 개수를 저장하는 대신 배열에 데이터를 저장하고 배열의 길이를 확인하십시오. –
감사합니다 밀러! : D – Periback