实现flash+php图片上传,两者各有分工:
flash负责打开browser,浏览我的电脑;
这里我们需要的flash方法有:
1.FileReference或者FileReferenceList类,负责浏览我的电脑,两者区别是,前者每次可以选择一个文件
而后者可以每次选择多个文件;
包 | flash.net |
类 | public class FileReference |
继承 | FileReference -> EventDispatcher -> Object |
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
FileReference 类提供了在用户计算机和服务器之间上载和下载文件的方法。 操作系统对话框会提示用户选择要上载的文件或用于下载的位置。 每个 FileReference 对象都引用用户磁盘上的一个文件并且具有一些属性,这些属性包含有关文件大小、类型、名称、创建日期、修改日期和创建者类型(仅限 Macintosh)的信息。
2.打开之后,我们可以使用FileFilter来限制选择文件的格式;
包 | flash.net |
类 | public final class FileFilter |
继承 | FileFilter-> Object |
语言版本 : | ActionScript 3.0 |
Player 版本 : | Flash Player 9 |
FileFilter 类用来指示在调用 <span class="searchhilite"><code>FileReference
.browse() 或 <span class="searchhilite"><code>FileReference
List.browse() 时,用户系统上的哪些文件显示在出现的文件浏览对话框中。 FileFilter 实例将被传递给 browse()
函数。 如果使用 FileFilter 实例,则 FileFilter 实例中未指定的扩展名和文件类型将被过滤掉,即用户在上载时无法选择这些类型。 如果未将 FileFilter 对象传递给 browse()
,则对话框中将显示所有文件。
3.这些就够了
php负责后台的上传,这部分只要就只有一个函数move_uploaded_file
move_uploaded_file
(PHP 4 >= 4.0.3, PHP 5)
move_uploaded_file -- 将上传的文件移动到新位置说明
bool move_uploaded_file ( string filename, string destination )本函数检查并确保由 filename
指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination
指定的文件。
如果 filename
不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 FALSE。
如果 filename
是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 FALSE。此外还会发出一条警告。
这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。
代码部分:
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import fl.controls.Button;
import flash.net.FileReference;
import flash.net.FileFilter;
public class Main extends Sprite
{
public var file:FileReference;
public var btn:Button;
public var arr:Array;
public var imgfilter:FileFilter;
public var swffilter:FileFilter;
public var ureq:URLRequest;
public function Main()
{
file = new FileReference();
btn = new Button();
imgfilter = new FileFilter("Image", "*.png;*.jpg");
btn.label = "browser";
btn.emphasized = true;
btn.width = 150;
btn.move(100, 100);
ureq.url = "http://localhost/test/img/upload.php";
btn.addEventListener(MouseEvent.MOUSE_DOWN, down);
file.addEventListener(Event.COMPLETE, complete);
file.addEventListener(Event.OPEN,open);
file.addEventListener(Event.CANCEL, cancel);//点击取消按钮会广播这个事件
file.addEventListener(Event.SELECT, select);
addChild(btn);
}
public function down(e:MouseEvent):void {
file.browse([imgfilter]);//browse的参数是以个FileFilter对象,限制文件选择的类型
}
public function complete(e:Event):void {
trace("complete"+e);
}
public function open(e:Event):void {
trace("open");
}
public function cancel(e:Event):void {
trace("cancel");
}
public function select(e:Event):void {
var tem = e.target;
trace(tem.name + "," + tem.creationDate + "," + tem.size);
file.upload(ureq);//选择结束后,开始上传
}
}
}
$uploaddir = './uploads/';//设置存储路径
$filename = $_FILES['Filedata']['name'];//获得选择的文件
$uploadfile = $uploaddir . $filename;//存储文件路径
$uploadfile = iconv('utf-8', 'gb2312', $uploadfile);//设置文件格式
move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadfile);//开始上传
?>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1
強大的PHP整合開發環境