完美的flex+php上传文件实例【转】2009年05月06日 星期三 上午 03:39整理了一下,又写了一下注释。看看吧。
mail.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.CursorManager;
private var urlRequset:URLRequest;
private var file:FileReference = new FileReference();//实例化一个文件类件
private var serverSide:String = "http://www.flash.com/uploads.php";//指明后台处理的文件
private function init():void{
localChoose.addEventListener(MouseEvent.CLICK,doSelect);
file.addEventListener(Event.SELECT,onSelect);
resetBtn.addEventListener(MouseEvent.CLICK,doReset);
submitBtn.addEventListener(MouseEvent.CLICK,doUpload);
}
public function uploadCompleteHandler(event:Event):void{//上传成功
localPath.text = event.target.name+"文件上传成功!";
Alert.show(localPath.text,"提示");
}
public function doSelect(evt:Event):void{//选取文件
file.browse();
}
public function onSelect(evt:Event):void{//选取文件完成
localPath.text=file.name;
}
public function doReset(evt:Event):void{//重置
localPath.text='';
}
public function doUpload(event:Event):void{//开始上传
if(localPath.text==''){
Alert.okLabel = "确 定";
Alert.show("请选择要上传的文件!","警告");
}else{
var request:URLRequest=new URLRequest(serverSide);
file.addEventListener(Event.COMPLETE, uploadCompleteHandler);
file.addEventListener(ProgressEvent.PROGRESS,processHandler);
localPath.text = "正在上传 " + file.name;
CursorManager.setBusyCursor();
file.upload(request);
}
}
public function processHandler(evt:ProgressEvent):void{//上传进度
if(evt.bytesLoaded == evt.bytesTotal)
{
CursorManager.removeBusyCursor();
}else
{
var proc:uint=evt.bytesLoaded/evt.bytesTotal*100;
localPath.text="已上传:"+proc;
}
}
]]>
</mx:Script>
<mx:Panel x="10" y="10" width="421" height="184" layout="absolute" title="FLEX上传工具DEMO" fontSize="12" fontWeight="bold">
<mx:Label x="37" y="31" text="上传文件:"/>
<mx:TextInput id="localPath" x="107" y="29" width="179.5" editable="false"/>
<mx:Button id="localChoose" x="312" y="29" label="选择"/>
<mx:Button id="submitBtn" x="107" y="79" label="开始上传" />
<mx:Button id="resetBtn" x="234.5" y="79" label="重填"/>
</mx:Panel>
</mx:Application>
uploads.php:
这里要注意了,还要在uploads.php文件的同级目录建一个uploads的文件夹。上传的文件就会上传到这个文件夹中。
<?php
$uploaddir = 'uploads/';
$filename = date("Ymdhis").rand(100,999);//上传改后文件名
$uploadfile = $uploaddir .$filename.substr($_FILES['Filedata']["name"],strrpos($_FILES['Filedata']["name"],"."));
$temploadfile = $_FILES['Filedata']['tmp_name'];
file_put_contents("catcah.txt",$_FILES['Filedata']['tmp_name']);
move_uploaded_file($temploadfile , $uploadfile);
?>
再看一下uploads那个文件夹是不是有你上传的文件了。
如果想把上传的文件入库的话也很简单,加上下面的代码就可以了。。。
# 定义数据库资料
Define('DATABASE_SERVER', 'localhost');
Define('DATABASE_USERNAME', 'root');
Define('DATABASE_PASSWORD', 'root');
Define('DATABASE_NAME', 'woaiphp');
# Connect to the database
$link = @mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
mysql_select_db("test", $link);
mysql_query("SET NAMES utf8");//设置UTF8编码
# 添加数据
$sql = "INSERT INTO `woaiphp`.`test` (`id` ,`file`) VALUES ('','".$uploadfile."')";
mysql_query($sql);
分享到:
相关推荐
Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP 批量上传实例文档Flex+Java、PHP...
在本实例中,我们关注的是如何使用Flex实现多文件上传功能,这在Web应用中是一个常见且实用的需求。 首先,我们需要理解Flex中的组件体系。在Flex中,FileReference类是处理文件上传和下载的核心类。当用户选择一个...
Flex录音+上传+播放功能是基于Adobe Flex框架开发的一个多媒体应用模块,主要涵盖了声音的录制、上传以及回放这三个核心环节。Flex是一个开源的、基于ActionScript的开发工具,用于构建具有丰富用户体验的RIA(Rich ...
在多文件上传中,我们需要实例化多个FileReference对象来分别处理不同的文件。 2. **Browse事件**:通过调用FileReference对象的browse()方法,弹出文件选择对话框,用户可以选择一个或多个文件。在Flex中,可以...
在描述中提到的`play.htm`和`up.htm`可能是包含Flex播放器实例和文件上传表单的HTML文件。`play.htm`可能包含了一个Flex播放器组件,用户可以在这里观看视频或音频。而`up.htm`则可能包含一个用于文件上传的Flex组件...
本实例将聚焦于"文件上传"这一核心概念,结合"Felx"技术进行讨论,旨在提供一个实际的操作案例,帮助开发者理解和实现文件上传功能。 文件上传是指用户通过网页或其他应用程序将本地计算机上的文件发送到远程服务器...
### Flex与.NET互操作:使用FileReference+HttpHandler实现文件上传/下载 #### 一、引言 在Flex的应用开发中,与ASP.NET、JSP、PHP等Web应用一样,经常会遇到需要处理文件上传和下载的需求。Adobe Flex是一种用于...
总的来说,Flex开发的照片上传工具融合了客户端UI设计、文件处理、网络通信和服务器交互等多个方面的技术,是富互联网应用程序开发的一个实例,展示了Flex在创建交互性强、功能丰富的Web应用程序方面的优势。
综上所述,实现Flex图片上传带预览功能的网站涉及了Flex组件的使用、文件I/O、事件处理以及与服务器的通信。理解这些关键点,开发者就能构建出一个功能完善的图片上传系统,提供良好的用户交互体验。
《深入解析Flex_FCK_Editor整合应用实例》 在当今的Web开发中,富文本编辑器已经成为不可或缺的一部分,它使得用户能够方便地在网页上进行文本编辑、格式化以及插入多媒体内容。Flex_FCK_Editor是一款基于Adobe ...
上传文件的处理涉及到PHP脚本的编写,其中包括处理文件上传、验证文件类型和大小限制以及保存上传的文件到服务器指定位置等。 本文通过实例详细阐述了使用PHP、MySQL和Flex技术设计Flash课件点播平台的具体实现方法...