Murat Çeşmecioğlu

Kişisel Web Sitesi

Yazdığım ufak bir projede cURL ile çektiğim JSON verisini bir türlü PHP’de json_decode fonksiyonu ile kullanamıyordum. Nedenini araştırıp buldum. Hem kodları kaybetmeyeyim, hemde benzer problem ile karşılaşanlara yardımcı olayım dedim.

UTF-8 ile hayatımıza girmiş olan BOM (Byte Order Mark), dosyanın UTF-8 formatında olduğunu belirtmek için eklenen bir başlıktır. Dosyanın başına eklenen unicode U+FEFF karakteridir. Hex olarak 0xEF,0xBB,0xBF; ascii olarak  karakterlerine karşılık gelir. Bu karakterlerin dosyanın başında bulunması bazı zamanlarda sorunlara yol açar. Örneğin benim durumumda JSON verisi olarak çektiğimi sandığım veride aslında ilk başındaki BOM yüzünden JSON olarak kullanamadım. Görülebilen bir karakter olmadığı için de hemen fark edilmiyor.

Benzer bir durumla karşılaştığınızda aşağıdaki kodla gelen veriyi bin2hex fonksiyonu ile 16lık sisteme dönüştürerek efbbbf karakterlerinin olup olmadığına bakıyoruz. Eğer varsa bunları siliyoruz.

if (0 === strpos(bin2hex($data), 'efbbbf')) {
$data = substr($data, 3);
}

Son zamanlarda WordPress 3.8.1’e resim yüklerken küçük resim oluşturma aşamasında hata veriyor. Bunun çözümünü araştırıp buldum ve burada paylaşıyorum. Eğer aynı sorunu yaşıyorsanız size de çözüm olsun.

Resim yüklerken flash yükleyici kullanırsanız HTTP Hatası/HTTP Error diye bir uyarı alıyorsunuz. Normal yükleyici kullanırsanız 503 hatası veriyor. Araştırırken farklı bir hosting forumundaki yöneticinin verdiği bir eklenti dikkatimi çekti.

Bu eklenti ile WordPress yüklemesi sırasında oluşturulan küçük resmi silip tekrar oluşturmaya zorluyor. Şimdilik geçici bir çözüm fakat kullanışlı. Umalım ki WordPress’in bir sonraki güncellemede bu sorunu çözsün

Plugin’i indirmek için: http://wordpress.org/plugins/force-regenerate-thumbnails/