Php mb_convert_encoding fonksiyonu ve türkçe karakter düzeltme

Projelerde özellikle farklı dosya tiplerinden (excel, csv) veri okuyup yazdığımız veya farklı veritabanından veri aktarırken sık karşılaşılan problemlerden birisi de Türkçe karakter hatasıdır.
Bunun birçok çözüm yolu mevcuttur, eğer veritabından çektiğiniz verilerde türkçe karakter sorunu yaşıyorsanız mysql bağlantınıza charset set etmek, php dosyanıza header content-type eklemek bunlardan bazılarıdır. Ancak zaman olur ki herşey yapılmışken hala bazı verilerinizde türkçe karakterler bozuk gözükür buna örnek olarak “ş” karfi düzgün gözükürken “Ö” harfi hatalı karakter olarak gelebilmektedir.
Devamı

Burada geriye verilerimizi ayrıştırdıktan sonra değişken olarak kontrol sağlamak kalıyor ve yardımımıza “mb_convert_encoding” fonkisyonu yetişiyor.

Bu fonksiyonun görevi önceden kodlaması bilinen veya bilinmeyen bir değişkeni sizin belirlediğiniz karakter setine çevirme.

Kullanımı: (Gelen değişkenin kodlamasını biliyorsak)

$iyiKod= mb_convert_encoding($kotuKod, “UTF-8”, “ISO-8859-1”);

Kullanımı: (Gelen değişkenin kodlamasını bilmiyorsak)

$iyiKod= mb_convert_encoding($kotuKod, “UTF-8”, “auto”);

Curl Could not resolve host Hatası

Merhaba, Curl birçok arkaplan veri aktarımı işlemlerinde hayat kurtarıcımız olur, karşılaştığım bir hatayı ve çözüm yolunu buraya bırakıyorum, ben çektim siz de çekmeyin 🙂

Öncelikle curl hatalarını yazdırmak için:

print_r(“Hata “.curl_error($ch));

burdaki $ch kendi tanımladığınız cUrl değerine göre farklılık gösterebilir.

bu satırın sonucu olarak
Could not resolve host:domainadi.com

gibi bir hata ile karşılaşıyorsanız,

Devamı

Sunucumuza root olarak bağlandıktan sonra;

modprobe klasörüne giriş yapıp

cd /etc/modprobe.d/

disableipv6.conf dosyasını oluşturuyoruz.

nano disableipv6.conf

Oluşturduğumuz dosyayının içeriğine aşağıdaki kodu kopyalayıp

install ipv6 /bin/true
reboot

Ctrl + X -> y kaydettikten sonra
sunucumuzu yeniden başlatmamız gerekcek.

Bu kadar bir gazoz kapağının da dediği gibi; Yeniden Deneyiniz.

jQuery Telefon Formatı

jQuery Input Mask Phone Format
CDN:
https://cdnjs.com/libraries/jquery.mask

$(“#phone”).mask(“(999) 999-99-99”);
$(“#phone”).on(“blur”, function() {
var last = $(this).val().substr( $(this).val().indexOf(“-“) + 1 );

if( last.length == 3 ) {
var move = $(this).val().substr( $(this).val().indexOf(“-“) – 1, 1 );
var lastfour = move + last;
var first = $(this).val().substr( 0, 9 );
$(this).val( first + ‘-‘ + lastfour );
}
});

Firebase Push Notification Php

Merhaba Mobil uygulamar için olmazsa olmaz push bildirimleri için firebase php post request örneği;

define(‘API_ACCESS_KEY’, ‘API_KEY_BURAYA’);
$fcmUrl = ‘https://fcm.googleapis.com/fcm/send’;
$token = ‘TOKEN_BURAYA’;

$notification = [
‘title’ => “TEST BILDIRIM”,
‘body’ => “MERHABA BU TEST BILDIRIMDIR”,
‘icon’ => ‘default’,
‘sound’ => ‘default’
];
$extraNotificationData = [“message” => $notification, “moredata” => ”];

$fcmNotification = [
//’registration_ids’ => $tokenList, //birden çok token’a göndermek için
‘to’ => $token, //sadece 1 token için
‘notification’ => $notification,
‘data’ => $extraNotificationData
];

$headers = [
‘Authorization: key=’.API_ACCESS_KEY,
‘Content-Type: application/json’
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $fcmUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fcmNotification));
$result = curl_exec($ch);
curl_close($ch);
if ($result) {
echo “Bildirim gönderildi bildirim Mesaj Id:”.$result;

} else {
echo “Bildirim gönderilemedi!”;
}

Yii2 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at [email protected] to inform them of the time this error occurred, and the actions you performed just before this error.
Devamı

More information about this error may be available in the server error log.

Merhaba üstteki can sıkıcı hatayı birçok sebeple almış olabilirsiniz şayet yii2 ile oluşturdunuz bir sayfayı yayına alırken bu hatayı aldıysanız ve yii2 seo url özellği için .htaccess yapılandırması yaptıysanız ve hata loglarında

$’RewriteEngine’, perhaps misspelled or defined by a module not included in the server configuration

gibi bir log varsa hatanızın çözümü için sunucunuzda aşağıdaki komutları çalıştırmanız veya sistem yöneticinizden talep etmeniz yeterli olacaktır.;

a2enmod rewrite
systemctl restart apache2

Yii2 image::watermark

Merhaba, Bu yazımızda yii2 de upload ettiğimiz görsellerin üstüne watermark görseli ekleme özelliğine değineceğiz.

Örnek kodlar:

$watermarkLogo=’../upload-dizini/logo/logo.png”;
$img=’../upload-dizini/gorsel-adi.png”;
$newImage = Image::watermark($img, $watermarkLogo, [50,50]);
//[50,50] Uygulacak watermark pozisyonu
$newImage->save(‘../../uploads/images/upload/yeni-resim.jpg’);

SweetAlert Confirm & Ajax Get Delete Confirm

swal({
title: ‘Bunu Galeriden Kaldırmak İstiyormusunuz?’,
text: ‘Görsel silinmeyecek saece galeriden kaldırılacak.’,
type: ‘warning’,
showCancelButton: true,
confirmButtonColor: ‘#3085d6’,
cancelButtonColor: ‘#d33’,
confirmButtonText: ‘Evet, Bunu Sil’,
cancelButtonText: ‘Hayır, Vazgeçtim’
}).then(function(isConfirm) {
if(isConfirm.value) {
var deleteId = id;
var request = $.ajax({
url: “?r=controller/deleteitem”,
type: “GET”,
data: {id: id},
dataType: “html”
});

request.done(function (msg) {
swal(
‘Silindi’,
‘Silme işlemi başarılı’,
‘success’
);
});

request.fail(function (jqXHR, textStatus) {
swal(
‘Silinemedi!’,
‘Silme işlemi gerçekleştirilemedi! Hata:’ + textStatus,
‘success’
);
});
}else{
swal(“İşlem iptal edildi”);
}

})