Uploading image on codeigniter , shows error :The upload path does not appear to be valid
Uploading image on codeigniter , shows error :The upload path does not appear to be valid
我正在使用 php codeigniter 框架,并尝试在文件夹中上传图像并在配置文件视图中显示,但这是我上传文件时得到的结果:-
Array (
[upload_path] => ./community/photos/
[allowed_types] => jpeg|jpg|png
[max_size] => 100
[max_width] => 1024
[max_height] => 768
[overwrite] => 1
[file_name] => 1600052487_Musical-Birthday-Candle-Magic-Lotus-Flower-Candles-Blossom-Rotating-Spin-Party-Candle-14Small-Candles-2layers-Cake.jpg
)
上传路径似乎无效。
profile.php 控制器
public function do_upload()
{
echo "<pre>";
//print_r($_FILES);
//die;
if(!empty($_FILES['filename']['name'])){
$config['upload_path'] = FCPATH.'application/';
$config['allowed_types'] = 'jpeg|jpg|png';
$config['max_size'] = 100;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$config['overwrite'] = true;
$config['file_name'] = time().'_'.$_FILES['filename']['name'];
print_r($config);
//echo var_dump(is_dir(FCPATH.'uploads/'));
//die;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('filename'))
{
//echo "sdfs";
print_r($this->upload->display_errors());
die;
// $error = array('error' => $this->upload->display_errors());
$this->session->set_flashdata ('success','Invalid Credentils');
redirect('myProfile');
// $this->load->view('admin/profile/index', $error);
}
else
{
echo "xcvcx";
die;
$data = array('user_profile' => $this->upload->data());
$this->load->view('admin/profile/index', $data);
}
}else{
echo "dfgfd";
}
}
index.php 查看
<h2 class="heading">Profile</h2>
<div class="row">
<div class="col-md-3">
<div class="profile-img">
<?php if (!empty($user->photo)): ?>
<img src="/uploads/<?php echo $user->photo; ?>" alt="<?php echo $user->photo; ?>">
<?php endif;?>
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS52y5aInsxSm31CvHOFHWujqUx_wWTS9iM6s7BAm21oEN_RiGoog" alt=""/>
<?php echo form_open_multipart('admin/profile/do_upload');?>
<div class="file btn btn-lg btn-primary">
<i class="fa fa-pencil-square-o"></i>
<input id="choose_image" type="file" name="filename" />
</div>
<button id="SubmitBtn" type="submit" style="display:none">Upload photo</button>
</form>
</div>
autoload.php
$autoload['libraries'] = array('database','session','form_validation','encryption','upload');
$autoload['helper'] = array('url','form', 'file');
我尝试了几种解决方案,但仍然出现相同的错误。
您是否尝试在执行 do_upload 之前初始化 CI 文件上传 class? .
我经常用这个
$this->upload->initialize($set_upload);//my func class for config
//generally they use $this->upload->initialize()
if (!$this->upload->do_upload('userfile')){
}
我认为上传的路径应该是“./application”
<?php if (!empty($user->photo)): ?>
<img src="<?php echo base_url('uploads/'.$user->photo;);?>" alt="<?php echo $user->photo; ?>">
<?php endif;?>
我遇到了同样的问题,但我的是打字错误。
而不是使用这个
$this->upload->initialize($config);
因为复制粘贴不小心用到了这个
$this->load->initialize($config);
我花了好几个小时才弄明白。我希望我帮助了某人。
我正在使用 php codeigniter 框架,并尝试在文件夹中上传图像并在配置文件视图中显示,但这是我上传文件时得到的结果:-
Array (
[upload_path] => ./community/photos/
[allowed_types] => jpeg|jpg|png
[max_size] => 100
[max_width] => 1024
[max_height] => 768
[overwrite] => 1
[file_name] => 1600052487_Musical-Birthday-Candle-Magic-Lotus-Flower-Candles-Blossom-Rotating-Spin-Party-Candle-14Small-Candles-2layers-Cake.jpg
)
上传路径似乎无效。
profile.php 控制器
public function do_upload()
{
echo "<pre>";
//print_r($_FILES);
//die;
if(!empty($_FILES['filename']['name'])){
$config['upload_path'] = FCPATH.'application/';
$config['allowed_types'] = 'jpeg|jpg|png';
$config['max_size'] = 100;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$config['overwrite'] = true;
$config['file_name'] = time().'_'.$_FILES['filename']['name'];
print_r($config);
//echo var_dump(is_dir(FCPATH.'uploads/'));
//die;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('filename'))
{
//echo "sdfs";
print_r($this->upload->display_errors());
die;
// $error = array('error' => $this->upload->display_errors());
$this->session->set_flashdata ('success','Invalid Credentils');
redirect('myProfile');
// $this->load->view('admin/profile/index', $error);
}
else
{
echo "xcvcx";
die;
$data = array('user_profile' => $this->upload->data());
$this->load->view('admin/profile/index', $data);
}
}else{
echo "dfgfd";
}
}
index.php 查看
<h2 class="heading">Profile</h2>
<div class="row">
<div class="col-md-3">
<div class="profile-img">
<?php if (!empty($user->photo)): ?>
<img src="/uploads/<?php echo $user->photo; ?>" alt="<?php echo $user->photo; ?>">
<?php endif;?>
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS52y5aInsxSm31CvHOFHWujqUx_wWTS9iM6s7BAm21oEN_RiGoog" alt=""/>
<?php echo form_open_multipart('admin/profile/do_upload');?>
<div class="file btn btn-lg btn-primary">
<i class="fa fa-pencil-square-o"></i>
<input id="choose_image" type="file" name="filename" />
</div>
<button id="SubmitBtn" type="submit" style="display:none">Upload photo</button>
</form>
</div>
autoload.php
$autoload['libraries'] = array('database','session','form_validation','encryption','upload');
$autoload['helper'] = array('url','form', 'file');
我尝试了几种解决方案,但仍然出现相同的错误。
您是否尝试在执行 do_upload 之前初始化 CI 文件上传 class? .
我经常用这个
$this->upload->initialize($set_upload);//my func class for config
//generally they use $this->upload->initialize()
if (!$this->upload->do_upload('userfile')){
}
我认为上传的路径应该是“./application”
<?php if (!empty($user->photo)): ?>
<img src="<?php echo base_url('uploads/'.$user->photo;);?>" alt="<?php echo $user->photo; ?>">
<?php endif;?>
我遇到了同样的问题,但我的是打字错误。
而不是使用这个
$this->upload->initialize($config);
因为复制粘贴不小心用到了这个
$this->load->initialize($config);
我花了好几个小时才弄明白。我希望我帮助了某人。