Php codeigniter配置文件pic上传
我正试图上传一个用户的个人资料头像。我试图做的是将用户pic上传到/assets中,并将路径存储在我的表“users”中的“avatar”字段下。因此,我阅读了在线codeigniter教程,但我无法理解其中的一些方面。首先,我认为上传图片的表格如下:Php codeigniter配置文件pic上传,php,html,codeigniter,upload,Php,Html,Codeigniter,Upload,我正试图上传一个用户的个人资料头像。我试图做的是将用户pic上传到/assets中,并将路径存储在我的表“users”中的“avatar”字段下。因此,我阅读了在线codeigniter教程,但我无法理解其中的一些方面。首先,我认为上传图片的表格如下: <div class="profile-img"> <img class = "rounded-corners" src="https://encrypted-tbn0.gsta
<div class="profile-img">
<img class = "rounded-corners" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS52y5aInsxSm31CvHOFHWujqUx_wWTS9iM6s7BAm21oEN_RiGoog" alt="profile image"/>
<div class="file btn btn-lg btn-primary">
Change photo
<?php echo form_open_multipart('pages/do_upload');?>
<input type="file" name="avatar"/>
<input type="submit" value="upload"/>
</div>
</div>
但是我甚至不能把照片上传到文件夹里。。。另外,我必须想出一个好主意来重命名我上传的图片,并将路径存储在列的表中。。。但我想上传图片,至少在开始的时候
纵断面图:
<div class="container emp-profile">
<form method="post">
<div class="row">
<div class="col-md-4">
<div class="profile-img">
<img class = "rounded-corners" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS52y5aInsxSm31CvHOFHWujqUx_wWTS9iM6s7BAm21oEN_RiGoog" alt="profile image"/>
<div class="file btn btn-lg btn-primary">
Change photo
<?php echo form_open_multipart('pages/do_upload');?>
<input type="file" name="avatar"/>
<input type="submit" value="upload"/>
</div>
</div>
</div>
<div class="col-md-6">
<div class="profile-head">
<h6>
Hi <?php echo($user->username) ?>
</h6>
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Profile Details</a>
</li>
<li class="nav-item">
<a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Your Vehicles</a>
</li>
</ul>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="profile-work">
<!-- here you can add some more info, but the database needs to be upgraded for that-->
</div>
</div>
<div class="col-md-8">
<div class="tab-content profile-tab" id="myTabContent">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
<div class="row">
<div class="col-md-6">
<label>Username</label>
</div>
<div class="col-md-6">
<p><?php echo($user->username) ?></p>
</div>
</div>
<div class="row">
<div class="col-md-6">
<label>Email</label>
</div>
<div class="col-md-6">
<p><?php echo($user->email) ?></p>
</div>
</div>
<div class="row">
<div class="col-md-6">
<label>Member since</label>
</div>
<div class="col-md-6">
<p><?php echo($user->created_at) ?></p>
</div>
</div>
</div>
换照片
你好
-
-
用户名
电子邮件
成员自
@TimBrownlaw
我再次检查了我的代码和所有东西。。。现在我的观点是:
换照片
这是我的控制器:
public function do_upload()
{
$config['upload_path'] = './assets';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 100;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->load->library('upload', $config);
$data = array('upload_data' => $this->upload->data());
$this->load->view('profie', $data);
}
public function do_upload()
{
$config['upload_path'] = 'uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 10000;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->load->library('upload', $config);
$data = array('upload_data' => $this->upload->data());
var_dump($data);
$this->load->view('profile', $data);
}
现在我收到这样一条消息:“上传路径似乎无效。”但根据我的计算机,我有权限。。。这可能是与docker或lamp服务器有关的问题吗?
我认为这与写权限有关,因为下面的代码一直在说我的目录不可写
<?php if(is_writable(base_url('uploads'))){
echo 'writable';
}
else { echo (base_url('uploads'). ' ' ."is not writable");} ?>
很明显,我尝试了chmod777“目录”,根据我的mac,我获得了读写权限。但是不能上传这张该死的照片。它是否与docker的灯容器设置有关 我认为您应该去重新阅读codeigniter示例。您遗漏了大量代码等。另外,您在控制器中的视图拼写是否正确?profie应该是个人资料吗?是的,应该是,但是如果我连图片都不能保存。。。哈哈,不管怎样,我还在网上寻找如何做到这一点。。。代码与教程中的不同,出于我的基本目的,它被简化了。。。我会再看一遍,但我觉得我需要一个模型来上传我表中的路径…它提到了一些东西,比如。。。文件夹是否可写。。。它还检查上传是否有效。我不确定你是否看到任何错误等,除了它只是没有出现在你的预期文件夹…没有错误显示,该文件夹是可写的。。。这是一种行为:显示配置文件页面,我单击上传图片,我选择图片,我按ok,对话框窗口关闭,配置文件页面显示无差异。你是说在表单_open _multipart中?当我复制视图代码粘贴到这里时,我看到了错误。。。我的控制器叫pages,方法是do_upload,所以我应该写pages/do_upload。。。不管怎样,当我有时间的时候,我会重新阅读教程,重新尝试一切,老实说,我现在有点困惑。。。我会再打给你的,谢谢你的耐心。