【问题标题】:How to get an upload message for every file you upload in php codeigniter?如何为您在 php codeigniter 中上传的每个文件获取上传消息?
【发布时间】:2016-04-19 11:28:52
【问题描述】:

这是上传后显示内容的视图中的代码。

<h3>Additional Documents</h3>
<ul>
    <?php foreach ($doc_data as $value) { ?>
        <li><a class="fancybox" href="<?php echo base_url() . $value['upload']; ?>" data-fancybox-group="gallery"> <img src="<?php echo base_url() . $value['upload']; ?>" height="160" /></a>
            <?php if ($value['approved'] == 1) { ?>
                <div class="approved-sm"></div>
            <?php } elseif ($value['approved'] == 0) { ?>
            <?php } ?>
            <!--<a style="border:none;" href="<?php echo base_url() . '?id=' . $value['']; ?>"><input type="button" value="Delete" class="btn btn-danger"></a>--> 
            <a style="border:none;" href="<?php echo base_url() . 'home/universityDelImg?id=' . $value['id']; ?>">
                <input type="button" value="Delete" class="btn btn-danger">
            </a> </li>
    <?php } ?>
</ul>
</div>
</div>
</div>
</div>
</div>



    <?php


 if($fileuploaded){

    print_r($fileuploaded);
    die();

    echo "<div class='alert alert-success'>".$fileuploaded."</div>";
   }   

?>
<a href="<?php echo base_url(); ?>home/uploadFile?uid='<?php $t = time();
    echo $t; ?>'" style=" background: #ec7266 none repeat scroll 0 0;
   border: medium none;
   color: #fff;
   display: inline-block;
   float: left;
   font-size: 17px;
   font-weight: 700;
   height: 44px;
   padding: 10px 20px;;" >Upload additional document</a>
</div>
</div>

在控制器中,我制作了这些函数“uploadFile”和“uploadAdd”,它们会被调用。

public function uploadFile() {

    if ($this->session->userdata('university_id')) {

        $user_id = $this->session->userdata('university_id');
        $data['user_id'] = $user_id;
        $data['user_data'] = $this->home_model->user_profile_data($user_id);

        if ($this->input->server('REQUEST_METHOD') === 'POST') {
            if (isset($_FILES['image1']['name']) && $_FILES['image1']['name'] != '') {
                $config['upload_path'] = 'assets/uploads/';
                $imagename1 = $_FILES['image1']['name'];
                $getimage_extension = explode(".", $imagename1);
                $imagename1 = $getimage_extension[1];
                $imagename1 = strtotime("now") . '.' . $imagename1;
                $_FILES['image1']['name'] = $imagename1;
                $config['file_name'] = $_FILES['image1']['name'];
                $config['overwrite'] = TRUE;
                $config["allowed_types"] = 'jpg|jpeg|png|gif';
                $this->load->library('upload', $config);
                $this->upload->initialize($config);
                $this->upload->set_allowed_types('*');
                if (isset($_FILES['image1']['name']) && $_FILES['image1']['name'] != '') {
                    if (!$this->upload->do_upload('image1')) {
                        $error = array('error' => $this->uploads->display_errors());
                    } else {
                        $data['upload_data'] = $this->upload->data();
                        $imagename1 = $imagename1;
                    }
                }
            } else {
                $imagename1 = '';
            }
            $useremail = $this->input->post('user_email');
            $user_feedback = $this->input->post('user_feedback');
            $user_name = $this->input->post('user_name');

            $data_to_store = array(
                'user_name' => $useremail,
                'user_email' => $useremail,
                'user_feedback' => $user_feedback,
                'user_attachment' => $imagename1,
            );
        }


        $this->load->view('home/new-header', $data);
        $data['get_social'] = $this->home_model->get_social();
        $this->load->view('home/left_university_sidebar', $data);
//$this->load->view('socail', $data);

        $this->load->view('uploadFile', $data);
        $this->load->view('home/footer');
    } else {
        $this->load->view('home/header');

        $this->load->view('signin');

        $this->load->view('home/footer');
    }
}

function uploadAdd() {

    if ($this->session->userdata('university_id')) {

        if ($this->input->server('REQUEST_METHOD') === 'POST') {

            $config['upload_path'] = 'assets/uploads/';



            if (isset($_FILES['image1']['name']) && $_FILES['image1']['name'] != '') {

                $imagename1 = $_FILES['image1']['name'];

                $getimage_extension = explode(".", $imagename1);

                $extension = array('jpg', 'jpeg', 'png', 'gif');

                $imagename1 = $getimage_extension[1];

                if (!in_array($imagename1, $extension)) {

                    $imagename1 = $_FILES['image1']['name'];
                } else {

                    $imagename1 = strtotime("now") . '.' . $imagename1;
                }


                $_FILES['image1']['name'] = $imagename1;

                $config['file_name'] = $_FILES['image1']['name'];

                $config['overwrite'] = TRUE;

                $config["allowed_types"] = 'jpg|jpeg|png|gif';

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

                $this->upload->initialize($config);

                $this->upload->set_allowed_types('*');

                if (isset($_FILES['image1']['name']) && $_FILES['image1']['name'] != '') {

                    if (!$this->upload->do_upload('image1')) {

                        $error = array('error' => $this->upload->display_errors());
// $this->upload->message="File Uploaded Successfully!";
// $this->upload->success= TRUE;
                    } else {

                        $data['upload_data'] = $this->upload->data();
                $data['fileuploaded'] = "Your file successfully uploaded!";
           $this->load->view("university_document",$data);
                        $imagename1 = $imagename1;
                    }
                }
            }

            $data['success'] = $this->home_model->insert_mustuffaddUniversity($imagename1);
            $data['flash_message'] = TRUE;
            $this->session->set_flashdata("message_success", "<font class='error'>Added successfully.</font>");
            **log_message('error', 'Some variable did not contain a value.');
            **
        } else {

            $this->university();
        }
        redirect("university_document");
    } else {

        $this->load->view('home/header');

        $this->load->view('signin');

        $this->load->view('home/footer');
    }
}

