• 14-12-2020, 21:14:55
    #1
    Merhaba elimde wordpress sitemdeki resimlere işlem yapan php bir bot var. Bot bazı resimlerde resim adındaki özel karakterden dolayı hata veriyor ve o işlemi yapamadığı için takılı kalıyor. Çok php bilgim olmadığı için kesin çözüm sağlayamadım ancak şöyle bir düzenleme yaptım:

    if (mb_stripos($image_name, '♡') == false) {
    ...Yapılacak işlemler...
    }

    Bu şekilde yapılacak işlemleri if condition'u içine alınca, image_name değişkeninde o özel karakter denk geldikçe takılı kalmıyor ancak bu özel karakterleri tek tek yazamayacağım için bu geçici bir çözüm oldu. Örneğin gözlemlediğim kadarıla resim adlarında şu karakterler denk gelince bot takılıyor (•,▷,♡,·,® ). Bu şekilde tüm özel karakterlerin olduğu resim adlarını hariç tutucak koşulu nasıl yazabilirim php'de? Teşekkürler şimdiden..

    Not: Bot takılı kalınca aldığım hata:

    Fatal error: Uncaught InterventionImageExceptionNotReadableException: Image source not readable in /var/www/vhosts/siteadi.com/httpdocs/bot/vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php:346 Stack trace: #0 /var/www/vhosts/siteadi.com/httpdocs/bot/vendor/intervention/image/src/Intervention/Image/AbstractDriver.php(66): InterventionImageAbstractDecoder->init() #1 /var/www/vhosts/siteadi.com/httpdocs/bot/vendor/intervention/image/src/Intervention/Image/ImageManager.php(54): InterventionImageAbstractDriver->init() #2 /var/www/vhosts/siteadi.com/httpdocs/bot/vendor/intervention/image/src/Intervention/Image/ImageManagerStatic.php(58): InterventionImageImageManager->make() #3 /var/www/vhosts/siteadi.com/httpdocs/bot/bot.php(497): InterventionImageImageManagerStatic::make() #4 {main} thrown in /var/www/vhosts/siteadi.com/httpdocs/bot/vendor/intervention/image/src/Intervention/Image/AbstractDecoder.php on line 346
    Web sitenizde kritik bir hata oluştu.
    WordPress'te hata ayıklama hakkında daha fazla bilgi edinin.
  • 14-12-2020, 21:21:25
    #2
    image_name değişkenini yeniden oluşturun, örneğin konu ismi jpg veya tarih jpg yapabilirsiniz. Böylece süpriz karekterler ile uğraşmak zorunda kalmazsınız...
  • 14-12-2020, 21:27:11
    #3
    hasip adlı üyeden alıntı: mesajı görüntüle
    image_name değişkenini yeniden oluşturun, örneğin konu ismi jpg veya tarih jpg yapabilirsiniz. Böylece süpriz karekterler ile uğraşmak zorunda kalmazsınız...
    image_name değeri, konu içindeki görsellerin url'lerinden geliyor. Yani o değeri değiştirirsem uploads klasöründe görselin adını ve database'e bağlanıp ilgili konu içindeki görselin url'sini de değiştirmem gerekecek. Maalesef bu işlemleri yapacak kadar php bilgim yok.
  • 14-12-2020, 21:29:07
    #4
    Merhaba, resim isimlerindeki özel karakterleri temizleyerek kayit ederseniz sorun çözülecektir. Anladığım kadarıyla kayıt sırasında takılıyor.

    $image_name = preg_replace("/[^A-Za-z0-9 ]/", '', $image_name);
    işinizi çözecektir.
  • 14-12-2020, 21:45:50
    #5
    Zalmoxis adlı üyeden alıntı: mesajı görüntüle
    Merhaba, resim isimlerindeki özel karakterleri temizleyerek kayit ederseniz sorun çözülecektir. Anladığım kadarıyla kayıt sırasında takılıyor.

    $image_name = preg_replace("/[^A-Za-z0-9 ]/", '', $image_name);
    işinizi çözecektir.
    Teşekkürler ancak, resimler zaten halihazırda kayıtlı. Ben sadece halihazırdaki konulardaki resimlere işlem yapıp aynı isimle tekrar kaydediyorum. Üst mesajda dediğim gibi, resim ismine müdahale edersem, hem uploads klasöründe hem de db'de ilgili konuda linki tekrar düzenlemem gerekecek.
  • 14-12-2020, 21:50:05
    #6
    Shakumakavelli adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler ancak, resimler zaten halihazırda kayıtlı. Ben sadece halihazırdaki konulardaki resimlere işlem yapıp aynı isimle tekrar kaydediyorum. Üst mesajda dediğim gibi, resim ismine müdahale edersem, hem uploads klasöründe hem de db'de ilgili konuda linki tekrar düzenlemem gerekecek.
    Örnek bir resim url si atar mısınız? Alıntılayarak cevaplarsanız bakabilirim.
  • 14-12-2020, 21:52:59
    #7
    Zalmoxis adlı üyeden alıntı: mesajı görüntüle
    Örnek bir resim url si atar mısınız? Alıntılayarak cevaplarsanız bakabilirim.
    Tabi hocam buyrun. Bu arada üstte verdiğiniz kodu denediğimde tire ve noktalar da siliniyor.

    https://siteadi.com/wp-content/uploa...Decoration.jpg
  • 14-12-2020, 21:54:17
    #8
    Shakumakavelli adlı üyeden alıntı: mesajı görüntüle
    Tabi hocam buyrun. Bu arada üstte verdiğiniz kodu denediğimde tire ve noktalar da siliniyor.

    https://siteadi.com/wp-content/uploa...Decoration.jpg
    Hocam site adını özelden atar mısınız?

    $image_name = utf8_encode($image);
    olarakta deneyebilirsiniz.
  • 14-12-2020, 22:14:33
    #9
    Zalmoxis adlı üyeden alıntı: mesajı görüntüle
    Hocam site adını özelden atar mısınız?

    $image_name = utf8_encode($image);
    olarakta deneyebilirsiniz.
    Teşekkürler ancak bu da çözüm olmadı. Link aşağıdaki gibi değişiyor ve aynı hatayı vermeye devam ediyor..
    Bed-Room-▷-Natural-decoration-in-the-bedrooms-Decoration.jpg
    Bed-Room-â–·-Natural-decoration-in-the-bedrooms-Decoration.jpg