更新せずに iframe ファイルをアップロードすることは、実際には現在のページでアップロード プログラム ページを開くことです。これは、アップロードのために iframe ページに配置し、同時に iframe ページを非表示にする点を除けば、ajax の部分更新に少し似ています。 。
最も独創的でシンプルな iframe アップロードの例:
この例では、iframe 名が使用されているため、フォームが送信されると、リンクは iframe で開かれます (つまり、正確には更新されません
)
リフレッシュがないような気がします)
フォームが送信されると、startUpload メソッドが呼び出されます。これはもちろん JS によって定義されます。
フロントエンドアップロードページのindex.htmlは主にフォームとjsコールバック関数で構成されています。ファイルをアップロードする場合、フォームのメソッド属性と enctype 属性は次のコードと同じである必要があります。次に、ターゲット値を iframe の名前に設定して、ファイルを更新せずにアップロードできるようにします。
コードは次のとおりです | コードをコピー |
<スクリプト> 関数 CallbackFunction(str){ アラート("アップロード成功"); } スクリプト> |
move_uploaded_file($_FILES["test_file"]["tmp_name"], | dirname($_SERVER['SCRIPT_FILENAME'])."/UploadTemp/" . $_FILES["test_file"]["name"]); echo "<script>window.parent.CallbackFunction();</script>"; }?> |
上記は、更新せずに iframe を使用してファイルをアップロードする簡単な方法です。堅牢なプログラムが必要な場合は、改良する必要があります。
|
コードをコピー
if($result)
{echo "アップロードが成功しました! ファイル パスは次のとおりです: ".$file2; echo ''; echo'<script>parent.document.form1.img.value=document.getElementById("img").value;</script>'; }
ファイルが正常にアップロードされたら、ファイル パスを隠しフィールド (img) に書き込み、DOM 原則を使用して、隠しフィールドの値を親フレームの form1 の img テキスト ボックスに送信します。
さて、淡水を見てみましょう。
PHP ハンドラーで、私の iframe は次のように送信されます:
|