Ayberk Atasay

ASP, CSS, Internet konuları üzerine paylaşımlar


PHP ile Form Upload

Form üzerinden özellikle resim upload uygulamaları kullanılan birçok sitede karşımıza çıkmakta. Bende bu yazıda sizlere form upload işlemini biraz anlatmak istiyorum.

Aşağıda verdiğim örnek işin temeli olsa da henüz bir proje içine entegre edilip kullanılacak durumda değil. Gerçek bir projede genellikle verinin geldiği adresi, kullanıcının oturum açıp açmadığı vs gibi durumları kontrol ederek veriye izin verip vermeyeceğinize karar vermeniz daha sonra dosyaya yapılacak işlemleri başlatmanız gerekir. Diğer kısımlar oturum yönetimi ve güvenlik konularını ilgilendirdiği için ben o kısımları atlayarak başlıkta verilen konunun çekirdeğine odaklanacağım.


if (isset($_FILES['dosya'])) //formdaki field ın adının dosya olduğunu varsaydım sizde farklıysa bu bölümü değiştirmeniz gerekebilir.
{
$file = $_FILES['dosya'];
if ($file['error'] == UPLOAD_ERR_OK)
{
$name = md5(uniqid(mt_rand().time(),true));
$pathInfo = pathinfo($file['name']);
if (isset($pathInfo['extension']))
$name .= '.'.$pathInfo['extension'];
$uploaddir="./temp/";
if (move_uploaded_file($file['tmp_name'], $uploaddir.$name))
{
echo "Upload başarılı";
}
else
{
die("Dosya yüklenemedi..");
}
}
}


md5(uniqid(mt_rand().time(),true)) fonksiyonlar dizisini rastgele benzersiz bir dosya ismi oluşturmak için kullanıyoruz. Ne kadar iyi çalıştığını göstermek için 10 adet örnek dosya ismi oluşturdum.

4c4e2cd0d05932e81c4508f99c5f3b33
be601477a66010271990f49913091405
cffa041c6e82f669fabe43729bcd5caa
6621b2b06d6baca55f40d111268f173b
0bcfeffa5c674b82d1b64ecba1ce8dd4
c852ae73166bd504faf0de41d89a511e
c709eb13c6b9bbbb03715fe9c59b1c43
d925296191fbf105a4a7c3dbaba23fd3
d22c4efda60cec0088a0dbb25107f5f0
ed54dda83dc1747d339cdd3d44bd0f82
Bu kod 2005 yılında yazmış olduğum bir kod ve şu an için çok iyi anımsamıyor olsam da dosyaların taşınacağı klasörün chmod unun 777 yapılması gerekebilir eğer bir sorun ile karşılaşırsanız ilk olarak bunu deneyebilirsiniz.

PHPÖzgün Sarı18 Haziran 2009, PerşembeEkle Bunu
Önceki Kayıt
Sonraki Kayıt
Yorumlar
Frmclub
27 Aralık 2009, Pazar
çok düzel oldu teşekkürler.
oyun destek
26 Aralık 2009, Cumartesi
Teşekkürler
mustafa
16 Aralık 2009, Çarşamba
Paylaşım için teşekkürler
SonDestan
15 Aralık 2009, Salı
pek php bilmediğim için beceremedim...

Sanalika banada gel şu işin sırrını msnden anlat kardeş, anlaşılan bu işi senin gibi iyi yapan yok!
Vodafone Sanal Kontör
21 Kasım 2009, Cumartesi

gerçekten çok güzel ftp'ler kapalı olsa bile... :)

teşekkürler emeğinize sağlık..
Duman
20 Ağustos 2009, Perşembe
Evet çalıştı teşekkürler...
sanalika
10 Temmuz 2009, Cuma
denedim çok güzel sorunsuz çalıştı tşkler ...
Yorum Yaz

İsim (*)

e-Posta (*) (Yayımlanmayacak)

URL




Resmi Değiştir
Güvenlik Kodu (Yukarıda gördüğünüz karakterleri yazınız)


Copyright © 2008 ayberk.com | Bu sitenin kodlaması ve teması Ayberk Atasay tarafından hazırlanmıştır. | XHTML 1.0