WP REST API ve PHP ile WordPress uzaktan yazı ekleme

Merhaba, geçtiğimiz günlerde WP Rest API üzerinde testler yaparken basit bir yazı ekleme kombinasyonu oluşturdum, böylece wp rest api ile birlikte uzaktan wordpress sistemimize yeni yazı ekleme işlemi yapabiliriz. Dilerseniz başlayalım.

Adım 1: https://github.com/wp-api/basic-auth linki üzerinden basic-auth eklentisini indirip wordpress sistemimize kuralım.

Adım 2: Artık kod betiğimize geçebiliriz.

HTTPS
PHP 7.4.21 (cli) (built: Jul 2 2024 15:33:47) ( NTS )

Soru, yorum ve görüşlerinizi yorum bölümünden paylaşabilirsiniz. Okuduğunuz için teşekkür ederim.

Github çalışma linki: https://github.com/fatihsoysal/WP-REST-API-and-PHP-WordPress-Insert-Post/

Dompdf ile HTML yapıları PHP’de PDF’ye dönüştürelim

Merhaba arkadaşlar, PDF, sabit yerleşimli bir belgedeki metin ve görüntüleri göstermek için Adobe Systems tarafından oluşturulan bir dosya formatıdır. PDF, web uygulamasında bir grup veri veya metin içeriğini indirmek için kullanılır. PDF dosya formatı, bir dosyadaki metni veya HTML içeriğini indirmek için mükemmel bir seçimdir. Web sayfası içeriğini PDF dosyası olarak indirirken, HTML’nin PDF’ye dönüştürülmesini gerektirir. Bu eğitimde size HTML sayfayı PDF’e nasıl dönüştüreceğinizi ve PHP kullanarak PDF dosyaları oluşturmayı göstereceğim .

Dompdf, HTML’yi PDF belgelerine dönüştürmenin basit bir yolunu sağlayan bir PHP kütüphanesidir. Dompdf kütüphanesini kullanarak PHP’deki HTML sayfalarını kolayca PDF’e dönüştürebiliriz. Örnek kod, web uygulamasında PDF oluşturma işlevini uygulamanıza yardımcı olacak ve Dompdf ile PHP’de HTML’yi PDF’ye dönüştürmeyi kolaylaştıracaktır .

Dompdf Kurulumu

Başlamadan önce Dompdf kütüphanesinin kararlı sürümünü indirin ve proje dizinine ekleyin.

Dompdf sınıfını kullanmak için otomatik yükleyiciyi PHP betiğine eklemeniz gerekir. Dompdf sınıfını başlatmak ve kullanmak için aşağıdaki PHP kodunu kullanın.

Temel Kullanım (HTML’yi PDF’ye Dönüştür)

Aşağıdaki örnek, HTML’yi dönüştürmek ve minimum yapılandırmayla PDF oluşturmak için Dompdf’in nasıl kullanılacağını gösterir.

  • Dompdf sınıfının loadHtml() yönteminde HTML içeriğini belirtin .
  • render() yöntemini kullanarak HTML’yi PDF olarak oluşturun .
  • Stream() yöntemini kullanarak oluşturulan PDF’yi Tarayıcıya aktarın .

Gelişmiş Kullanım

Dompdf kitaplığıyla PDF oluşturmanın işlevselliğini kolayca artırabilirsiniz. Aşağıdaki kod bir HTML dosyasından ( pdf-content.html) PDF oluşturur.

  • PHP’deki file_get_contents() işlevini kullanarak HTML dosyasından içerik alın .
  • Dompdf sınıfının loadHtml() yöntemini kullanarak HTML içeriğini yükleyin .
  • Dompdf sınıfınınstream () işlevini kullanarak PDF çıktısını kontrol edin .
    • $filename– (string) PDF dosyasının adı.
    • $options– (dizi) Başlık seçenekleri.
    • Attachment– 1=indirme ve 0=önizleme

Dompdf Faydalı Fonksiyonlar

Dompdf kitaplığı, PDF oluşturmayı yapılandırmak ve PDF belgelerini özelleştirmek için çeşitli yöntemler ve seçenekler sunar. HTML’yi PDF işlevselliğine entegre etmek için yaygın olarak kullanılan Dompdf sınıfının yararlı yöntemlerinden bazıları aşağıda verilmiştir.

loadHtml(): HTML içeriğini yükler.

  • $str(string) – Zorunlu. Yüklenecek HTML’i belirtin.
  • $encoding(string) – İsteğe bağlı. Kodlama yöntemini belirtin.

loadHtmlFile(): Bir HTML dosyasından içerik yükler.

  • $file(string) – Zorunlu. Yüklenecek dosya adını veya URL’yi belirtin.

