There are multiple valid approaches that can solve your question.
I'm gonna show the easiest one I can think of.
Form bu değişiklikleri olması gerekir:
Form etiketi EncType attibute ekle:
<form action="post.php" method="post" enctype="multipart/form-data">
Dosya yükleme kutuları (Eğer image[]
gibi, bir kontrol dizisi kullanabilirsiniz, ama ben basit tutacağız) takın:
Image 1: <input type="file" name="image1" />
Image 2: <input type="file" name="image2" />
POST formu ile dosya gönderme yükleme boyutu 2.048 Kb (2 megabayt) daha büyük olamayacağını ima unutmayın.
Kendinizi dosyaları almak için hazırlanmış bir dizin var, bu yüzden kullanıcılar (bu bir Linux sunucu eğer, chmod 777 kullanabilirsiniz) sunucu olarak yazabilirsiniz belirlenen uygun izinlere sahip olmalıdır. Bu örnekte benim klasör "kullanıcı-images" adı verilecek.
Ardından, post.php bu eklenti içinde:
$upload_to = "./user-images/";
move_uploaded_file(
$_FILES["image1"]["tmp_name"],
$upload_to . "/" . $_FILES["image1"]["name"]
);
move_uploaded_file(
$_FILES["image2"]["tmp_name"],
$upload_to . "/" . $_FILES["image2"]["name"]
);
?>
Küçük oluşturmak için yeniden boyutlandırma görüntüleri hakkında, sen (de GD kütüphanesi kullanılarak canlı minik yapabilirsiniz dosyaları or yeniden boyutlandırmak ve depolamak için GD kütüphanesi kullanımı, ancak bunun yerine üzerinde IMG etiketi bir JPEG dosyası yükleme yapabilirsiniz HTML görüntü, böyle bir PHP dosyası yüklemek istiyorum :)
<img src="thumbnail.php?src=image1.jpg&w=90&h=50" />
Görüntü dosyaları bağlantıları kolayca oluşturulur:
$link = $upload_to . "/" . $_FILES["image1"]["name"]
Eğer mutlak bir URL ihtiyacınız varsa, sadece $upload_to
önce etki alanı adresini ekleyin.
Bu Başarıyoruz sadece bir yoludur. Ayrıca, (biz küçük düşünüyorlarmış beri, biz varsayılan olarak, MySQL sorguları 1 Mb uzunluğu sınırlıdır, bir sorun olmamalıdır) veritabanına görüntülerin ikili içerik ekleyebilirsiniz. Bu ikili modda veritabanı tablo BLOB alanları kullanılarak yapılır ve file_get_contents()
(PHP 5 ile) veya fopen()
edilebilir / fread()
/ {[(3)] } (PHP 4 ile) dosyalarını okuma ve veritabanına koyucak için. SQL sorgu (genellikle base64_encode()
veya base64_decode()
ile yapabilirsiniz) bozuk değil bu yüzden her zaman dosyaları kodlamak için önerilir.
Bu size yardımcı olabilir umuyoruz. İyi şanslar kodlama!