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…
İçeriğe kayıtlı yorum bulunmuyor. İlk yorumu siz buradan ekleyebilirsiniz.
Haber
Etkinlikler
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ı
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız








