v2.5.2
Giriş yap

Php resim adı güncellemeyi engelliyor

yazilimyolcusu
117 defa görüntülendi

Merhaba arkadaşlar. Şöyle bir sorunum var. İnternetteki sunucuda çalışırken, siteye bir resim ekliyorum. Resmi de internetten buldum, o yüzden şöyle bir ismi var, örnek olarak: "siteye-konulan-birinci-resim.jpg" gibi. Resmin adında araya tire işareti konulduğu için resmi güncelleyemedim. Belki de "openssl_encrypt" kullandığım için dosya adı problem çıkarttı. Şu şekildeki resimlere bir sıkıntı çıkartmıyor. Mesela: "birinciresim.jpg" gibi. Resme yeniden isim mi vermeliyim? Nasıl verilir? Sorun nereden kaynaklanıyordur acaba? Aşağıdaki hatayı veriyor.

Uncaught mysqli_sql_exception: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation '=' in
yazilimyolcusu
103 gün önce

Dediğiniz gibi yaptım. Veritabanı dosyasına şöyle yazdım:

mysqli_set_charset($db,"utf8");

Veritabanı tablomu da "utf8mb4_general_ci" yaptım. Yalnız şöyle bir hata alıyorum şua an.

unlink(./../../images/anasayfaresim/170698815640 ־�.CoF�~�): No such file or directory in

error.log'da ise hata şu şekilde

unlink(./../../images/anasayfaresim/170698815640\n\xd6\xbe\xef\xbf\xbd.CoF\xef\xbf\xbd~\xef\xbf\xbd): No such file or directory in

Resmin verdiği satırda da şu kodlar var.

unlink("./../../images/anasayfaresim/$resimsil");

Bazı resimlerde hata alıyorum. Ne siliyor ne de düzenleme yapabiliyorum.
Şu isimde bir resim hata çıkartmazken : "4381132274.jpg"
şu isimde bir resim çıkartıyor: "4807910204.jpg"
Tabi ki şifrelendikten sonra 21 haneli bir karaktere dönüşüyorlar her iki resim ismi.
Hatta ben size kodların hepsini koyayım. Ekleme işleminde de aynı kodlar var. Ne yapmam lazım.

<?php
if(isset($_FILES['dosya'])) {

    $boyut = $_FILES['dosya']['size'];

    if($boyut > (1024*1024*3)) {
        echo 'Dosya 3MB den büyük olamaz.';
    } else {
        $tip = $_FILES['dosya']['type'];
        $isim = $_FILES['dosya']['name'];
        $newfilename = round(microtime(true)) . $isim;
        $isimdegistir = str_replace("-","_","$newfilename");
        $uzanti = explode('.', $isimdegistir);
        $uzanti = $uzanti[count($uzanti)-1];

        if($tip != 'image/jpeg' && $tip != 'image/png' && $tip != 'image/jpg') { ?>
        <div id="uyaripenceresi"></div>

        <?php
        header("Location: anasayfaresimlistele.php");
        } else {
            $dosya = $_FILES['dosya']['tmp_name'];
            copy($dosya, '../../images/anasayfaresim/' . $isimdegistir);


            $anasayfaresimguncellesorgusu = "UPDATE anasayfaresim SET anasayfaresim_resim='$isimdegistir' WHERE anasayfaresim_id='$duzenlesonuc' and anasayfaresim_resim='$duzenlesilresimsonuc'";
            $anasayfaresimguncellesorgu = mysqli_query($db, $anasayfaresimguncellesorgusu);
            if ($anasayfaresimguncellesorgu) {
                unlink("./../../images/anasayfaresim/$duzenlesilresimsonuc"); 
                echo '<div style="margin-top:25px; text-align:center; font-size:35px;">
                Düzenleme Başarıyla Gerçekleştirildi</div>';
                header("Refresh:2; url=anasayfaresimlistele.php");
            } else {
                echo '<div style="margin-top:25px; text-align:center; font-size:35px;">
                Düzenleme Başarısız. <br> Geldiğiniz Sayfaya Yönlendiriliyorsunuz.</div>';
                header("Refresh:4; url=anasayfaresimlistele.php");
            }
        }
    }
}
?>