
PHP projelerinde sıkça ihtiyaç duyulan fonksiyonları veritabanı işlemleri, güvenlik, veri formatlama, performans ve dosya işlemleri gibi kategorilere ayırarak paylaşacağım. Bu fonksiyonlar, geliştirme sürecini hızlandırır ve kod tekrarını önler.
Kullanım:
Bu fonksiyon, SQL Injection saldırılarını önlemeye yardımcı olur.
Kullanım:
Doğrulama:
Bu fonksiyon, güvenli parola saklamak için bcrypt kullanır.
Kullanım:
Bu fonksiyon, CSRF token veya API anahtarları için rastgele güvenli bir dize üretir.
Kullanım:
Bu fonksiyon, veritabanından tüm kullanıcıları çeker.
Kullanım:
Bu fonksiyon, belirtilen ID'ye sahip kullanıcının bilgilerini getirir.
Kullanım:
Bu fonksiyon, tarih formatlarını okunabilir hale getirir.
Kullanım:
Bu fonksiyon, uzun metinleri belirli bir uzunluğa kadar kısaltır.
Kullanım:
Bu fonksiyon, dosya boyutlarını okunabilir bir formata dönüştürür.
Kullanım:
Bu fonksiyon, belirtilen dizindeki tüm dosyaları listeler.
Kullanım:
Bu fonksiyon, PHP betiklerinin çalışma süresini ölçer.
Kullanım:
Bu fonksiyon, PHP betiğinin kullandığı bellek miktarını ölçer.
Kullanım:
Bu fonksiyon, kullanıcının IP adresini döndürür.
Kullanım:
Bu fonksiyon, rastgele bir güçlü şifre oluşturur.
1. Güvenlik Fonksiyonları
1.1. SQL Injection’dan Korunma (Veri Temizleme)
PHP
function sanitizeInput($data, $db) {
return htmlspecialchars(strip_tags($db->quote($data)));
}
PHP
$username = sanitizeInput($_POST['username'], $pdo);
1.2. Güçlü Şifre Hashleme
PHP
function hashPassword($password) {
return password_hash($password, PASSWORD_BCRYPT);
}
PHP
$hashedPassword = hashPassword('GüçlüParola123');
PHP
if (password_verify($password, $hashedPassword)) {
echo 'Şifre doğru!';
}
1.3. Güvenli Rastgele Token Üretme
PHP
function generateToken($length = 32) {
return bin2hex(random_bytes($length));
}
PHP
$csrfToken = generateToken();
2. Veritabanı İşlemleri
2.1. Tüm Kullanıcıları Getiren Fonksiyon
PHP
function getAllUsers($db) {
$stmt = $db->query('SELECT * FROM users');
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
PHP
$users = getAllUsers($pdo);
print_r($users);
2.2. Kullanıcı Bilgisi Getirme (ID ile)
PHP
function getUserById($db, $id) {
$stmt = $db->prepare('SELECT * FROM users WHERE id = :id');
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
return $stmt->fetch(PDO::FETCH_ASSOC);
}
PHP
$user = getUserById($pdo, 1);
print_r($user);
3. Veri Formatlama Fonksiyonları
3.1. Tarih Formatını Düzenleme
PHP
function formatDate($date, $format = 'd-m-Y H:i') {
return date($format, strtotime($date));
}
PHP
echo formatDate('2024-03-05 15:30:00');
3.2. Metni Kısaltma
PHP
function truncateText($text, $length = 100) {
return strlen($text) > $length ? substr($text, 0, $length) . '...' : $text;
}
PHP
echo truncateText('Bu çok uzun bir metindir ve kısaltılması gerekmektedir.', 20);
4. Dosya ve Klasör İşlemleri
4.1. Dosyanın Boyutunu İnsan Dostu Formatta Gösterme
PHP
function formatFileSize($bytes) {
$sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
$factor = floor((strlen($bytes) - 1) / 3);
return sprintf('%.2f %s', $bytes / pow(1024, $factor), $sizes[$factor]);
}
PHP
echo formatFileSize(2048000); // 1.95 MB
4.2. Belirli Bir Dizindeki Dosyaları Listeleme
PHP
function listFiles($dir) {
return array_diff(scandir($dir), ['.', '..']);
}
PHP
print_r(listFiles('uploads'));
5. Performans Optimizasyonu
5.1. Sayfa Yükleme Süresini Ölçme
PHP
function startTimer() {
global $start_time;
$start_time = microtime(true);
}
function endTimer() {
global $start_time;
return round(microtime(true) - $start_time, 5) . ' saniye';
}
PHP
startTimer();
// İşlemler burada yapılır
echo 'Sayfa yükleme süresi: ' . endTimer();
5.2. Bellek Kullanımını Ölçme
PHP
function getMemoryUsage() {
return round(memory_get_usage() / 1024 / 1024, 2) . ' MB';
}
PHP
echo getMemoryUsage();
6. Çeşitli Faydalı Fonksiyonlar
6.1. IP Adresini Alma
PHP
function getClientIP() {
return $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0';
}
PHP
echo getClientIP();
6.2. Rastgele Şifre Üretme
PHP
function generatePassword($length = 12) {
return substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*'), 0, $length);
}
PHP
echo generatePassword(16);
Benzer Yazılar

PHP ile Çok Katmanlı MVC Mimari Kullanımı
0 Yorumlar
Yorumlar ()
Henüz yorum yok. İlk yorum yapan sen ol!