output(): PDF’yi bir dize olarak döndürür.

  • $options(string) – İsteğe bağlı. İçerik akışı sıkıştırmasının etkinleştirilip etkinleştirilmeyeceğini belirtin. (sıkıştır => 1 veya 0)

render(): HTML’yi PDF’ye dönüştürür.

setBasePath(): Harici stil sayfalarını ve görüntüleri içerecek şekilde temel yolu ayarlar.

  • $basePath(string) – Harici kaynak URL’lerini yüklerken kullanılacak temel yol.

setPaper(): Kağıt boyutunu ve yönünü ayarlar.

  • $size(string|array) – ‘letter’, ‘legal’, ‘A4’ vb.
  • $orientation(string) – ‘dikey’ veya ‘yatay’.

Stream(): PDF’yi istemciye aktarır.

  • $filename(string) – Akışı yapılacak dosyanın adını belirtin (.pdf uzantısı olmadan).
  • $options(array) –
    • ‘compress’ => 1 veya 0 – içerik akışı sıkıştırmasını etkinleştirir.
    • ‘Attachment’ => 1=indirme veya 0=önizleme

Çözüm

Bu eğitimde, PHP kullanarak Dompdf ile HTML’yi PDF’ye dönüştürmenin kolay bir yolunu sunmaya çalıştım. Örnek kodumuz PHP’de PDF oluşturmak için en çok kullanılan yapılandırma seçeneğini gösterir. İhtiyaçlarınıza göre Dompdf yapılandırma seçeneklerini kullanarak işlevselliği kolayca genişletebilirsiniz. 

IP Adresinden Coğrafi Konum Alma – PHP

IP Coğrafi Konum, bir ziyaretçinin konumunu IP adresine göre belirlemeye yardımcı olur. Genellikle IP adresi, coğrafi konum bilgisi ile ziyaretçilerin konumunu öğrenmek için kullanılır. Coğrafi konumu elde etmek için önce IP adresini tespit etmemiz gerekir. IP adresine bağlı olarak konum bilgisi (ülke, eyalet, şehir vb.) alınabilir. IP adreslerinden coğrafi konum verilerini toplamak için çeşitli Üçüncü Taraf API hizmetleri mevcuttur. Ancak herhangi bir 3. Taraf web hizmeti olmadan ziyaretçilerin IP coğrafi konumunu almak için PHP’yi kullanabilirsiniz. Bu derste, PHP kullanarak kullanıcının IP adresini nasıl tespit edeceğinizi ve IP’den coğrafi konumu nasıl alacağınızı göstereceğim .

$_SERVER değişkeni PHP’de kullanıcının IP adresini almak için kolay bir seçenektir. IP adresi toplandıktan sonra, PHP kullanarak IP adresinin konumunu bulmak için GeoIP2 veritabanını kullanacağız. 

Bu örnek scriptimizde PHP kullanarak herhangi bir web servisine veya API’ye bağlı kalmadan aşağıdaki işlemleri yapacağız.

  • Geçerli kullanıcının IP adresini alacağız.
  • PHP kullanarak IP adresinden coğrafi konum bilgisini alacağız.
  • Ziyaretçinin IPv4 ve IPv6 adresleriyle ilişkili ülkesini, şehrini ve posta kodunu tespit edeceğiz.
$ip_addr = $_SERVER[‘REMOTE_ADDR’];

Yukarıda geçerli ip adresini tespit ettik ve bir değişkene atadık.

PHP kullanarak IP Adresinden Coğrafi Konum Alalım

GeoLite2 Geolocation Veritabanı:
Başlamadan önce, MaxMind hesabından en son GeoLite2-City veritabanını indirmeniz gerekir .

  • Bu GeoLite2 veritabanı ikili dosyasını (GeoLite2-City.mmdb) proje dizininize yerleştirin.

GeoIp2 Kütüphanesini İndirin ve Kurun:
GeoIp2 kütüphanesi, PHP kullanarak IP adresine dayalı olarak GeoLite2 ikili veritabanından coğrafi konum verilerinin alınmasına yardımcı olur.

GeoIp2 PHP kütüphanesini Composer aracılığıyla indirip kurmak için aşağıdaki komutu çalıştırın.

PHP ile GeoLite2 Veritabanından Coğrafi Konum verilerini alın:

  • Aşağıdaki coğrafi konum verileri, verilen IP adresine göre veritabanından döndürülecektir.
  • IP adresi ( traits->network)
  • Ülke kodu ( country->isoCode)
  • Ülke adı ( country->name)
  • Şehir İsmi ( city->name)
  • Posta kodu ( postal->code)
  • Enlem ( location->latitude)
  • Boylam ( location->longitude)

