Php 8 Kurs Resminin Yüklenmesi

Php 8 Kurs Resminin Yüklenmesi

PHP 8 ile bir kursun resmini yüklemek için gerekli olan adımları açıklayalım. Bu işlem, kullanıcıdan bir resim dosyasını alacak bir HTML formu ve yüklenen resmi sunucuya kaydedecek bir PHP dosyası içerecektir.

1. HTML Resim Yükleme Formu

Kullanıcıdan resim dosyasını almak için basit bir HTML formu oluşturalım:

<!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Kurs Resmi Yükle</title> </head> <body> <h1>Kurs Resmi Yükle</h1> <form action="kurs_resmi_yukle.php" method="post" enctype="multipart/form-data"> <label for="isim">Kurs İsmi:</label> <input type="text" id="isim" name="isim" required> <br> <label for="resim">Resim Yükle:</label> <input type="file" id="resim" name="resim" accept="image/*" required> <br> <input type="submit" value="Yükle"> </form> </body> </html>

2. PHP Kodu (kurs_resmi_yukle.php)

Formdan gelen resim dosyasını işlemek ve sunucuya kaydetmek için bir PHP dosyası oluşturalım.

<?php // Veritabanı bağlantısı $servername = "localhost"; $username = "kullanici_adiniz"; $password = "sifreniz"; $dbname = "veritabani_adiniz"; // Bağlantıyı oluştur $conn = new mysqli($servername, $username, $password, $dbname); // Bağlantıyı kontrol et if ($conn->connect_error) { die("Bağlantı başarısız: " . $conn->connect_error); } // Formdan gelen verileri kontrol et if ($_SERVER["REQUEST_METHOD"] == "POST") { $isim = $_POST['isim']; $targetDir = "uploads/"; // Yükleme klasörü $targetFile = $targetDir . basename($_FILES["resim"]["name"]); $imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION)); $uploadOk = 1; // Resim dosyasının gerçek olup olmadığını kontrol et if (isset($_POST["submit"])) { $check = getimagesize($_FILES["resim"]["tmp_name"]); if ($check !== false) { echo "Dosya bir resim dosyası."; } else { echo "Dosya bir resim değil."; $uploadOk = 0; } } // Dosya zaten mevcut mu kontrol et if (file_exists($targetFile)) { echo "Üzgünüm, bu dosya zaten mevcut."; $uploadOk = 0; } // Maksimum dosya boyutunu kontrol et (örneğin 2MB) if ($_FILES["resim"]["size"] > 2000000) { echo "Üzgünüm, dosya çok büyük."; $uploadOk = 0; } // Sadece belirli dosya türlerine izin ver (örneğin JPG, PNG, GIF) if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") { echo "Üzgünüm, sadece JPG, JPEG, PNG ve GIF dosyalarına izin verilmektedir."; $uploadOk = 0; } // Tüm kontroller geçerse dosyayı yükle if ($uploadOk == 1) { if (move_uploaded_file($_FILES["resim"]["tmp_name"], $targetFile)) { echo "Resim başarılı bir şekilde yüklendi: " . htmlspecialchars(basename($_FILES["resim"]["name"])); // Resmi veritabanına kaydet (örneğin, dosya adı ile) $stmt = $conn->prepare("INSERT INTO kurslar (isim, resim) VALUES (?, ?)"); $stmt->bind_param("ss", $isim, $targetFile); $stmt->execute(); $stmt->close(); } else { echo "Üzgünüm, resim yüklenirken bir hata oluştu."; } } } // Bağlantıyı kapat $conn->close(); ?>

3. Açıklama

  • HTML Formu:

    • Kullanıcıdan kurs ismi ve bir resim dosyası alır.
    • enctype="multipart/form-data" özelliği, dosya yüklemeleri için gereklidir.
    • Resim dosyası için accept="image/*" ile yalnızca resim dosyalarının seçilmesine izin verilir.
  • PHP Kodu:

    • Veritabanına bağlanır ve formdan gelen verileri alır.
    • $_FILES süper globali ile yüklenen dosyanın bilgileri kontrol edilir.
    • Resmin gerçekten bir görüntü olup olmadığını, dosya boyutunu ve dosya türünü kontrol eden kontroller gerçekleştirilir.
    • Eğer tüm kontroller geçerse, resim belirtilen klasöre (uploads/) kaydedilir ve kurs ismi ile birlikte veritabanına eklenir.
    • Resim yükleme işlemi sırasında bir hata oluşursa kullanıcıya bilgi verilir.

4. Kullanım

  1. Yukarıdaki HTML formunu bir dosyaya (örneğin, kurs_resmi_yukle_form.php) kaydedin.
  2. PHP kodunu başka bir dosyaya (örneğin, kurs_resmi_yukle.php) kaydedin.
  3. uploads/ adında bir klasör oluşturun ve gerekli izinleri verin (yazma izni).
  4. Web sunucunuzda bu dosyaları çalıştırarak kurs resmi yükleme işlemini deneyin.

Bu adımlarla, kullanıcıların kurs resmi yükleyebileceği basit bir uygulama oluşturmuş oldunuz.



Yorum Ekle

Üzerine gel