inchide

Publicitate

Afisarea publ.info
Companie

Afisarea detaliilor publicitare

Detalii...


Publicitate

Panel 1

Info sau baner
Detalii..

Panel 2

Info sau baner
Detalii...

Panel 3

Info sau baner
Detalii...

Panel 4

Info sau baner
Detalii...


Vot

Apreciati designul site-ului

Formidabil
Bun
Normal
Am vazut mai bune
Nu mi-a placut

...

Incarcarea fisierelor pe server in Flash(AS2) 


Incarcarea fisierelor pe server in Flash(AS2)
Incarcarea fisierelor pe server in Flash(AS2)


Pentru incarcarea fisierelor pe server folosim clasa flash.net.FileReference.
Exemplarul lui genereaza:

onselect - fisier selectat, se poate de incarcat
onCancel - declinarea operatiunii de utilizator
onHTTPError,onIOError,onSecurityError - diverse greseli
onComplete - incarcarea finalizata

Uploaderul nostru va consta din buton de incarcare(upload_btn), din camp de primire a mesajelor sistemului (tf_message) si clip pentru vizionarea imaginii de incarcare (loader).

Conectam clasa incarcatorului, cream exemplar:


import flash.net.FileReference
var FileLoader:FileReference = new FileReference();

Apoi evenimente de asc.

var ListObj:Object = new Object();
FileLoader.addListener(ListObj);


Prelucrarea evenimentelor


var folder = 'image';//cale spre folder unde se incarca fisierul
var path = '';
//file selectat, se poate incarca
ListObj.onselect = function() {
//generare mesaj
tf_message = FileLoader.name+' ales';
//incarcam fisier- mergem in script PHP, ii trimitem prin GET calea de salvare a fisierelor pe server
FileLoader.upload("fileUpload.php?folder="+folder);
var path = folder+'/'+FileLoader.name;
};



Cod pentru PHP. Il salvam ca fileUpload.php


<?
$field = 'file';
$root_path = '';
// daca exista datele despre cale de salvare in GET, le luam invers se salveaza in radacina
$folder = isset($_GET['folder']) ? $_GET['folder'] : '';
// Daca primim fisier fara greseli il salvam
if(isset($_FILES[$field]) && $_FILES[$field]['error']===0){
copy($_FILES[$field]['tmp_name'],$root_path.($folder ? $folder.'/' : '').$_FILES[$field]['name']);
$mes = 'ôàéë '.$_FILES[$field]['name'].' se incarca'
}
if(!isset($_FILES[$field]){$mes = 'php nu a primit fisier'}
if($_FILES[$field]['error'] !=0){$mes = 'greseli in fisier'.$_FILES[$field]['name']}

// codul pentru depanare, se face ôàéë log.txt, dar php va salva in el greseli si erori
// se poate pentru experiment
//*
$filename = 'log.txt';

if (is_writable($filename)) {
   if (!$handle = fopen($filename, 'a')) {
        echo "Nu pot deschide fisier ($filename)";
        exit;
   }
   if (fwrite($handle, $mes) === FALSE) {
       echo "Nu pot inscrie in fisier ($filename)";
       exit;
   }
   echo "Wow, am reusit ($mes) â ôàéë ($filename)";
   fclose($handle);
} else {
   echo "Fisier $filename inaccesibil pentru inscriere sau redactare";
}
//*/
?>



Aratam erori


ListObj.onCancel = function(){
tf_message = 'utilizator a anul incarcarea';
};
ListObj.onIOError = function(FileLoader){
tf_message = ' greseala';
};
ListObj.onSecurityError = function(FileLoader, error) {
tf_message = ' greseala de securitate';
};
// eroare protocol
ListObj.onHTTPError = function(FileLoader:FileReference, error:Number){
tf_message = "HTTP error: "+error;
};



Pornire upload la apasarea butonului


upload_btn.onPress = function(){
FileLoader.browse([{description:'images (jpg)', extension:'*.jpg'}]);//specificam format pentru fisiere, pot fi scrise diverse formate
}


Cand fisier se va incarca il aratam


function imageInterfase(){// micsoreaza imaginea
maxheight = 150;
maxwidth = 150;
w = loader._width;
h = loader._height;
persent = w/h;
if (h>w) {
loader._height = maxheight;
loader._width = maxheight*persent;
} else {
loader._width = maxwidth;
loader._height = maxwidth/persent;
}
} // aceasta functie se executa, cand imaginea va fi incarcata, scriem orice cod
ListObj.onComplete = function(){
var mclLoader = new Imageloader(path,imageInterfase,loader);// link imagine, functia apelata cand fisierul e incarcat, clip in care incarcam
};


mclLoader clasa mea pentru incarcarea imaginilor(salvam acest cod intr-o mapa cu fla sub nume de Imageloader.as):

class Imageloader{
function Imageloader(path,interfase:Object,loader:Object){
var mclLoader:MovieClipLoader = new MovieClipLoader();
var oLoadListener:Object = new Object();
mclLoader.addListener(oLoadListener);
oLoadListener.onloadInit = function(mcTarget:MovieClip):Void{
  interfase();
};
mclLoader.loadClip(path, loader);
}
}


Daca cuvantul clasa nu va place se poate scrie si asa:

function imageInterfase(){}
list_obj.onComplete = function(){
var mclLoader:MovieClipLoader = new MovieClipLoader();
var oLoadListener:Object = new Object();
mclLoader.addListener(oLoadListener);
oLoadListener.onloadInit = function(mcTarget:MovieClip):Void{
interfase();
};
mclLoader.loadClip(path, loader);
}

html-link catre acest articol
BB-cod pentru publicarea in bloguri
Link direct catre acest articol
Stimate vizitator, nu sunteti inregistrat in site. Va recomandam sa folositi autentificare sau inregistrare in site.

Info


Vizitatori din grupul Oaspeti, nu pot comenta acest articol.