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.
-
$_FILESsü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
- Yukarıdaki HTML formunu bir dosyaya (örneğin,
kurs_resmi_yukle_form.php) kaydedin. - PHP kodunu başka bir dosyaya (örneğin,
kurs_resmi_yukle.php) kaydedin. -
uploads/adında bir klasör oluşturun ve gerekli izinleri verin (yazma izni). - 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.
Bu ders size yardımcı oldu mu? Puan verin!
Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.
Sıkça Sorulan Sorular (SSS)
Bu ders ve konuyla ilgili en çok merak edilenler
Php 8 Kurs Resminin Yüklenmesi dersini öğrenmek için ön koşul var mı?
Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.
Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?
Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.
Takıldığım bir yerde nereden soru sorabilirim?
Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.
Topluluk Yorumları (0)
Ders Hakkında Yorum Yap veya Soru Sor
Henüz yorum yapılmamış. İlk yorumu siz yazın!