2017-01-18 12 views
0

ステータスコード:500内部サーバエラーライブサーバ上のコードネイターの内部サーバエラーが発生しました

ここにファイル機能がアップロードされています。この作業はlocalhost上ではうまくいきますが、ファイルアクセス権が問題なく、アップロードライブラリが正常にロードされ、ログファイルにエラーが表示されないため、なぜこのエラーが発生するのかわかりません。

$image_file = $this->input->post('fileToUpload'); 
$update_date = date('Y-m-d'); 

if($_FILES['user_image']['name'] != '') { 
    $filename = 'user_image';  
} 

$config = array(
    'upload_path' => './uploads', 
    'allowed_types' => 'gif|jpg|png|jpeg', 
    'max_size'  => '2048', 
); 

$upload_data = $this->do_upload($filename, $config); 

$this->db->where('pkuserid',$id); 
$update_array = array(
    'firstname' => $first_name, 
    'lastname' => $last_name, 
    'headlines' => $headlines, 
    'summary'  => $summary2, 
    'updated_date'=> $update_date 
); 

if($upload_data['condition']=='error') { 
    echo json_encode(array('condition'=>'error', 'message'=>$upload_data['error'].' (User image)')); exit; 
} else { 
    $update_array['userpicture'] = $upload_data['upload_data']['file_name']; 
} 

$this->db->update('tblusers', $update_array); 
return $update_array; 
} 

public function do_upload($fieldname, $config) { 
    $this->load->library('upload'); 
    $this->upload->initialize($config); 

    if (! $this->upload->do_upload($fieldname)) { 
     $error = array('condition'=>'error', 'error' => $this->upload->display_errors()); 
     return $error; 
    } else { 
     $data = array('condition'=>'success', 'upload_data' => $this->upload->data()); 
     return $data; 
    } 
} 

アップロードフォルダのスナップショット: enter image description here

どれヘルプが充当されます。ありがとう

+0

codeigniterのクラスとファイルの名前付け方法は、https://www.codeigniter.com/user_guide/general/styleguide.html#file-naming – user4419336

+0

のように表示されます。エラーログを調べるにはエラーメッセージ。これは多くの役に立ちます –

+0

@CROZET:ありがとうございました。エラーログには、「アップロードライブラリ」がアップロードされたときに何も表示されません。 –

答えて

0

アップロードした画像の保存先ディレクトリが必要です。 CodeIgniterインストールのルートにuploadsという名前のディレクトリを作成し、ファイルのパーミッションを777に設定してください。

$image_file = $this->input->post('fileToUpload'); 
if($image_file){ 

    //load upload library 
     $this->load->library('upload'); 

     // Specify configuration for File 1 
     $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png|jpeg'; 
     $config['max_size'] = '2048'; 
     $this->upload->initialize($config); 

     if ($this->upload->do_upload($fieldname)){ 
      $image_data = $this->upload->data(); 
      $update_array['userpicture'] = $upload_data['upload_data']['file_name']; 
     } 
} 

私はうまくいきたいと思います。

+0

私は既にこれをやっており、0755,07775、0777も試してみましたが、同じレスポンスを得ました... –

+0

あなたのURLはexample.com/index.php/upload/と同じですか? –

+0

ログファイルパスを変更したときにこのエラーが表示されます。アップロードパスが有効ではないようです。 –

関連する問題