я новичок в php мне нужно загрузить файл со случайным именем - PullRequest
0 голосов
/ 16 мая 2019

Я новичок в php, мне нужно загрузить файл со случайным именем, назначенным файлу, и сохранить этот файл со случайным именем, чтобы загрузить папку и сохранить это случайное имя в базе данных mysql.

  $pic_file1 = $this->input->post('pic_file');

    $pic_file1 = str_replace( "\\", '/', $pic_file1);
    $filename = time().basename($pic_file1);


            $config['upload_path']          = './uploads/';
            $config['allowed_types']        = 'gif|jpg|png';
            $config['max_size']             = 1000;
            //$config['encrypt_name'] = TRUE;
            // $config['overwrite'] = FALSE; 
            $config['file_name'] =  $filename;          

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

            if ( ! $this->upload->do_upload('pic_file'))
            {
                    $error = array('error' => $this->upload->display_errors());
                    print_r($error);
            }
            else
            {
                    $data = array('upload_data' => $this->upload->data());
                   // print_r($data);                       

            }

Ответы [ 3 ]

1 голос
/ 16 мая 2019
In your code just uncomment $config['encrypt_name'] = TRUE; 
then automatically your file name store in random name formate or jsut copy below code

 $pic_file1 = $this->input->post('pic_file');

    $pic_file1 = str_replace( "\\", '/', $pic_file1);
    $filename = time().basename($pic_file1);


            $config['upload_path']          = './uploads/';
            $config['allowed_types']        = 'gif|jpg|png';
            $config['max_size']             = 1000;
            $config['encrypt_name'] = TRUE;
            // $config['overwrite'] = FALSE; 
            $config['file_name'] =  $filename;          

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

            if ( ! $this->upload->do_upload('pic_file'))
            {
                    $error = array('error' => $this->upload->display_errors());
                    print_r($error);
            }
            else
            {
                    $data = array('upload_data' => $this->upload->data());
                   // print_r($data);                       

            }



0 голосов
/ 17 мая 2019

$ pic_file1 = $ this-> input-> post ('pic_file');

        $config['upload_path']          = './uploads/';
        $config['allowed_types']        = 'gif|jpg|png';
        $config['max_size']             = 1000;
        //$config['encrypt_name'] = TRUE;
        // $config['overwrite'] = FALSE; 
        $config['file_name'] =  time();          

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

        if ( ! $this->upload->do_upload('pic_file'))
        {
                $error = array('error' => $this->upload->display_errors());
                print_r($error);
        }
        else
        {
                $data = array('upload_data' => $this->upload->data());
               // print_r($data);                       

        }
0 голосов
/ 16 мая 2019

Над кодом связан любой фреймворк.если вы новичок в php, попробуйте использовать приведенный ниже простой код.

$target_dir = "/var/www/html/uploads/"; // this is base path
$imageFileType = strtolower(pathinfo(basename($_FILES["pic_file"]["name"]),PATHINFO_EXTENSION));
$filename = time().$imageFileType; //save this file name to database $filename
$target_file = $target_dir.$filename
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["pic_file"]["tmp_name"]);
    if($check !== false) {
          if (move_uploaded_file($_FILES["pic_file"]["tmp_name"], $target_file)) {
             echo "The file ". basename( $_FILES["pic_file"]["name"]). " has been uploaded on : ".$target_file;
         } else {
             echo "Sorry, there was an error uploading your file.";
         }
    } else {
        echo "File is not an image.";        
    }
}

Если вам нужен HTML, пожалуйста, дайте мне знать, я предоставлю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...