Php codeigniter中未上载图片
我已经花了一个半小时来解决这个问题,但是找不到问题。我正在使用codeigniter和上载功能,但它总是无法上载- 控制器-Php codeigniter中未上载图片,php,codeigniter,Php,Codeigniter,我已经花了一个半小时来解决这个问题,但是找不到问题。我正在使用codeigniter和上载功能,但它总是无法上载- 控制器- // Uploads the picture to server public function uploadPicture() { $this->load->helper(array('form', 'url')); $this->load->helper('url'); $confi
// Uploads the picture to server
public function uploadPicture()
{
$this->load->helper(array('form', 'url'));
$this->load->helper('url');
$config['upload_path'] = './images/pictures/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '700';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
$this->upload->do_upload();
if ( ! $this->upload->do_upload())
{
$data = array('upload_data' => $this->upload->data());
var_dump($data);
//redirect('/profile/changePicture', 'refresh');
}
else
{
redirect('/profile/changePicture', 'refresh');
}
}
看法-
<form class="fix-this form" method="post" action="/savieno/profile/uploadPicture" enctype="multipart/form-data">
<div class="formfield">
<label id="current-password-error" class="input-error" style="display: none;"></label>
<span class="profile">Tava bilde: </span>
<input id="picture" name="picture" class="with-label" style="width: 270px;" type="file" placeholder="Tava bilde" />
<label>*</label>
</div>
<input type="submit" id="submit" value="Labot Profilu" name="edit" class="fix-this" />
</form>
有什么问题吗?$config['upload_path']='./图像/图片/';确保您写入的路径正确,并且它具有正确的777权限将文件写入
此外,正如克里斯蒂安所写,你正在做$this->upload->do_upload;上传部分两次
要检查错误,可以执行以下操作:
<?php
if(!$this->upload->do_upload())
{
echo $this->upload->display_error();
return FALSE;
}
else
{
$data = $this->upload->data();
return TRUE;
}
它是如何失败的?会发生什么?你有错误吗?没有错误,它只是加载变量转储。。。检查控制器,它说如果上传失败,则加载var_dump,否则重定向/你正在做$this->upload->do_upload两次。哦,是的,我知道,这只是为了检查,如果它给出任何错误,但它没有。好的,我要检查两次,如果是在本地主机上,我能把全部内容都写出来吗?另外,如果我在本地主机上检查它,我真的需要设置权限吗?您必须在测试的任何位置设置权限。您只需在CI项目的主文件夹中创建一个uploads文件夹,设置权限并重试即可。嗯,现在我如何在localhost上设置权限P我使用的是Windows 7,并且我没有在本地主机上设置服务器,所以我必须设置服务器,然后通过filezilla连接?只需设置写入文件夹即可。你可以直接点击文件夹->属性->安全并设置权限。啊哈!无论我选择文件还是不选择它-您没有选择要上载的文件。另外,所有目录都有写权限;!
<?php
if(!$this->upload->do_upload())
{
echo $this->upload->display_error();
return FALSE;
}
else
{
$data = $this->upload->data();
return TRUE;
}