Profili Göster

Flash AS2 ve Php ile Upload Scripti Yapmak

Ertuğrul Erkan Tarih: 21/08/2008 Yorum: 0 adet

Okunma : 616 Tutanlar: Bu yazıyı 1 kişi tuttu.

Herkese merhaba. Bu derste de as2 ve php işbirliğini kullanarak bir upload scripti yapalım. Aslına bakarsanız işin en önemli kısmı php nin :). Biz flash ile sadece adresi alıyoruz. Bu adresi php ye yolluyoruz ve orada işliyoruz. Hemen bakalım;

Flash dosyamızın kodları;


//İlk önce ne kullanacsak import edelim
import flash.net.FileReference;

//Biz burada onu aktif yaparsak kişi tıklayarak boş dosyayı yollayabilir. İlerdeki kodlarda bu button ancak dosya seçilince aktif hale gelecek
upload_butn.enabled = false;

//Eğer flashda file yani dosya işlemleri yapıyorsak bunları belirtmemiz lazım. Burada da dosya işlemleri için gerekli bir nesne tanımlıyoruz
var file_fr:FileReference = new FileReference();

//Burada nesneler olayları yani flash adıyla event için bir listener nesnesi tanımlıyoruz
var list_obj:Object = new Object();

//Şimdi başta da dediğim gibi kişi seçim yapmadan direk yükle buttonu aktif olmayacaktı. Burada olayımızı kullanarak seçim yapıldığında buttonu aktif hale getiricez ayrıca dosyanın adını birde metin kutusuna yazdırıcaz
list_obj.onSelect = function(){
    upload_butn.enabled = true;
    name_txt.text = file_fr.name;
}

//Yükleme bitince metin kutusuna uyarı yazıyoruz, preloader gidiyor ve yükleme buttonu pasif hale geliyor
list_obj.onComplete = function(){
    name_txt.text = "Dosya Yüklenmiştir";
    rec_mc.clear();
    upload_butn.enabled = false;
}

//Evet bu scriptte birde preloader var. Şimdi onun kodlamasını yapıyoruz. 
//Yüklemeye göre preloaderde ilerleme oluyor. Bizde dosyanın boyutunu veriye göre oranlıyoruz
list_obj.onProgress = function (bytesTotal, bytesLoaded){
    var percent = bytesLoaded/file_fr.size;
    drawRec(percent);
}

//Yükleme iptal edilirse uyarı mesajı yazılıyor
list_obj.onCancel = function(){
    name_txt.text = "Yükleme iptal edildi";
}

//Yükleme hatası olursa hata uyarı mesajları: IQ Hatası
list_obj.onIOError = function(fileRef){
    name_txt.text = "IO hatası oluştu ";
}

//Yükleme hatası olursa hata uyarı mesajları: Security Hatası
list_obj.onSecurityError = function(fileRef, error){
    name_txt.text = "Security Hatası oluştu " + fileRef.name + ":" + error;
}

//Yükleme hatası olursa hata uyarı mesajları: Http Hatası
list_obj.onHTTPError = function(fileRef:FileReference, error:Number){
    name_txt.text += "HTTP hatası oluştu: " + fileRef.name + ":hata #" + error;
}

//Listener atanıyor
file_fr.addListener(list_obj);

//Göster butonu kodları hazırlanıyor.Buraya isyediğiniz kadar isim ve format ekleyebilirsiniz.
browse_butn.clickHandler = function(){
    file_fr.browse([{description: "Resimler", extension: "*.jpg;*.gif;*.png"}, {description: "Sıkıştırılmış dosyalar", extension: "*.rar;*.zip"}, {description: "Metin Belgeleri", extension: "*.txt;*.doc;*.pdf"}] 
);
}

//Yükleme butonu kodları oluşturuluyor
upload_butn.clickHandler = function(){
    file_fr.upload("upload.php");
    rec_mc.fillColor = Math.random()*0x1000000;
}

//Preload için klip renklendirmesi hazırlanıyor.
function drawRec (per){
    rec_mc.clear();
    rec_mc.lineStyle(0);
    rec_mc.beginFill(rec_mc.fillColor, 70);
    rec_mc.lineTo(per*rec_mc._width, 0);
    rec_mc.lineTo(per*rec_mc._width, rec_mc._height);
    rec_mc.lineTo(0, 30);
    rec_mc.lineTo(0,0);
    rec_mc.endFill();
}

Evet şimdide verilerin yollandığı, işlemin yapıldığı php dosyamız [ upload.php ];


<?php
if ($_FILES['Filedata']['name']) {
//Hesabınızda dosyalar isimli bir klasör olması lazım
$uploadDir = "dosyalar/";
$uploadFile = $uploadDir . basename($_FILES['Filedata']['name']);
move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile);
}
?>

Kodlar Lazoid hocama aittir. Elimden geldiğince paylaşım yaptım. Yakında bunun AS3 versiyonu da eklemeyi planlıyorum.

Herkese iyi günler…

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

İçeriğe kayıtlı yorum bulunmuyor. İlk yorumu siz buradan ekleyebilirsiniz.


yeni üyelik | şifremi unuttum

aç-kapa Toplantı Kahraman ve need4code.com Projesi Connect Toplantısı

Kahraman ve need4code.com Projesi Connect Toplantısı

Selam arkadaslar, Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 3Aralık...
Kategori: Toplantı

aç-kapa Yarışma Fikir10000 Dijital Pazarlama Fikir Yarışması

Fikir10000 Dijital Pazarlama Fikir Yarışması

ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori: Yarışma

aç-kapa Yarışma 7Dx Demoscene Party

7Dx Demoscene Party

2002 yılından beri amatör bilgisayar kültürü ile ilgilenen insanları bir araya getirmeyi hedefleyen 7DX parti serisinin bu seneki ayağı olan 7D8 Demo ...
Kategori: Yarışma

aç-kapa Eğitim Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Etkin Katılım Çağrısı Türkiye’de Internet ile ilgili grupları biraraya getirerek İnternet’i tum boyutlarıyla tanıtmak, gelistirmek, tartı...
Kategori: Eğitim

aç-kapa Konferans Bilgi Güvenliği ve Kriptoloji Konferansı

Bilgi Güvenliği ve Kriptoloji Konferansı

Önemli Tarihler: Etkinlik Tarihi : 24-26 Aralık 2008 Son Bildiri Gönderme Tarihi : 20 Ekim 2008 Bildiri Kabul Tarihi Bildirimi :...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 382 (2 kayıtlı, 380 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul