ChatGpt API PHP Kullanımı – Örnek Proje Kodlaması

Postman api kullanımı, chatgpt postman kullanımı ve örnek bir proje nasıl geliştirilir süreçleri izleyerek öğrenebilirsiniz ayrıca chatgpt php curl kodları içinde değişken nasıl kullanılır bunun yöntemini de vermiş oldum:

projenin kodları:

hesapla.php

<?php
if($_POST) {
 
$mesaj = $_POST['mesaj'];
 
$curl = curl_init();
 
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.openai.com/v1/chat/completions',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  $postData = [
    "model" => "gpt-3.5-turbo",
    "messages" => [
        [
            "role" => "system",
            "content" => "Sana verilecek şehirler arasındaki mesafeyi km cinsinden hesapla"
        ],
        [
            "role" => "user",
            "content" => $mesaj
        ]
    ],
    "temperature" => 1,
    "top_p" => 1,
    "n" => 1,
    "stream" => false,
    "max_tokens" => 250,
    "presence_penalty" => 0,
    "frequency_penalty" => 0
],
CURLOPT_POSTFIELDS => json_encode($postData),
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Accept: application/json',
    'Authorization: Bearer CHAT-GPT-API-KEY',
    'Cookie: __cf_bm=vZOEmnB.iBoARA5jNlzl_3fmVT5kf7XS5XGVJIULbzU-1707949206-1.0-Ab4yfu/SgkWvujszh3GgRmWFp+Yrn08466/17QdbMNzsExMjBK+iMYSXzmFjSaSxije1GChN+znSDrZVbagYXIw=; _cfuvid=4EBhWeYHBHCUPtDL8MCwyNKaINeeK3AkDRyEEqhKcAo-1707942992182-0.0-604800000'
  ),
));
 
$response = curl_exec($curl);
 
curl_close($curl);
 
$response = json_decode($response);
 
echo $response->choices[0]->message->content;
 
 
//print_r($response);
//echo $response;
 
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <form method="post">
    <textarea name="mesaj" rows="6"></textarea>
<button type="submit">Hesapla</button>
  </form>
 
</body>
</html>

ChatGpt Api Kullanarak Masal Yazdırma Projesi – ChatGpt For PHP Code

işte ChatGpt Api kullanarak bir hikaye/masal yazdırma projesi basit bir input alanından gelen veriyi bir değişkene atayıp prompt içinde kullanarak ekrana bir masal yazdırıyoruz.

<?php
 
//$input = "anahtar kelime, kelime2, başkabirşey";
 
if($_POST) {
 
 
  $input = $_POST['prompt'];
 
$curl = curl_init();
 
curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.openai.com/v1/completions',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  $postData = [
  "model" => "gpt-3.5-turbo-instruct",
  "prompt" => "Şu anahtar kelimelerle alakalı bir masal yaz: $input",
  "max_tokens" => 500,
  "temperature" => 0.7
],
  CURLOPT_POSTFIELDS => json_encode($postData),
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer CHAT-GPT-API-KEY',
    'Content-Type: application/json',
    'Cookie: __cf_bm=y5nFmlyys1DPwTtjCpj.pBevVryHN0TF6YLT1GWupkM-1706396921-1-AfYdSPVEQD1klX01+A+pFOeBJa1Q6CEeTN7fD99l7XJZu74miS5Ga4wAMuPgD/LaSIr0yjI6NT3Sp86lXVMfvAQ=; _cfuvid=DlcMs.nAdBoxgWFBSesVC0W8VMU8sZNGz2rkNOsG0xg-1706396921015-0-604800000'
  ),
));
 
$response = curl_exec($curl);
 
curl_close($curl);
 
$response = json_decode($response);
 
echo $response->choices[0]->text;
//print_r($response);
 
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
 
  <form method="post">
 
<textarea name="prompt" placeholder="Lütfen yazmamı istediğiniz masalınızın içeriğiyle alakalı anahtar kelimeler girin" rows="6"></textarea>
 
<button name="submit" type="submit">Gönder</button>
 
  </form>
 
</body>
</html>

WordPress ACF Group inside Repeater (Grup içinde Repeater Kullanımı)

Bir grup içinde tekrarlayıcı varsa değerleri alıp ekrana aşağıdaki kodla basabiliriz

<?php
 
if( have_rows('your_group') ): while ( have_rows('your_group') ) : the_row(); 
 
    if( have_rows('your_repeater') ): while ( have_rows('your_repeater') ) : the_row();       
 
        echo get_sub_field('repeater_sub_field');
 
    endwhile; endif;
 
endwhile; endif;
 
?>

Standart Grup içinden içerik gösterme kodu:

<?php 
 
$group_var = get_field['your_group']; 
 
$group_sub_field_var = $group_var['group_sub_field']
 
?>

Moonster Bilgisayar Windows 10 Otomatik Ekran Parlaklık Ayarını Kapatmak

Moonster Abra A5, Tulpar T7 yada diğer marka model pclerde windowslarda genel olarak bu ayarı yaparak otomatik parlaklık ayarını kapatabilirsiniz.

Başlata basıyoruz ve Intel yazıyoruz.
Intel grafikleri kontrol merkezine giriyoruz,
Sistem diyoruz,
Güç seçeneğine tıklıyoruz.
Ekran güç tasarrufu kapalı yapıyoruz. 

WordPress if admin (Giriş yapan kullanıcı adminse işlem yapmak)

wp_get_current_user ve user_can fonksiyonlarını kullanarak giriş yapan kullanıcının yetkisi adminse ona göre işlem tayin edebilirsiniz. Aşağıdaki kodu çalışmanıza göre uyarlayabilirsiniz

 <?php $wpUser = wp_get_current_user();
