Uf, ne treba ti PHP. Flash može da radi te stvari uz pomoć JavaScripta, malo mašte i volje ;). Nego da pređemo na stvar.
U flashu napravi sledeće:
2 button-a i imenuj ih ovako:
upload_button
browse_button
2 dynamic text polja i posatvi im promenljive (Var, ne instance_name):
filename
message
napraviš naprimer layer akcije i u prvom frejmu staviš ovaj AS:
Code:
var filename="";
Akcije:
Za browse_button:
Code:
on (release) {
getURL("javascript:call_form_field();");
}
Za upload_button:
Code:
on (release) {
if (filename == "" || filename == " ") {
message = "Molim Vas selektuj fajl za upload";
} else {
// submit-uje fajl
getURL ("javascript:blind_submit();");
message = "Upload uspesan";
}
}
Dalje napravi sledeće fajlove:
flash_file_upload.htm , index.htm (upload stranica :)), hidden_form.htm i još jedan bitan fajl file_upload.cfm (u njemu deklariši putanju gde če biti uploadovan #path#)
Idemo redom svi kodovi:
Code:
//file_upload.cfm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Upload file iz flasha</title>
</head>
<body>
<cfset path=ListDeleteAt(cf_template_path,ListLen(cf_template_path,"/"),"/")&"/">
<cffile action="upload" destination="#path#" filefield="file">
<!--- vraca nazad ukoliko se korisnik predomislio --->
<cflocation url="hidden_form.htm">
</body>
</html>
Code:
//flash_file_upload.htm
<HTML>
<HEAD>
<TITLE>Upload iz flasha</TITLE>
<script language="javascript">
<!--
// skripta koja poziva fajl polje iz hidden_form i postavlja fokus na nju
function call_form_field(){
parent.form_frame.form.file.click();
parent.form_frame.form.file.focus();
}
// funkcija koja prosledjuje i salje podatak fajlu CF
function blind_submit(){
parent.form_frame.form.submit();
}
//-->
</script>
</HEAD>
<BODY bgcolor="#666666">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com...sh/swflash.cab#version=5,0,0,0"
WIDTH=550 HEIGHT=400 name="movie">
<PARAM NAME=movie VALUE="flash_file_upload.swf"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#666666> <EMBED src="flash_file_upload.swf" quality=high bgcolor=#666666 WIDTH=550 HEIGHT=400 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shoc...P1_Prod_Version=ShockwaveFlash"></EMBED>
</OBJECT>
</BODY>
</HTML>
Code:
//hidden_form.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Upload iz flasha</title>
<script language="javascript">
<!--
// salje promenljive flashu
function set_variable(value) {
parent.flash_frame.movie.SetVariable("filename",value);
}
//-->
</script>
</head>
<body>
<form method="post" name="form" enctype="multipart/form-data" action="file_upload.cfm">
<input type="file" name="file" onFocus="set_variable(this.value)">
</form>
</body>
</html>
Code:
//index.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Upload iz flasha</title>
</head>
<frameset rows="100%,*" framborder="0" border="0" framespacing="0">
<frame name="flash_frame" src="flash_file_upload.htm" scrolling="no" noresize frameborder="0">
<frame name="form_frame" src="hidden_form.htm" scrolling="no" noresize frameborder="0">
</frameset>
<body>
</body>
</html>