v2.5.2
Giriş yap

Php resim adı güncellemeyi engelliyor

yazilimyolcusu
206 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
295 gün önce

Sorun yaratan resimler çoğunlukla şu şekilde oluyor. Resim adındaki boşluklar "+" işaretine dönüşüyor büyük ihtimal. "+" işaretini nasıl kaldırabilirim kodlardan veya nasıl dönüştürebilirim?
birinci resim (1).jpg
Kodları en son şu şekilde düzenledim ama sorunu halledemedim.

<?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;
        $search = array(" ","-","+");
        $replace = array("_","_","_");
        $isimdegistir = str_replace($search, $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("refresh:0; url=anasayfaresimekle.php");
        } else {
          $dosya = $_FILES['dosya']['tmp_name'];
          copy($dosya, '../../images/anasayfaresim/' . $isimdegistir);


          $query = "INSERT INTO anasayfaresim (anasayfaresim_resim) VALUES('$isimdegistir')";
        }
      }

    if (mysqli_query($db, $query) === TRUE) {
      echo '<div style="margin-top:25px; text-align:center; font-size:35px;">
      Kayıt Başarıyla Gerçekleştirildi</div>';
      header("Refresh:1; url=anasayfaresimekle.php");
    } else {
      echo '<div style="margin-top:25px; text-align:center; font-size:35px;">
      Kayıt Başarısız. <br> Geldiğiniz Sayfaya Yönlendiriliyorsunuz.</div>';
      header("refresh:5; url=anasayfaresimekle.php");
    }
  }
?>