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);

WordPress Manual wp_insert_post işlemi yaparken resim yüklemek

WordPresste post içerik girerken manuel resim yükleme işlemi yapmak için mevcut insert kodlarınızın hemen altına aşağıdaki fonksiyonu çalıştırabilirsiniz

 
function set_featured_image_from_external_url($url, $postid){
 
    if ( ! filter_var($url, FILTER_VALIDATE_URL) ||  empty($postid) ) {
        return;
    }
 
    // Add Featured Image to Post
    $image_url        = preg_replace('/\?.*/', '', $url); // removing query string from url & Define the image URL here
    $image_name       = basename($image_url);
    $upload_dir       = wp_upload_dir(); // Set upload folder
    $image_data       = file_get_contents($url); // Get image data
    $unique_file_name = wp_unique_filename( $upload_dir['path'], $image_name ); // Generate unique name
    $filename         = basename( $unique_file_name ); // Create image file name
 
    // Check folder permission and define file location
    if( wp_mkdir_p( $upload_dir['path'] ) ) {
        $file = $upload_dir['path'] . '/' . $filename;
    } else {
        $file = $upload_dir['basedir'] . '/' . $filename;
    }
 
    // Create the image  file on the server
    file_put_contents( $file, $image_data );
 
    // Check image file type
    $wp_filetype = wp_check_filetype( $filename, null );
 
    // Set attachment data
    $attachment = array(
        'post_mime_type' => $wp_filetype['type'],
        'post_title'     => sanitize_file_name( $filename ),
        'post_content'   => '',
        'post_status'    => 'inherit'
    );
 
    // Create the attachment
    $attach_id = wp_insert_attachment( $attachment, $file, $postid );
 
    // Include image.php
   // require_once(ABSPATH . 'wp-admin/includes/image.php');
 
    // Define attachment metadata
    $attach_data = wp_generate_attachment_metadata( $attach_id, $file );
 
    // Assign metadata to attachment
    wp_update_attachment_metadata( $attach_id, $attach_data );
 
    // And finally assign featured image to post
    set_post_thumbnail( $postid, $attach_id );
}
//----------------------------------------------------------------------
// set the featured image from extranal url
//----------------------------------------------------------------------
 
set_featured_image_from_external_url($reslink, $postid);