flash+php实现图片上传
实现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
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

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

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

在PHP8 中,match表達式是一種新的控制結構,用於根據表達式的值返回不同的結果。 1)它類似於switch語句,但返回值而非執行語句塊。 2)match表達式使用嚴格比較(===),提升了安全性。 3)它避免了switch語句中可能的break遺漏問題,增強了代碼的簡潔性和可讀性。

在PHP中可以通過使用不可預測的令牌來有效防範CSRF攻擊。具體方法包括:1.生成並在表單中嵌入CSRF令牌;2.在處理請求時驗證令牌的有效性。
