Kết quả 1 đến 9 của 9
  1. #1
    CI Member truongnguyenhd's Avatar
    Ngày tham gia
    25-09-2013
    Bài viết
    75
    Cảm ơn
    2
    Được cảm ơn 7 trong 6 bài viết

    Vấn đề vòng lặp kiểm tra file upload hợp lệ

    Mình làm xong cái function upload sản phẩm có chứa 3 file đc upload cùng và 3 có tên là product_image1, product_image2, product_image2, file có các trường Image và Thumb riêng biệt.
    Khi tất cả các file đề thỏa mãn with và height thì đc. nhưng khi 1 trong các file khồn thỏa mã yêu cầu thì phát sinh vấn đề.

    Mình dòng FOR để kiểm tra với 3 file mà thấy rắc rối quá.

    Bạn nào có thề mô tả function kiểm tra 3 file đó có hợp lệ hay không trước khi cho phép nó làm upload và insert vào db thi giúp mình.

    cấu trúc function không ổn của mình thế này.

    PHP Code:
    function 
    {
    $this->form_validation->set_rules('cac truong yeu ca''name,'vân vân và vân vân'')
    ...

    if(
    $this->form_validation->run() == FALSE)
    $error validation_errors();
    $this->add('warning'$error);
    }
    else{
    $str = array( 'Title' => $_POST['product_name'],
    'Slug' => mb_strtolower(url_title(removesign($_POST['product_name']))),
    ... 
    );

    //Upload Image
    $max 3;
    for(
    $i=1$i<=$max; ++$i){
    if(
    $_FILES['product_image'.$i]['name']){
    #Tao thu muc
    $Dir 'product';
    $thumbs $Dir.'/thumbs';
    if(!
    is_dir($Dir)){
    mkdir($Dir);
    mkdir($thumbs);


    $config1 = array(
    'allowed_types' => 'jpg|png|gif|jpeg',
    'upload_path' => $Dir,
    'file_name' => random_string('alpha'12),
    'max_size' => '1024*3',
    'max_width' => '450',
    'max_height' => '400'
    );

    $this->load->library('upload');
    $this->upload->initialize($config1); 
    $upload $this->upload->do_upload('product_image'.$i);


    $image_data $this->upload->data(); 
    //Lay duong dan Anh 
    $str['Image'.$i] = $image_data['file_name'];
    //Tao thumbnail 
    switch($upload){
    case 
    'true'
    $this->load->library('image_lib'); 
    $config2 = array(
    'image_library' => 'GD2',
    'source_image' => $image_data['full_path'],
    'new_image' => $Dir.'/thumbs/'.$image_data['file_name'],
    'maintain_radio' => TRUE,
    'width' => 150,
    'height' => 100
    );
    $this->image_lib->initialize($config2);
    $this->image_lib->resize();
    //Lay duong dan Thumbnail
    $str['Thumb'.$i] = $image_data['file_name']; 
    break; 
    default:
    $this->add('warning'$this->upload->display_errors());
    break;

    }
    //End fi FIle 
    }//End FOR


    if(isset($upload)) 
    $mesg $this->lang->line('message.addSuccess');
    $this->add('success'$mesg); 
    }
    else{
    $mesg $this->lang->line('banner.nofile');
    $this->add('warning'$mesg);
    }

    }

    Sửa lần cuối bởi truongnguyenhd; 14-02-2014 lúc 10:28 AM.

  2. 14-02-2014, 10:39 AM

  3. #2
    CI Member PhanNguyenChuong's Avatar
    Ngày tham gia
    15-07-2013
    Bài viết
    134
    Cảm ơn
    124
    Được cảm ơn 36 trong 32 bài viết
    Code nằm cùng 1 dòng khó hiểu quá

  4. #3
    CI Member truongnguyenhd's Avatar
    Ngày tham gia
    25-09-2013
    Bài viết
    75
    Cảm ơn
    2
    Được cảm ơn 7 trong 6 bài viết
    Trích dẫn Gửi bởi PhanNguyenChuong Xem bài viết
    Code nằm cùng 1 dòng khó hiểu quá
    thế mình mới hỏi bạn xem viết lại sẽ ntn ? bạn có cách nào khác giúp mình nhé

  5. #4
    Moderator vudesign's Avatar
    Ngày tham gia
    23-01-2014
    Bài viết
    324
    Cảm ơn
    22
    Được cảm ơn 45 trong 39 bài viết
    Là sao nhĩ . sửa code lại coi nào lubu quá

  6. #5
    CI Member PhanNguyenChuong's Avatar
    Ngày tham gia
    15-07-2013
    Bài viết
    134
    Cảm ơn
    124
    Được cảm ơn 36 trong 32 bài viết
    Trích dẫn Gửi bởi truongnguyenhd Xem bài viết
    thế mình mới hỏi bạn xem viết lại sẽ ntn ? bạn có cách nào khác giúp mình nhé
    PHP Code:
    function name(){
      if(
    $a){
        echo 
    $a;
        
    $c $a
      
    }else{
        echo 
    "nothing";
      }

      for(
    $i 1$i >= 3$i++){
        if(
    $i==1){
          echo 
    "so mot";
        }
      }

    Giờ có phải rất rõ ràng không? Bạn dùng khoảng trắng thay tab là đc

  7. #6
    CI Member truongnguyenhd's Avatar
    Ngày tham gia
    25-09-2013
    Bài viết
    75
    Cảm ơn
    2
    Được cảm ơn 7 trong 6 bài viết
    ok đề mình thử xem sao

  8. #7
    CI Member truongnguyenhd's Avatar
    Ngày tham gia
    25-09-2013
    Bài viết
    75
    Cảm ơn
    2
    Được cảm ơn 7 trong 6 bài viết
    Trích dẫn Gửi bởi PhanNguyenChuong Xem bài viết
    PHP Code:
    function name(){
      if(
    $a){
        echo 
    $a;
        
    $c $a
      
    }else{
        echo 
    "nothing";
      }

      for(
    $i 1$i >= 3$i++){
        if(
    $i==1){
          echo 
    "so mot";
        }
      }

    Giờ có phải rất rõ ràng không? Bạn dùng khoảng trắng thay tab là đc
    vấn đề của mình là kiểm tra 3 file đính kèm trước co thỏa mã hay không trước khi cho phep upload.

  9. #8
    CI Member truongnguyenhd's Avatar
    Ngày tham gia
    25-09-2013
    Bài viết
    75
    Cảm ơn
    2
    Được cảm ơn 7 trong 6 bài viết
    Trích dẫn Gửi bởi PhanNguyenChuong Xem bài viết
    PHP Code:
    function name(){
      if(
    $a){
        echo 
    $a;
        
    $c $a
      
    }else{
        echo 
    "nothing";
      }

      for(
    $i 1$i >= 3$i++){
        if(
    $i==1){
          echo 
    "so mot";
        }
      }

    Giờ có phải rất rõ ràng không? Bạn dùng khoảng trắng thay tab là đc
    vấn đề của mình là kiểm tra 3 file đính kèm trước(ít nhất là file đính kèm phài có). co thỏa mã hay không trước khi cho phep upload. nuế ko thì in lỗi của từng cái. tất cả các file dưới kích thước cho phép thì cho upload vào in tên từng cái vào db.
    Sửa lần cuối bởi truongnguyenhd; 14-02-2014 lúc 04:47 PM.

  10. #9
    CI Member PhanNguyenChuong's Avatar
    Ngày tham gia
    15-07-2013
    Bài viết
    134
    Cảm ơn
    124
    Được cảm ơn 36 trong 32 bài viết
    PHP Code:

    for($i=1;$i>3;$i++){
      
    // Kiểm tra file upload có phải file hình ảnh không
      
    $img_type=substr($_FILES['img'.$i]['type'],0,strpos($_FILES['img'.$i]['type'],'/')); // Loại file là gì
      
    if($_FILES['img'.$i]['error'] == && $img_type == "image" ){ // Nếu file hình ảnh -> thực hiện upload 
        // Thực hiện upload
      
    }
      if(
    $_FILES['img'.$i]['error'] == && $img_type != "image" ){ // Không phải file hình ảnh
        // báo lỗi
      
    }

    Sửa lần cuối bởi PhanNguyenChuong; 16-02-2014 lúc 11:28 PM.

Chia sẽ và Bình Luận chủ đề Vấn đề vòng lặp kiểm tra file upload hợp lệ trên facebook

Các Chủ đề tương tự

  1. Ai biết cách upload nhiều ảnh lên cùng một lần không
    Bởi vudesign trong diễn đàn Hỏi đáp
    Trả lời: 2
    Bài cuối: 17-03-2014, 10:33 AM
  2. Trả lời: 0
    Bài cuối: 15-11-2013, 11:08 PM
  3. cách upload hàng loạt file lên server
    Bởi Zen Studio trong diễn đàn General Topics
    Trả lời: 1
    Bài cuối: 09-09-2013, 10:33 PM
  4. Trả lời: 0
    Bài cuối: 27-03-2013, 03:37 PM
  5. Upload và quản lý image file trong CodeIgniter
    Bởi tinhphaistc trong diễn đàn Turtorial
    Trả lời: 0
    Bài cuối: 01-03-2013, 11:50 PM

Các từ khóa xuất hiện trên google của chủ đề

Chưa có từ khóa lên top google

Quyền viết bài

  • Bạn không thể đăng chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi đính kèm
  • Bạn không thể sửa bài
  •