어떻게하면 codeigniter에서 이것을 구현할 수 있습니까? Uploadify(Jquery)codeigniter를 사용하여 jquery 업로드 플러그인 'uploadify'구현
나는 컨트롤러가 무엇을 의미합니까? 진행 상황을 추적 했습니까? 플래시 플레이어가 사용자에 의해 설치되지 않으면 어떻게됩니까?
그리고 진행률을 어떻게 확인합니까? 어느 누구도 codeigniter로 이것을 시도 했습니까?
어떻게하면 codeigniter에서 이것을 구현할 수 있습니까? Uploadify(Jquery)codeigniter를 사용하여 jquery 업로드 플러그인 'uploadify'구현
나는 컨트롤러가 무엇을 의미합니까? 진행 상황을 추적 했습니까? 플래시 플레이어가 사용자에 의해 설치되지 않으면 어떻게됩니까?
그리고 진행률을 어떻게 확인합니까? 어느 누구도 codeigniter로 이것을 시도 했습니까?
다음과 같이 나는 성공적 CodeIgniter의에서 uploadify 구현 :
헤더보기에서:
<script type="text/javascript" src="<?php echo base_url()?>resources/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="<?php echo base_url()?>resources/uploadify/uploadify.css" />
<script type="text/javascript" src="<?php echo base_url()?>resources/uploadify/swfobject.js"></script>
<script type="text/javascript" src="<?php echo base_url()?>resources/uploadify/jquery.uploadify.v2.1.0.min.js"></script>
페이지보기에서 :
<input id="fileInput" name="fileInput" type="file" />
<script type="text/javascript">
$(document).ready(function() {
$("#fileInput").uploadify({
'uploader' : '<?php echo base_url()?>resources/uploadify/uploadify.swf',
'script' : '<?php echo site_url()?>/managerupload/vehicle_imageUpload',
'cancelImg' : '<?php echo base_url()?>resources/uploadify/cancel.png',
'fileExt' : '*.jpg;*.jpeg;*.png;*.gif',
'folder' : '/nonexistant',
'auto' : true,
'multi' : false,
'scriptData' : {'vehicleID': '<?php echo $vehicleID?>'},
'onComplete' : function() {vImg_reload('<?php echo $vehicleID?>');}
}); });
</script>
scriptData의 설정 옵션 POST를 통해 전달됩니다.
참고 : onComplete 구성 옵션을 사용하면 기능을 실행할 수 있습니다. 이 경우 현재 차량의 이미지를 업데이트하는 것은 Ajax 호출입니다. 이것은 당신에게 관련이 있거나 그렇지 않을 수도 있습니다. 그것이 있으면 나는 그것을 게시 할 것입니다 알려주십시오. 그것이 그렇듯이, 나는 오히려 물을 진흙 투성이로 만들지 않을 것이다. 제어기에서
:
function vehicle_imageUpload(){
$this->_checklogin();
$file_dir = "vehicle_images/";
$config['upload_path'] = './vehicle_images/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1000000';
$config['overwrite'] = TRUE;
$config['remove_spaces'] = TRUE;
$config['encrypt_name'] = FALSE;
$this->load->library('upload', $config);
if(! $this->upload->do_upload('Filedata')){
echo $this->upload->display_errors();
}else{
$errors = $this->upload->display_errors();
$upload_info = $this->upload->data();
// Insert file information into database
$insert_data = array(
'vImg_vehicle_id_fk' => $this->input->post('vehicleID'),
'vImg_filename' => $upload_info['file_name'],
'vImg_filepath' => $upload_info['file_path'],
'vImg_primary' => 1,
'vImg_directory' => $file_dir
);
$this->db->insert('vehicle_images', $insert_data);
}
}
이것은 CI 업로드 클래스를 사용하는 표준 업로드 핸들러; 여기에 전달 된 POST 항목 'vehicleID'를 사용하여 이미지 레코드를 데이터베이스에 삽입했습니다.
모든 플래시 항목과 마찬가지로 Flash Cookie Bug을 해결해야합니다. 두 가지 옵션이 있습니다. 위에서 설명한대로 Uploadify의 'scriptData'배열을 통해 세션 ID를 전달하고 기존 세션 ID로 업로드 컨트롤러에서 세션을 다시로드하십시오. 다른 옵션은 Codeigniter가 세션 사용자 에이전트와 일치하지 않도록하는 것입니다. 응용 프로그램에서
/config.php를
$config['sess_match_useragent'] = FALSE;
이이 세션에 속하는 나던 사용자 에이전트를 볼 때 세션을 파괴 세션 클래스를 방지 할 수 있습니다.
보안 문제가 걱정된다면 사용자 에이전트가 가짜 일뿐만 아니라 기존 보안이 제대로 구현되면 아무런 문제가 없음을 기억해야합니다.
나는 프로젝트를보고 있었지만 프로토 타입을 가지고 있기 때문에 그것을 사용하지 않기로 결정했기 때문에 두 사람이 잘 작동하도록 할 수 없었습니다. 그래도 난, 내 여행이 찾을 않았다
http://uploadify.com/forum/viewtopic.php?f=7&t=47&p=210&hilit=codeigniter#p1855
희망이 도움이됩니다.참고로, AJAX의 CI 업로드 클래스, iframe 및 프로토 타입을 사용하여 끝났습니다. 관련 게시물 here을 참조하십시오.
우리는 최근에 우리가 진행중인 프로젝트에서 이것을 사용했고, 예제 인 uploadify.php를 웹 루트에 넣었습니다.
자바 스크립트와 플래시가이 파일을 호출하여 업로드를 처리하고 uploadify.php를 수정하여 업로드 된 파일 데이터를 반향시킵니다. 거기에서 원래 페이지의 javascript는 우리가 사용하는 양식에 숨겨진 입력을 추가합니다.
사용자가 양식을 제출하면 CI 컨트롤러/메소드가 호출되고 이미지의 크기 조정/조작을 처리하는 것이이 작업입니다.
추가 설명이 필요하면 알려 주시기 바랍니다.
편집 : 질문의 다른 부분에 답하려면 플래시가 설치되어 있지 않으면 일반 파일 입력 요소가 표시됩니다. 우리가 그것을 사용하는 방법, 자바 스크립트가 올바른 기능을 위해 필요하지만, 그것은 디자인 선택했다.
현재이를 확인할 수 없습니다. 내가 2 일 동안 나간다. 나는 이것을 점검 할 것이고, 여기에서 빨리 되돌아 가게 될 것이다! 대단히 감사합니다! :) – esafwan
아무런 문제가 없어 당신을 위해 작동합니다. – DRL