Teşekkürler benimde Chatgp4'e erişimim var.
Yapacak arkadaş ariyorum..

Misafir adlı üyeden alıntı: mesajı görüntüle

Chat GPT:



Öncelikle, istediğiniz özelliklere sahip bir sistem oluşturmak için PHP ve MySQL kullanarak basit bir veritabanı tablosu ve yönetim paneli oluşturabiliriz. Aşağıda temel bir örnek verilmiştir:

Veritabanı Tablosu Oluşturma






CREATE TABLE IF NOT EXISTS `proxy_list` (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `proxy` VARCHAR(255) NOT NULL,
    `last_access_time` INT NOT NULL
);
Bu tablo, proxy adlı sütunu kullanarak proxy bilgilerini saklamakta ve last_access_time adlı sütunu kullanarak son erişim zamanını kaydetmektedir.

PHP Kodu




<?php
$dbHost = "localhost"; // Veritabanı sunucusu
$dbUser = "kullanici_adi"; // Veritabanı kullanıcı adı
$dbPass = "sifre"; // Veritabanı şifre
$dbName = "veritabani_ad"; // Veritabanı adı

$conn = new mysqli($dbHost, $dbUser, $dbPass, $dbName);

if ($conn->connect_error) {
    die("Veritabanına bağlantı hatası: " . $conn->connect_error);
}

// Proxy ekleme fonksiyonu
function addProxy($proxy) {
    global $conn;
    $currentTime = time();
    $stmt = $conn->prepare("INSERT INTO `proxy_list` (`proxy`, `last_access_time`) VALUES (?, ?)");
    $stmt->bind_param("si", $proxy, $currentTime);
    $stmt->execute();
    $stmt->close();
}

// 24 saat geçmiş verileri temizleme fonksiyonu
function cleanExpiredProxies() {
    global $conn;
    $expiryTime = time() - 24 * 60 * 60; // 24 saat önceki zaman
    $stmt = $conn->prepare("DELETE FROM `proxy_list` WHERE `last_access_time` < ?");
    $stmt->bind_param("i", $expiryTime);
    $stmt->execute();
    $stmt->close();
}

// Bekleyen proxy sayısını getirme fonksiyonu
function getPendingProxyCount() {
    global $conn;
    $currentTime = time();
    $expiryTime = $currentTime - 24 * 60 * 60; // 24 saat önceki zaman
    $stmt = $conn->prepare("SELECT COUNT(*) FROM `proxy_list` WHERE `last_access_time` < ?");
    $stmt->bind_param("i", $expiryTime);
    $stmt->execute();
    $result = $stmt->get_result();
    $count = $result->fetch_assoc()['COUNT(*)'];
    $stmt->close();
    return $count;
}

// Ana işlem
cleanExpiredProxies();
$pendingCount = getPendingProxyCount();

if ($pendingCount > 0) {
    // İşlenecek proxy var, işleme al
    $stmt = $conn->prepare("SELECT `proxy` FROM `proxy_list` WHERE `last_access_time` < ? LIMIT 1");
    $stmt->bind_param("i", $expiryTime);
    $stmt->execute();
    $result = $stmt->get_result();
    $proxyData = $result->fetch_assoc();
    $stmt->close();

    // Proxy işlendikten sonra tekrar 24 saat beklemesi için güncelleme yap
    if ($proxyData) {
        echo "Gösterilecek Proxy: " . $proxyData['proxy'];
        // İşlendikten sonra güncelleme yap
        $stmt = $conn->prepare("UPDATE `proxy_list` SET `last_access_time` = ? WHERE `proxy` = ?");
        $stmt->bind_param("is", $currentTime, $proxyData['proxy']);
        $stmt->execute();
        $stmt->close();
    } else {
        echo "Hata: Proxy bulunamadı.";
    }
} else {
    echo "Bekleyen Proxy Yok.";
}

$conn->close();
?>
Bu PHP kodu, 24 saatlik döngüye girmiş ve henüz işlenmemiş olan bir proxy bilgisini seçer ve gösterir. İstenirse, bu kodu bir dosyaya kaydedip web sunucusunda çalıştırabilirsiniz. Ancak, bu kodun güvenlik ve performans iyileştirmelerine ihtiyaç duyabileceğini unutmayın.