2016-04-14 13 views
3

私はcodeigniterの新機能です。私はファイルをアップロードしようとしましたが、出力が得られませんでした。答えを見つけるのを助けてください。 私のコードがあるcodeigniterフレームワークでアップロードする方法

表示 - > 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> 

表示 - > 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->アップロード

<?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); 
     } 
    } 
} 
?> 

私はプログラムを実行しますブラウズファイルのフロントエンドを表示しますが、ファイルを選択してアップロードボタンをクリックすると空白のページが表示されます。

+0

かのようなあなたのログファイル –

+1

パスフィールド名を確認してください(!ます$ this-> upload-> do_upload(「userfile」))ログに –

+0

動作しないmaninderpreet –

答えて

0

は、あなたの "./uploads/の許可をチェックし、答えを見つけるために私を助けてください。 chmodを使用して権限を変更することができます。

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

コードは正常です。私は私のWebサーバーでそれをテストしました。フォルダへのアクセス許可、またはフォルダの場所に問題がある必要があります。 アップロードフォルダはCodeIgniterをインストールしたディレクトリに置かれていますか? CodeIgniterのアップロードライブラリでフォルダの

場所

は、「upload_path」パラメータは、CodeIgniterのフォルダからの相対に設定されています。

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

だから、これはフォルダ構造をする必要があります意味:フォルダは、システムやアプリケーションのフォルダと同じフォルダにある必要があり

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

あなたアップロード。あなたは、FileZillaの中で(いつでもあなたのFTPプログラムでフォルダのアクセス権を見ることができます755:フォルダを右クリックし、私のウェブサーバで

権限

、私は権限を持つアップロードフォルダを作成しています>ファイルの権限..)。それが755(またはそれ以上)でない場合は、この値に設定することもできます。

関連する問題