2016-04-14 10 views
3

Kod yazıcısı olarak yeniim. Dosya yüklemeye çalışıyorum ama çıktı almadım. lütfen cevabı bulmak için bana yardım edin. benim kodudurcodeigniter çerçevesindeki yükleme dosyası nasıl olur

görünüm-> upload_form.php

<!DOCTYPE html> 
<html lang="en"> 
    <title> 
     Upload Form 
    </title> 

<body> 
    <?php echo $error; ?> 
    <?php echo form_open_multipart('upload/do_upload'); ?> 


     <input type="file" name="userfile" size="20"/> 
     <br><br> 
     <input type="submit" value="upload"/> 
    </form> 
</body> 
</html> 

görünüm-> upload_success.php

<!DOCTYPE html> 
<html lang="en"> 
    <title> 
     Upload Form 
    </title> 

<body> 
    <h3>Your file was successfully uploaded!</h3> 

    <ul> 
     <?php foreach($upload_data as $item => $value); ?> 
     <li><?php echo $item; ?>:<?php echo $value; ?></li> 

    </ul> 
    <p> 
     <?php echo anchor('upload','upload another file!'); ?> 
    </p> 
</body> 
</html> 

controller-> yükleme

<?php 

class Upload extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->helper(array('form', 'url')); 
    } 

    function index() 
    { 
     $this->load->view('upload_form', array('error' => ' ')); 
    } 

    function do_upload() 
    { 
     $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = '100'; 
     $config['max_width'] = '1024'; 
     $config['max_height'] = '768'; 

     $this->load->library('upload', $config); 

     if (! $this->upload->do_upload()) 
     { 
      $error = array('error' => $this->upload->display_errors()); 

      $this->load->view('upload_form', $error); 
     } 
     else 
     { 
      $data = array('upload_data' => $this->upload->data()); 

      $this->load->view('upload_success', $data); 
     } 
    } 
} 
?> 

i programını çalıştırmak sonra göz atma dosyasının ön ucunu gösterir, ancak dosyayı seçip yükle düğmesine tıkladığımda boş sayfa gösterir.

+0

eğer sevdiği günlük dosyaları –

+1

geçişli alan adını kontrol (! $ This-> upload-> do_upload ('kullanici_dosyasi')) günlüklerinde –

+0

çalışmıyor maninderpreet –

cevap

0

için './uploads/' iznini kontrol cevap bulmak için bana yardım edin. İzinleri değiştirmek için chmod'u kullanabilirsiniz.

chmod('/path/to/project/folder/images/upload/',0777); 
0

Kodunuzun düzgün çalışıyor. Web sunucumda test ettim. Klasörünüze veya klasörünüzün yerine izinlerinizle ilgili bir sorun olmalı. CodeIgniter'i yüklediğiniz dizinde klasörünüze yüklenir mi? Klasörünüze CodeIgniter yükleme kütüphanesinde

ait

Yeri, 'upload_path' parametresi CodeIgniter klasörüne göreceli olarak ayarlanır.

$config['upload_path'] = './uploads/'; 

Yani bu klasör yapısı olması gerektiği anlamına gelir:

/system/.. 
/application/.. 
/uploads/.. 
/../.. 

Sizin yüklenenler klasör sistemi veya uygulama klasörü ile aynı klasörde olması gerekir.

İzinler benim web sunucusu olarak

, ben izinlerine sahip yüklenenler klasör oluşturduk: 755. Sen FileZilla içinde (zaman FTP programına klasörün izinlerini görebilirsiniz: klasörü sağ tıklayın > Dosya izinleri ..). 755 (veya üstü) değilse, bu değere ayarlamayı da deneyebilirsiniz.