if (user_can( $wpUser, 'administrator' )) { ?>
kullanıcı admin
<?php } ?>

WordPress Bootsrap Temasında Adminbar Navbar alanının üstüne geliyor (SORUN ÇÖZÜLDÜ)

WordPresste giriş yaptıktan sonra admin bar eğer temanızın navbar yada header alanınızı kaplıyorsa bunun için farklı çözüm yolları var ben kullandığım çözüm yolunu paylaşıyorum; temel mantığımız altta kalan divin class yada id değerine top değeri tanımlayarak aşağı indirmek olacaktır.

<style type="text/css">header.fixed-top { top: 34px; }</style>

Fakat bunu yapınca giriş yapmayan yada admin olmayan kullanıcılar için istenmeyen bir görüntü ortaya çıkabilir bu sorunu aşmak için yapmamız gereken wordpressin fonksyonlarıyla kullanıcıyı bulup admin olup olmadığına bakmak ve ona göre style uygulamasını sağlamak olacaktır.
header.php içinde şu kodu yazarak ve top:34px değeriyle oynama yaparak sorunu çözebilirsiniz

  <?php $wpUser = wp_get_current_user();
if (user_can( $wpUser, 'administrator' )) { ?>
<style type="text/css">header.fixed-top { top: 34px; }</style>
<?php } ?>

WordPress Admin Bar Overlapping Twitter Bootstrap Navigation, WordPress Admin Bar Covering & Overlapping Fixed Menu Header

PHP Warning: Attempt to read property HATA ÇÖZÜMÜ

simple_html_dom.php ile işlem yaparken file_get_html kullanırken almanız çekmeye çalıştığınız veri/obje her içerikte olmayabilir bu sefer de aşağıdaki hatayı almanız muhtemeldir.
xamp hata kodum: Warning: Attempt to read property “plaintext” on null in C:\xampp\htdocs…
Sunucularda da muhtemelen alacağınız hata kodu bu şekilde olacaktır, ulaşmaya çalıştığınız,

Bu hatanın nedeni Basitçe ifade etmek gerekirse, nesne olmayan bir değişkenden bir özelliğe veya yönteme erişmeye çalıştığımızda “PHP Uyarısı: Bir dize veya dizideki ‘…’ özelliğine erişme girişimi” ortaya çıkar. Bu uyarıyı önlemek için, verilen değişkenin object türünde olup olmadığını doğrulamak amacıyla komut dosyamıza koşullu bir parametre eklemek çok önemlidir. Ek olarak, tanımlanan değişkenin tipini kontrol etmek için PHP’nin is_object() yerleşik fonksiyonunu kullanmak önemlidir.

örnek kullanım:

 $source= $html->find('.ornekclass',0);
 
if(is_object($source)){ echo $haber_kaynak->plaintext; }

PHP Pdo Veritabanı Bağlantısı ve Veri Kontrolü (Bu veri var mı yoksa ekle)

PHP PDO veritabanı bağlantı kodlarımız:

$servername = "localhost";
$username = "root";
$password = "";
 
try {
  $conn = new PDO("mysql:host=$servername;dbname=kodgunlugum", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();

Bu veri var mı select işlemiyle sorgulayıp sayısına göre işlem yapmak için

// veri kontrolü
   $kontrol = $conn->query("SELECT * FROM tabloAdi WHERE baslik='{$baslik}'");
   ## kontrol için koşul belirttik.

 
if ($kontrol->rowCount()>0) {
 
echo "bu kayıt zaten var";
 
 
} else {
 
// bu kayıt yok insert işlemleri burada yapılabilir.
}

PDO ile insert işlemi örneği (ad soyad ve gsm değişkenlerinden veri geldiğini düşünerek çalıştıracak olursak)

 
   $sql=$conn->prepare("insert into tabloAdi set ad=?,soyad=?,gsm=?");
$sql->execute([$ad,$soyad,$gsm]);
 
 
if ($sql->rowCount()>0) {
 
   echo "Kayıt Başarılı";
 
 
}else {
 
   echo "kayıt eklenemedi";
}

WordPress Resimlere Otomatik Filigran Ekleme (Auto)

Easy Watermark eklentisiyle post insert manuel işlemlerinizde yada yazı ekleme editörüyle eklediğiniz resimlere otomatik filigran ekleyebilirsiniz, eklenti resim ve text filigran oluşturma imkanı sunuyor BracketSpace tarafından geliştirilen eklentiyi Eklentiler -> Yeni Ekle alanından Easy Watermark yazarak yükleyebilirsiniz. Yükleyip aktif ettikten sonra Araçlar -> Easy Watermark menüsünden ilgili ayarlamaları yapabilirsiniz.

Php Resim Kaydederken Bozuk URL Düzeltme

Php ile farklı bir kaynaktan resim çekip kendi sunucumuza kaydederken bazı problemler çıkabilir & gibi karakterleri urldecode işlemi yaparak temizleyip resim linkini okunaklı hale getirmekte fayda var
Bozuk yapı:

https://yemek.com/_next/image/?url=https%3A%2F%2Fcdn.yemek.com%2Fmnresize%2F1250%2F833%2Fuploads%2F2022%2F04%2Fcitir-tavuk-dilimleri-yemekcom.jpg&w=1920&q=75

Düzelmiş hali:

https://yemek.com/_next/image/?url=https://cdn.yemek.com/mnresize/1250/833/uploads/2022/04/citir-tavuk-dilimleri-yemekcom.jpg&w=1920&q=75

Düzeltmek ve kaydetmek için:

 
 $url = str_replace( "&amp;", "&", urldecode(trim($resim)) );
 
$veri2 = file_get_contents($url);
$kayit = fopen('images/'.uniqid().".jpg","w+");
fwrite($kayit, $veri2);
fclose($kayit);