ホームページ >php教程 >php手册 >Flash+phpで画像アップロードを実現

Flash+phpで画像アップロードを実現

WBOY
WBOYオリジナル
2016-07-09 09:10:171131ブラウズ

Flash+PHP 画像アップロードを実装します。それぞれに独自の役割分担があります:

フラッシュはブラウザを開いてコンピュータを閲覧する役割を果たします;

ここで必要な Flash メソッドは次のとおりです:
1. FileReference または FileReferenceList クラス。コンピューターの参照を担当します。この 2 つの違いは、前者は一度に 1 つのファイルを選択できるのに対し、後者は一度に複数のファイルを選択できることです。 ;

バッグ フラッシュネット
カテゴリー パブリッククラスFileReference
相続 FileReference -> EventDispatcher -> オブジェクト

言語バージョン: ActionScript 3.0
プレイヤーバージョン: Flash プレーヤー 9

FileReference クラスは、ユーザーのコンピューターとサーバーの間でファイルをアップロードおよびダウンロードするためのメソッドを提供します。 オペレーティング システムのダイアログ ボックスでは、アップロードするファイルまたはダウンロードする場所を選択するようユーザーに求められます。 各 FileReference オブジェクトはユーザーのディスク上のファイルを参照し、ファイルのサイズ、タイプ、名前、作成日、変更日、作成者のタイプ (Macintosh のみ) に関する情報を含むプロパティを持ちます。

2. 開いた後、FileFilter を使用して、選択したファイルの形式を制限できます。

バッグ フラッシュネット
カテゴリー パブリック最終クラス FileFilter
相続 ファイルフィルター -> オブジェクト

言語バージョン: ActionScript 3.0

FileFilter クラスは、<span class="searchhilite"><code>FileReference<span class="searchhilite"><code>FileReference.browse() 或 <span class="searchhilite"><code>FileReferenceList.browse() 时,用户系统上的哪些文件显示在出现的文件浏览对话框中。 FileFilter 实例将被传递给 browse() 函数。 如果使用 FileFilter 实例,则 FileFilter 实例中未指定的扩展名和文件类型将被过滤掉,即用户在上载时无法选择这些类型。 如果未将 FileFilter 对象传递给 browse().browse() または <span class="searchhilite"> <code>FileReferenceList.browse() 表示されるファイル参照ダイアログ ボックスに、ユーザーのシステム上のどのファイルが表示されるか。 FileFilter インスタンスは browse() 関数に渡されます。 FileFilter インスタンスが使用される場合、FileFilter インスタンスで指定されていない拡張子とファイル タイプはフィルターで除外されます。つまり、ユーザーはアップロード時にこれらのタイプを選択できません。 FileFilter オブジェクトが browse() に渡されない場合、すべてのファイルがダイアログ ボックスに表示されます。

3.これだけで十分です

php はバックグラウンドアップロードを担当します。この部分には move_uploaded_file という関数が 1 つだけあります。

アップロードされたファイルを移動

(PHP 4 >= 4.0.3、PHP 5)

move_uploaded_file -- アップロードされたファイルを新しい場所に移動します

手順

bool move_uploaded_file (文字列ファイル名、文字列宛先)

この関数は、filename で指定されたファイルが正当なアップロード ファイル (つまり、PHP の HTTP POST アップロード メカニズムを通じてアップロードされたファイル) であることをチェックし、保証します。ファイルが正当な場合、そのファイルは destination で指定されたファイルに移動されます。 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。
如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 FALSE
如果 filenamefilename が有効なアップロード ファイルでない場合、操作は行われず、move_uploaded_file()FALSE
を返します。

filename が正当にアップロードされたファイルであるが、何らかの理由で移動できない場合、アクションは発生せず、

move_uploaded_file()

FALSE🎜🎜 を返します。警報も発令されています。 🎜🎜🎜この種のチェックは、アップロードされたファイルによってそのコンテンツがこのシステムのユーザーまたは他のユーザーに表示される可能性がある場合に特に重要です。 🎜 🎜 🎜コード部分:🎜 🎜 🎜
package
{
import flash.display.Sprite;

import flash.events.Event;
import flash.events.MouseEvent;
インポート fl.controls.Button;

import flash.net.FileReference;
import flash.net.FileFilter;

public クラス メイン拡張 スプライト
{
public var file:FileReference;
public var btn:Button;
public var arr:Ar ray;
public var imgfilter:FileFilter;
public var swffilter:FileFilter;
public var ureq:URLRequest;

public function Main()
{
ファイル
= new FileReference();
btn
= new Button();
imgfilter
= new FileFilter("画像) *.png;*。 jpg");

btn.label
= "ブラウザ";
btn.強調
= tru​​e;
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);
}
関数ダウン(E:MouseEvent):
//
Browseパラメーターは、ファイル選択タイプのファイルフィルターオブジェクトです。 (トレースとして):void{ "cancel
"); ; +
"
, "+
tem.size);
file.upload(ureq) } }; PHPコード:
php
$uploaddir = './uploads/';// ストレージを設定するパス
$ファイル名 = $_FILES['ファイルデータ']['名前']; //選択したファイルを取得します
$uploadfile = $uploaddir . $filename;// ストレージファイルパス
$uploadfile = iconv('utf-8', 'gb2312', $uploadfile);/ /ファイル形式を設定
move_uploaded_file($_FILES['Filedata'][') tmp_name'] $uploadfile);//アップロードを開始
?>
プレイヤーバージョン: Flash プレーヤー 9
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。