我还上传了基本上在视图中调用的uploadFile。我尝试使用日志来获取基本上也显示在日志中的错误消息。但我无法在每次上传后将个性化消息放在页面上。

<h2 class="title">Upload Additional Document</h2>
<div class="mystuff-block">
<div data-example-id="togglable-tabs" role="tabpanel" class="bs-example bs-example-tabs">
   <?php if (isset($success)) { ?>
      <span style="color:green;"><?php print_r($success); ?></span>
      <?php } else if (isset($email_exist)) { ?>
         <span style="color:red;"><?php print_r($success); ?></span>
         <?php } ?>
      <div class="tab-content" id="myTabContent">
      <?php if (isset($messg)) {  echo $messg ; } ?>
   <div class="upload-block">
      <form action="<?php echo base_url(); ?>home/uploadAdd" method="post" accept-charset="utf-8" enctype="multipart/form-data">
         <input name="userid" type="hidden" class="form-control" value="<?php echo $user_id; ?>">
         <label>Upload</label>
         <span style="color:red;" id="eror"></span>
         <div class="file-upload-outer">
            <div class="fileUpload btn"> <span></span>
               <input type="file" class="upload file-control" name="image1" id="upload_image" />
            </div>
         </div>
         <input name="submit" type="submit" value="Upload"  id="stuff">
      </form>
   </div>
</div>

university_document

uploadFile

【问题讨论】:

  • 你能帮我解决这个问题吗? @小菲尔德
  • 你的代码输出的是什么。
  • 它什么也没显示。基本上它会上传内容并向我显示上传的内容。但我没有收到任何用户定义的消息,例如内容已上传。
  • 所以您只是想提醒用户文件已上传?
  • 没错。我想要的每上传一个!

标签: php html codeigniter file-upload


【解决方案1】:

在您的 Addfile 函数中搜索此行并在您的 $data 数组中添加另一个数据,如下例所示。

    function uploadAdd() {

    if ($this->session->userdata('university_id')) {

        if ($this->input->server('REQUEST_METHOD') === 'POST') {

            $config['upload_path'] = 'assets/uploads/';



            if (isset($_FILES['image1']['name']) && $_FILES['image1']['name'] != '') {

                $imagename1 = $_FILES['image1']['name'];

                $getimage_extension = explode(".", $imagename1);

                $extension = array('jpg', 'jpeg', 'png', 'gif');

                $imagename1 = $getimage_extension[1];

                if (!in_array($imagename1, $extension)) {

                    $imagename1 = $_FILES['image1']['name'];
                } else {

                    $imagename1 = strtotime("now") . '.' . $imagename1;
                }


                $_FILES['image1']['name'] = $imagename1;

                $config['file_name'] = $_FILES['image1']['name'];

                $config['overwrite'] = TRUE;

                $config["allowed_types"] = 'jpg|jpeg|png|gif';

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

                $this->upload->initialize($config);

                $this->upload->set_allowed_types('*');

                if (isset($_FILES['image1']['name']) && $_FILES['image1']['name'] != '') {

                    if (!$this->upload->do_upload('image1')) {

                        $error = array('error' => $this->upload->display_errors());
// $this->upload->message="File Uploaded Successfully!";
// $this->upload->success= TRUE;
                    } else {
                        $imagename1 = $imagename1;
                    }
                }
            }

            $data['success'] = $this->home_model->insert_mustuffaddUniversity($imagename1);
            $data['flash_message'] = TRUE;
            $this->session->set_flashdata("message_success", "<font class='error'>Added successfully.</font>");
            #log_message('error', 'Some variable did not contain a     value.');
              $data['upload_data'] = $this->upload->data();
              $data['fileuploaded'] = "Your file successfully uploaded!";
              $this->load->view("university_document",$data);
        } else {

            $this->university();
        }
        redirect("university_document");
    } else {

        $this->load->view('home/header');

        $this->load->view('signin');

        $this->load->view('home/footer');
    }
}

然后在你的view

    if($fileuploaded){
           echo "<div class='alert alert-success'>".$fileuploaded."</div>";
   }

【讨论】:

  • 嘿,这里的filename.php是什么?是显示上传内容的视图文件吗?
  • 用你的视图文件名替换filename.php
  • 看到我在upload_document(查看文件)中这样做,我希望它被查看:- ".$fileuploaded."
    "; } ?>
  • 当我使用 print_r 时我能够收到消息,但没有它它不会调用 $data[fileuploaded]
  • 没有同样的错误未定义变量。实际上函数(uploadAdd)正在被调用。所以当我上传另一个页面的文档时,当我上传它时。出现在页面上的上传内容基本上是另一个页面。因此,在该页面上,我希望显示“university_document”页面的消息。
  • 猜你喜欢
    • 2014-02-08
    • 2017-01-12
    • 1970-01-01
    • 2020-08-17
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    相关资源
    最近更新 更多