gpt4 book ai didi

javascript - 使用ajax和codeigniter上传图像文件总是抛出upload_path错误

转载 作者:行者123 更新时间:2023-12-03 05:21:39 25 4
gpt4 key购买 nike

我尝试使用 Codeigniter 和 AJAX 上传文件,但我的表单始终显示错误:

the upload path isn't correct.

型号

 public function save($data)
{
$this->db->insert($this->table, $data);
return $this->db->insert_id();
}

Controller

public function ajax_add(){

$this->_validate();

$data = array(

'nama'=>$this->input->post('post_nama'),
'jenis_kelamin'=>$this->input->post('post_jk'),
'alamat'=>$this->input->post('post_alamat'),
'email'=>$this->input->post('post_email'),
'telepon'=>$this->input->post('post_telepon'),
'status'=>$this->input->post('post_status')
);

if(!empty($_FILES['photo']['name']))
{
$upload = $this->_do_upload();
$data['photo'] = $upload;
}

$insert = $this->post->save($data);

echo json_encode(array("status" => TRUE));
}

private function _do_upload()
{
$config['upload_path'] = './upload/profil/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 1000; //set max size allowed in Kilobyte
$config['max_width'] = 3000; // set max width image allowed
$config['max_height'] = 1500; // set max height allowed
$config['file_name'] = round(microtime(true) * 1000);

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

if(!$this->upload->do_upload('photo')) //upload and validate
{
$data['inputerror'][] = 'photo';
$data['error_string'][] = 'Upload error: '.$this->upload->display_errors('',''); //show ajax error
$data['status'] = FALSE;
echo json_encode($data);
exit();
}
return $this->upload->data('file_name');
}

查看

<form action="#" id="form" method="post" enctype="multipart/form-data">
<div class="form-group">
<label class="control-label">Foto</label>
<input name="photo" type="file" id="photo">
<span class="help-block"></span>
</div>
<div class="form-group">
<button type="button" id="btnSave" onclick="insert()" class="btn btn-success">
<span class="glyphicon glyphicon-floppy-disk"></span> Simpan
</button>
<button type="reset" class="btn btn-default">
<span class="glyphicon glyphicon-floppy-disk"></span> Clear
</button>
</div>

Ajax

url = "<?php echo site_url('profil/ajax_add')?>";
// ajax adding data to database
var formData = new FormData($('#form')[0]);
$.ajax({
url : url,
type: "POST",
data: formData,
contentType: false,
processData: false,
dataType: "JSON",
success: function(data)
{

if(data.status) //if success close modal and reload ajax table
{
alert('Data Berhasil disimpan');
reset_form();

}
else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-error'); //select parent twice to select div form-group class and add has-error class
$('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]); //select span help-block class set text error string
}
}
$('#btnSave').text('save'); //change button text
$('#btnSave').attr('disabled',false); //set button enable


},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding / update data');
$('#btnSave').text('save'); //change button text
$('#btnSave').attr('disabled',false); //set button enable

}
});
}

当我单击表单中的“保存”按钮时,表单始终显示此错误:

Upload error: The upload path does not appear to be valid.

最佳答案

在公共(public)服务器托管(例如共享托管提供商)上,您很可能需要提供上传文件夹的完整相对路径,这与本地主机环境不同。另请确保您拥有将文件写入该目录的所有权限

您可以在本地主机环境中使用

  $config['upload_path']   = './upload/profil'; 

但在共享主机上,您需要更具体,通常类似于

  $config['upload_path']   = '/home/yourserver/public_html/upload/profil'; 

您可以找到这个upload_path,例如在您的帐户 cPanel 主页的左栏上,或者可能需要调用您的提供商服务台以获取有关正确路径的更多信息

关于javascript - 使用ajax和codeigniter上传图像文件总是抛出upload_path错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41353229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com