猿问

上传图像文件时添加时间戳不起作用

我正在开发一个广告网站,任何人都可以上传 3 张图片。因此,我正在编码以通过在文件名前添加时间戳来上传这 3 张图像,使它们独一无二。我使用 codeigniter 框架并附上下面的代码。


当我提交表单数据时,本地主机服务器显示图像已正确保存,并带有一些图像文件名的代码信息。但问题是没有以该名称保存在相关图像文件夹中的图像,我无法在下一个预览广告页面中检索该图像。我不太了解 php 或 codeignitor。非常感谢您的帮助。


        $config['upload_path'] = './assets/images/adsimages';

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

        $config['max_size']             = 5120;


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

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


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

            $errors = array('error' => $this->upload->display_errors());

            $post_image = 'no_image.jpg';

        }

        else {

            $data = array('upload_data' => $this->upload->data());


            $post_image1 = time().$_FILES['userfile1']['name'];

            $post_image2 = time().$_FILES['userfile2']['name'];

            $post_image3 = time().$_FILES['userfile3']['name'];

        }         

        $result = $this->post_model->adregister($post_image1,$post_image2,$post_image3);


白板的微信
浏览 213回答 3
3回答

慕尼黑8549860

您可以在上传库的配置中将时间附加到“文件名”$config['file_name'] = time().$_FILES['userfile1']['name'];或者,如果您想要所有文件的唯一名称,只需添加$config['encrypt_name'] = TRUE;然后$this->load->library('upload', $config);

扬帆大鱼

试试这个:-$path = pathinfo($_FILES["userfile1"]["name"]);$image_path = $path['filename'].'_'.time().'.'.$path['extension'];

喵喔喔

我已经为您的代码编写了一个可能的解决方案。您还没有共享完整的代码,因此您必须自己填补空白,并且可能会在这里或那里进行一些更改;必要时会提及评论。看看它是否对你有帮助。public function your_function_name(){    // your-code    // your-code    // check if file is uploaded in field1    if(!empty($_FILES['userfile1']['name'])){         // call function to upload file        $userfile1 = $this->upload_file('userfile1');     }    // check if file is uploaded in field2    if(!empty($_FILES['userfile2']['name'])){         $userfile2 = $this->upload_file('userfile2');    }    // check if file is uploaded in field3    if(!empty($_FILES['userfile3']['name'])){         $userfile3 = $this->upload_file('userfile3');    }    $result = $this->post_model->adregister($userfile1, $userfile2, $userfile3);}// function to upload filefunction upload_file($filename){    $config['file_name']     = time().$_FILES[$filename]['name']; // append time to filename    $config['upload_path']   = './assets/images/adsimages';    $config['allowed_types'] = 'gif|jpg|jpeg|png|GIF|JPG|PNG|JPEG';    $config['max_size']      = 5120;    $this->load->library('upload', $config);    $this->upload->initialize($config);    $uploaded = $this->upload->do_upload($filename);    if ( ! $uploaded ){        $error = array('error' => $this->upload->display_errors());        $file  = 'no_image.jpg'; // default file    }else{        $upload_data = $this->upload->data();        $file        = $upload_data['file_name']; // uploaded file name    }    return $file; // return filename}
随时随地看视频慕课网APP
我要回答