PHP ile sorunu yükleyin: Küçük görüntü adını alıp

2 Cevap php

Ben görüntü ve üzerlerine yüklemek için aşağıdaki model (CodeIgniter) kodu var.

Görüntü yolu sonucu olur Ancak, görüntüler / comfort_big.jpg ve images / comfort_big.jpg.jpg.

Küçük resim görüntü adını alır ve. Jpg ekleyin.

Ben başparmak için images / confort_thumb.jpg yükleyerek duyuyorum.

Herkes lütfen bana ne olduğunu söyleyebilir misiniz?

if ($_FILES){
        $config['upload_path'] = './images/';
        $config['allowed_types'] = 'gif|jpg|png';
        $config['max_size'] = '200';
        $config['remove_spaces'] = true;
        $config['overwrite'] = false;
        $config['max_width']  = '0';
        $config['max_height']  = '0';

        $this->load->library('upload', $config);  
        if (strlen($_FILES['image']['name'])){
            if(!$this->upload->do_upload('image')){
                $this->upload->display_errors();
                exit();
            }
            $image = $this->upload->data();
            if ($image['file_name']){
                $data['image'] = "images/".$image['file_name'];
            }
        }

        if (strlen($_FILES['thumbnail']['name'])){
            if(!$this->upload->do_upload('thumbnail')){
                $this->upload->display_errors();
                exit();
            }
            $thumb = $this->upload->data();
            if ($thumb['file_name']){
                $data['thumbnail'] = "images/".$thumb['file_name'];
            }
        }
    }

2 Cevap

I had a quick look at File Uploading Class in the user guide
In the preferences tables it states:

Not: dosya adı bir dosya uzantısı içermemelidir.

Yani benim tahminim dosya adına kullanıcı almak olduğunu

$config['file_name'] = "User defined";

veya programlı uzantıyı kaldırmak. Bildiğiniz ve uzantıları listesi beri zaten yapabileceği

$types = array(".gif",".jpg",".png"); 
$image['file_name'] = str_replace($types , "", $image['file_name'] );

Senin sorunun bir başparmak oluşturmak zaman tam görüntü geçiyor olmasıdır.

Yani bunun başka bir uzantısı katacak.

Dosya adı uzantısını kaldırmak için kod aşağıda kullanın.

<?php 
    $filename=$image['file_name'];

    $file_name_with_dot = substr($filename,0, strrpos($filename, '.') + 1);

    $only_file_name = substr($file_name_with_dot,0,strlen($file_name_with_dot)-1);
?>

Şimdi başparmak işlevi için bu $only_file_name değişken geçmek ..

Bu ana görüntüden otomatik başparmak oluşturma kullanmak için daha iyi olacaktır.

Bu sizin için yardımcı olacağını umuyoruz.