Flash AS2 ve Php ile Upload Scripti Yapmak
Ertuğrul Erkan Tarih: 21/08/2008 Yorum: 1 adet
Okunma : 2093 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...
Haber
Etkinlikler
Toplantı
Özgür Yazılım ve Linux Günleri '10
Özgür Yazılım ve Linux Günleri '10
İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü ve Linux Kullanıcıları Derneği'nin 9 yıldır düzenlemekte oldukları etkinlikler bu yıl `Özgür Y...
Kategori:
Toplantı
MMIstanbul Blog'undan
Blog Bölümü Blogevi.com'a Taşınıyor
Selam arkadaşlar MMIstanbul'da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul dışın ...
7.500'üncü üyemiz Cem Koç!
Neler Yapılabilir?
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)










slm. peki bu iş as1 de nası yapılır. teşekkürler