Sonuç
GeoLite2 Veritabanını kullanmanın temel avantajı, konumu bir IP adresinden ücretsiz olarak alabilmenizdir. Bir IP adresinin coğrafi konumunu öğrenmek için herhangi bir web hizmeti veya API kullanmanıza gerek yoktur. Konum verileri yerel veritabanı dosyasından alındığından, IP adresinin Ülke Eyalet Şehir Posta Kodu ayrıntılarını almak için herhangi bir 3. Taraf bağımlılığı yoktur. Bu IP Coğrafi Konum betiği, PHP kullanarak IP adresinin konumunu almanın kolay bir yolunu sağlar.

İyi çalışmalar, sevgiler

PHP kullanarak Dinamik Olarak QR Kodu Oluşturalım

QR Kod, kare ızgara biçiminde düzenlenmiş karelerden oluşan, makine tarafından okunabilen koddur. QR kodu genellikle bir görüntüleme cihazı (kamera gibi) tarafından okunabilen bilgileri depolamak için kullanılır. QR kodları, kullanıcılara bilgi görüntülemek, web sayfası URL’lerini açmak, mobil uygulamaları indirmek, kişi eklemek vb. gibi çeşitli amaçlar için kullanılabilir. Kullanıcının, kodla ilişkili bilgileri görüntülemek için QR kodunu cihaz kamerasıyla taraması gerekir.

Dinamik olarak QR kod veya 2 boyutlu barkod oluşturulabilir. PHP kullanarak QR kodu oluşturabilirsiniz. Bu eğitimde size PHP‘de QR kodunun nasıl oluşturulacağını ve görüntülerin sunucuya nasıl kaydedileceğini göstereceğim. PHP ile QR koduna metin içeriği, e-posta, telefon numarası, iletişim, URL ve diğer bilgileri ekleyebilir ve QR barkod görüntüleri oluşturabilirsiniz.

PHP QR Kod Oluşturucu Kütüphanesi
QR kod oluşturma işlemlerini gerçekleştirmek için özel bir PHP kütüphanesi kullanacağız. Bu PHP kütüphanesinin GD kütüphanesine bağımlılığı vardır. QR kod görüntüleri oluşturmak için PHP’de GD uzantısının etkinleştirilmesi gerekir.

Başlamadan önce PHP sunucusunda GD uzantısının etkinleştirildiğinden emin olun.
Apache Sunucusuna PHP GD Desteğini Kurulumu

PHP kullanarak QR Kodu oluşturun
Aşağıdaki örnekte, özel PHP kitaplığımızla QR kodunu nasıl oluşturacağınızı, kaydedeceğinizi ve görüntüleyeceğinizi göstereceğim.

PHP QR Kodu oluşturucu kitaplığını ekleyin:

QR görüntülerinin saklanacağı klasör yolunu ayarlayın:

$IMG_TEMP_DIR – QR kod görüntüsünü sunucuya kaydetmek için klasör yolu.
$IMG_WEB_DIR – QR görüntüsünün web sayfasında görüntüleneceği dizin konumu.
$qr_file_path – QR görüntüsünü kaydetmek için tam dosya yolu.

QR kodu görüntüsünün Hata Düzeltme Düzeyini, Boyutunu ve Kenar Boşluğunu ayarlamak için yapılandırmaları belirtin:

$errorCorrectionLevel – QR kodunun hata düzeltme düzeyini belirtin.
Seviye L (Düşük) – Veri baytlarının %7’si geri yüklenebilir.
Seviye M (Orta) – Veri baytlarının %15’i geri yüklenebilir.
Seviye Q (Çeyrek) – Veri baytlarının %25’i geri yüklenebilir.
Seviye H (Yüksek) – Veri baytlarının %30’u geri yüklenebilir.
$matrixPointSize – QR kodu matris noktasının boyutunu belirtin.
$margin – QR kodu ile arka plan arasındaki kenar boşluğunu ayarlayın.

QR kodunda saklanacak içeriği belirtin:

PHP ile bir QR kodu oluşturmak için QRcode sınıfının png() yöntemini kullanın:
QR kodu oluşturulacak ve sunucudaki belirtilen klasörde saklanacaktır.

QR kodunu HTML’de görüntüleyin:
QR kodunu web sayfasında görüntülemek için etiketini kullanın.

Sonuç
PHP QR Code oluşturucu komut dosyası, PHP kullanarak dinamik olarak QR kodu görüntüleri oluşturmanıza yardımcı olur. PHP’de QR kodu oluşturmak için bu özel kitaplığı kullanın. Bu örnekte QR kodları PHP ile oluşturduk. PHP kullanarak web sitesine QR kodu oluşturma işlevini entegre etmek için kodu geliştirebilir ve özelleştirebilirsiniz.

Google Authentication (GA) PHP Entegrasyon – Giriş & Kayıt Örnek Uygulama

Merhaba, Bildiğiniz üzere Google, bir tek seferlik giriş token sistemi oluşturmak için 2011 yılında GA için iki faktörlü kimlik doğrulama aracını yayınladı. Web uygulamanıza iki faktörlü kimlik doğrulama (2FA) kullanmak, kullanıcı verilerinizin güvenliğini artırır. Giriş yaptıktan veya kayıt olduktan sonra oluşturulan QRCode’u taramak için “Authenticator” uygulamasını indirmek için bir akıllı telefona ihtiyacınız var. (Bunu yapan chrome eklentileri de mevcut, ancak ben hiç kullanmadım.)

Geçtiğimiz günlerde bir proje için GA entegrasyonu yapma ihtiyacım oldu, bunu biraz geliştirip repoya yükledim, makalenin devamında bir örnek proje ve kod betikleri bulacaksınız.

Google Authentication nasıl çalışır?
Google Authentication hem Android hem de IOS akıllı telefon için ücretsiz bir uygulamadır. Kimlik doğrulayıcı her 30 saniyede bir yeni bir kod oluşturur. İşlem aşağıdaki gibidir:

1. Php uygulamanız, kullanıcının Google Authenticator uygulamasına profil eklemek için telefon kamerasıyla taradığı bir QR kodu oluşturur.
2. Daha sonra Authenticator uygulaması, php uygulamasında kimlik doğrulamanın ikinci kısmı için kullanılacak her 30 saniyede bir yeni bir kod oluşturur.

Aslında yapılan sms şifre entegrasyonu ile aynıdır. Sadece şifre size sms olarak gelmez, uygulama içinden alınır. Bu şifreler 30 saniyede bir yenilenir.

Bunu bir örnek üzerinden göstermek daha efektif olacak. İlk önce bir kayıt formu ve bir giriş formu oluşturacağız. Kullanıcı sisteme kaydolduktan sonra QRCode’u oluşturacağız ve Google Şifrematik Uygulaması ile doğrulayacağız.

Google api üzerinden bağlantı sağlayan ve şifreleme mekanizmasını oluşturan class aşağıdaki gibidir.

Bünyesinde kayıt ol, giriş yap, GA onay ve profil sayfası barındıran örnek projenin linkini aşağıda paylaşıyorum. Dilediğiniz gibi geliştirebilirsiniz.

https://github.com/maxmanus16/GA-Authentication-PHP

Dikkat: DB.SQL dosyasını veritabanına içe aktarıp, connection.php dosyasındaki veritabanı bilgilerinizi güncellemeniz test uygulamasını çalıştırabilmeniz için yeterlidir.

PHP ile Yüklenen Resmin Boyutunu Sıkıştırma – Compress

Yüksek kaliteli görsellerin, internet ortamında web sayfasında yüklenmesi zaman alır. Özellikle site açılış hızlarının çok önemli olduğu bu dönemlerde sisteminize yüklenen görselleri sıkıştırmak, boyut açısından size çok büyük fayda sağlayacaktır.

Yüklerken birden çok boyutta görüntü dosyası oluşturabilir ve gerektiğinde düşük ve yüksek kaliteli görüntüleri kullanabilirsiniz. Örn: kalite1/1.jpg kalite2/1.jpg gibi.

Yapacağımız işlem görüntü boyutunu küçültürken, aynı zamanda kalitesini de düşürür. Bundan dolayı görüntü işleme kalitesi orantılı şekilde yönetmeniz gerekecektir.

Dilerseniz başlayalım.

HTML

Form içerisinde görsel yüklebileceğimiz bir File elementi oluşturalım.

PHP

Yüklenen görseli alalım. Ve compressImage() fonksiyonu ile sıkıştırma işlemini yapalım.

Bu fonksiyon 3 adet parametre alır;

  1. Kaynak dosya
  2. Hedef dosya
  3. Kalite

Sonuç

Örnekte, orijinal boyuttaki görüntüyü değil, yalnızca sıkıştırılmış görüntüyü sakladık. Siz yükleme sırasında görüntülerin her iki sürümünü de saklayabilirsiniz.

Boyutu küçültürken görüntü kalitesini de ayarlamayı unutmayın.

Bu makaleyi yararlı bulduysanız paylaşmayı unutmayın. Teşekkür eder, herkese kolaylıklar dilerim.

Exit mobile version