当前位置: 首页 > 知识库问答 >
问题:

上传图像不动

吴西岭
2023-03-14

我有以下代码:

美元这个-

    $this->load->model('profile_m');
    $this->load->model('order_m');


        $config['upload_path'] = './uploads/user/';
        $config['allowed_types'] = 'gif|jpg|png|jpeg';
        $config['max_size'] = '2048';
        $config['max_width']  = '2650';
        $config['max_height']  = '2270';
        $config['overwrite'] = FALSE;
        $config['encrypt_name'] = FALSE;

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

        if ( ! $this->upload->do_upload('ktp')  )
        {
            $this->data->error = $this->upload->display_errors();

//          $this->load->view('upload_form', $error);
        }
        else
        {
            $data = array('upload_ktp' => $this->upload->data());
//          $this->load->view('upload_success', $data);
        }

没有出现警告/错误,提交成功,但我上传的图像不会显示在文件夹中/uploads/user/“我不知道为什么,我不知道如何检查我的上传路径是否正确。我希望有一些方向。但我确实用相同的代码从不同的函数上传了它的工作和图像显示。

我目前使用localhost。

表格如下:

<?php if($this->session->flashdata('pesan')): ?>
<?php echo $this->session->flashdata('pesan'); ?>
<?php else:?>
<?php if(@$error){echo @$error;} ?>
<?php echo validation_errors(); ?>
<?php 
echo form_open_multipart(site_url(uri_string()));
echo form_label('KTP');
echo form_upload('ktp');
echo form_submit('submit','Pesan Sekarang');
?>

共有2个答案

桑坚成
2023-03-14

定义了一些约束,如max_size、max_width、max_height。您是否检查上传的图像满足所有定义的约束?

公孙和怡
2023-03-14

如果您的代码正常工作,并且您不确定自己的路径,那么您可以像这样检查它:

$upload_path = "./uploads/user/";

if(!file_exists($upload_path)) {
    mkdir($upload_path);
}

因为我尝试了你的代码,它也适用于我一个有效的路径,当我测试一个无效的路径,你应该得到一个错误:上传路径不似乎是有效的。作为错误消息

编辑1

下面是我如何测试它的:

观点:

 <?php echo form_open_multipart(site_url().'/upload_test/uploadImg');?>
        <input type="file" name="ktp" title="Upload ktp" class="btn btn-lg btn-info m-b-sm col-sm-12">
        <input type="submit" value="Go Upload son !">


        <?php echo isset($the_file) ? 'Uploaded file : '.$the_file['file_name'] : ''; ?>
        <?php echo isset($error) ? $error : ''; ?>  
  <?php echo form_close(); ?>

控制器:

public function uploadImg() {

    $config['upload_path']   = './uploads/user';
    $config['allowed_types'] = 'gif|jpg|png|jpeg';
    $config['max_size']      = '2048';
    $config['max_width']     = '2650';
    $config['max_height']    = '2270';
    $config['overwrite']     = FALSE;
    $config['encrypt_name']  = FALSE;

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

    if( ! file_exists($config['upload_path']) ) {
         mkdir($config['upload_path']);
    }


    if ( ! $this->upload->do_upload('ktp')  ) {
        $data['error'] = $this->upload->display_errors();
        $this->load->view('welcome_message', $data);
    }
    else {
        $data['the_file'] = $this->upload->data();

        $this->load->view('welcome_message', $data);
    }
}   

编辑2

我的最后一个想法是在没有codeIgniter助手的情况下完成。检查这里。W3PHP文件上传学校指南。

 类似资料:
  • 我的视图中有一个用于上传图像的输入字段: 我已经在我的公共文件夹中创建了文件夹上传,在我的控制器中,我试图上传这样的文件: 当我提交表单并上传图片时,没有任何东西被上传到文件夹上传,我得到了错误: SQLSTATE[HY000]:一般错误:1364字段“image”没有默认值

  • 我正在使用CKEditor 4.5。2和CKFinder 3.0。PHP5.6上的0。一般来说,集成工作正常-当我单击CKEditor图像按钮时,我可以单击“浏览服务器”按钮,CKFinder打开,我可以选择图像,也可以进行上传。 不起作用的是image2对话框中的“上载”选项卡。我总是收到一个错误,说“请求的资源类型无效。”当我点击“发送到服务器”按钮时。 在我的CKFinder配置中,我定义了

  • 我正在尝试将一组照片上载到服务器,但请求失败。文件数组到达时总是显示为空。 req.body按预期显示数组。 图像通过Dropzone组件添加。(我尝试将其切换为标准输入,但它们似乎都以相同的方式传递文件) 图像被应用到FormData,名称图像文件在通过设置了多部分/表单数据标题的Axios POST请求发送之前被追加。 一旦传递到服务器,只有req.body似乎包含任何数据,req.files

  • 我在Node.js应用程序中使用multer和cloudinary上传图像。当我处于开发模式时,它工作得非常好,但在部署到heroku后,我在浏览器控制台中得到错误,因为服务器响应的状态是503(服务不可用)。当我检查heroku日志时,它显示为at=error code=h12desc=“request timeout”method=post path=“/api/users/upload/av

  • 一旦用户点击掩码映像,我们就允许用户上传自定义映像,如果只有一个掩码映像:https://codepen.io/kidsdial/pen/jjbvon就可以正常工作 要求: 但是如果有多个掩码映像,那么用户也应该能够上传所有掩码映像上的自定义映像[类似https://codepen.io/kidsdial/pen/rrmypr],但是现在它只适用于单个映像.... 2图像代码页:https://c

  • 一旦用户点击掩码映像,我们就允许用户上传自定义映像,如果只有一个掩码映像:https://codepen.io/kidsdial/pen/jjbvon就可以正常工作 要求: 但是如果有多个掩码映像,那么用户也应该能够上传所有掩码映像上的自定义映像[类似https://codepen.io/kidsdial/pen/rrmypr],但是现在它只适用于单个映像.... 2图像代码页:https://c