dar*_*han 18 codeigniter file-upload
在视野中
<?php echo form_open_multipart('welcome/do_upload');?>
<input type="file" name="userfile" size="20" />
Run Code Online (Sandbox Code Playgroud)
在控制器中
function do_upload()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$config['overwrite'] = TRUE;
$config['encrypt_name'] = FALSE;
$config['remove_spaces'] = TRUE;
if ( ! is_dir($config['upload_path']) ) die("THE UPLOAD DIRECTORY DOES NOT EXIST");
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('userfile')) {
echo 'error';
} else {
return array('upload_data' => $this->upload->data());
}
}
Run Code Online (Sandbox Code Playgroud)
我这样称呼这个函数
$this->data['data'] = $this->do_upload();
Run Code Online (Sandbox Code Playgroud)
并查看此图像:
<ul>
<?php foreach ($data['upload_data'] as $item => $value):?>
<li><?php echo $item;?>: <?php echo $value;?></li>
<?php endforeach; ?>
</ul>
Run Code Online (Sandbox Code Playgroud)
我不知道错误是什么.
Has*_*ami 16
似乎问题是你发送表单请求welcome/do_upload,并Welcome::do_upload()在另一个方法中调用该方法$this->do_upload().
因此,当您$this->do_upload();在第二个方法中调用时,$_FILES数组将为空.
这就是var_dump($data['upload_data']);回归的原因NULL.
如果要从中上传文件welcome/second_method,请将表单请求发送到您调用的welcome/second_method$this->do_upload();.
然后改变形式的辅助功能(内视图)如下1:
// Change the 'second_method' to your method name
echo form_open_multipart('welcome/second_method');
Run Code Online (Sandbox Code Playgroud)
CodeIgniter 通过使用文件上传库很好地记录了上传过程.
您可以查看用户指南中的示例代码; 此外,为了更好地理解上传配置,请查看手册页末尾的配置项说明部分.
还有一些关于在CodeIgniter中上传文件的文章/示例,您可能需要考虑:
正如旁注:在使用CodeIgniter示例代码之前,请确保已加载url和form辅助函数:
// Load the helper files within the Controller
$this->load->helper('form');
$this->load->helper('url');
Run Code Online (Sandbox Code Playgroud)
1.表单必须是"multipart"类型才能进行文件上传.因此你应该使用form_open_multipart()返回的辅助函数:
<form method="post" action="controller/method" enctype="multipart/form-data" />
Hir*_*ana 10
在codeigniter中上传简单图像
查找以下代码以便轻松上传图片
public function doupload()
{
$upload_path="https://localhost/project/profile"
$uid='10'; //creare seperate folder for each user
$upPath=upload_path."/".$uid;
if(!file_exists($upPath))
{
mkdir($upPath, 0777, true);
}
$config = array(
'upload_path' => $upPath,
'allowed_types' => "gif|jpg|png|jpeg",
'overwrite' => TRUE,
'max_size' => "2048000",
'max_height' => "768",
'max_width' => "1024"
);
$this->load->library('upload', $config);
if(!$this->upload->do_upload('userpic'))
{
$data['imageError'] = $this->upload->display_errors();
}
else
{
$imageDetailArray = $this->upload->data();
$image = $imageDetailArray['file_name'];
}
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助您上传图像
| 归档时间: |
|
| 查看次数: |
102247 次 |
| 最近记录: |