少し前に、ファイルをアップロードし、ファイルから関連するコンテンツを読み取る操作を伴う ajax アプリケーションを作成しました。 PHP でファイルをアップロードするのは難しくありませんが、難しいのはページを更新してはならないことです。その後、Baidu で更新せずにファイルをアップロードする方法を見つけました。自分のアイデアを整理し、友人と共有しました。批判や指導も歓迎します。
ヒント: フォームの target 属性と iframe を使用します。
コードの大きなセクションを読むのが好きではない友達は、自分で考えることができます。完成したテスト プログラムは記事の最後に記載されています。
1. ファイルをアップロードするための php メソッド。
このメソッドは、クライアントから取得した $_FILES 変数である $file パラメーターを受け取り、名前変更されたファイル名を返します。アップロードが失敗した場合は、空の文字列が返されます。
phpコード
function UploadFile($file) {
$destinationPath = "./upload/";
if (!file_exists($destinationPath)){
mkdir($destinationPath, 07 77) }
/ /名前を変更します
$fileName = date(YmdHis) . iconv(utf-8 , gb2312 , Basename($file[name])); { return iconv(gb2312, utf-8, $fileName)
return; form タグ form は属性ターゲットを定義します。これについては次のように説明されます:
[pre]target 属性:
_blank ---------- 新しいウィンドウを開く
_self ---------- - self
_top ----- メインフレーム _parent -------- 親フレーム カスタム名 ----- フレーム構造に表示され、その名前のフレーム内にある
でリンクを開く この例では、iframe 名が使用されているため、フォームが送信されると、リンクは iframe で開かれます (つまり、正確には更新されません)。
更新なしである必要があります)
フォームが送信されると、startUpload メソッドが呼び出されます。もちろん、これは JS によって定義されます。
[/pre][pre]さらに、プロンプト情報を表示するためのスパンも定義します。コードは次のとおりです:
[/pre]xhtml コード