ホームページ バックエンド開発 PHPチュートリアル iframe 更新ファイルなしアップロード実装プログラム_PHP チュートリアル

iframe 更新ファイルなしアップロード実装プログラム_PHP チュートリアル

Jul 13, 2016 pm 04:57 PM
iframe アップロード リフレッシュする 成し遂げる ビート 書類 プログラム ページ

更新せずに iframe ファイルをアップロードすることは、実際には現在のページでアップロード プログラム ページを開くことです。これは、アップロードのために iframe ページに配置し、同時に iframe ページを非表示にする点を除けば、ajax の部分更新に少し似ています。 。

最も独創的でシンプルな iframe アップロードの例:

この例では、iframe 名が使用されているため、フォームが送信されると、リンクは iframe で開かれます (つまり、正確には更新されません
) リフレッシュがないような気がします)
フォームが送信されると、startUpload メソッドが呼び出されます。これはもちろん JS によって定義されます。


フロントエンドアップロードページのindex.htmlは主にフォームとjsコールバック関数で構成されています。ファイルをアップロードする場合、フォームのメソッド属性と enctype 属性は次のコードと同じである必要があります。次に、ターゲット値を iframe の名前に設定して、ファイルを更新せずにアップロードできるようにします。

コードをコピー
コードは次のとおりです コードをコピー

<title>ファイルをアップロード</title>
<スクリプト> 関数 CallbackFunction(str){
アラート("アップロード成功"); }
</スクリプト> <form action="uploadfile.php" enctype="multipart/form-data" method="post" target="iframeUpload"> <iframe name="iframeUpload" src="" width="350" height="35" Frameborder=0 SCROLLING="no" style="display:NONE"></iframe> <input id="test_file" name="test_file" type="file"> <入力値="ファイルをアップロード" タイプ="送信"> </フォーム>




バックグラウンドアップロード処理ページのuploadfile.php、このコードはエラーや例外処理のない単純なアップロードコードです。アップロード コードが実行された後、親ページにアップロードが完了したことを通知する必要があります。そのため、このページでは親ページのコールバック関数 CallbackFunction が呼び出されます。この関数はパラメータを持つことができ、フォームは自分で定義できます。 。


コードは次のとおりです


<?php set_time_limit(0); if($_SERVER['REQUEST_METHOD']=='POST') { dirname($_SERVER['SCRIPT_FILENAME'])."/UploadTemp/" . $_FILES["test_file"]["name"]); echo "<script>window.parent.CallbackFunction();</script>"; }コードは次のとおりです
move_uploaded_file($_FILES["test_file"]["tmp_name"], ?>

上記は、更新せずに iframe を使用してファイルをアップロードする簡単な方法です。堅牢なプログラムが必要な場合は、改良する必要があります。

例 2

PHPはiframeを使用してファイルをアップロードし、親フレームに値を返します

実はツイさんもこのヘアスタイリング方法を使っています。たまたま子供靴のブログでこんなことが書かれていました。都合よく載せただけです。

コードをコピー


if($result)

{

echo "アップロードが成功しました! ファイル パスは次のとおりです: ".$file2; echo '<input name="img" type="hidden" value="'.$file2.'" id="img"/>'; echo'<script>parent.document.form1.img.value=document.getElementById("img").value;</script>'; }

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631565.html技術記事更新せずに iframe ファイルをアップロードすることは、実際には現在のページでアップロード プログラム ページを開くことです。ajax の部分更新に少し似ていますが、アップロードのために iframe ページにアップロードすると同時に...

ファイルが正常にアップロードされたら、ファイル パスを隠しフィールド (img) に書き込み、DOM 原則を使用して、隠しフィールドの値を親フレームの form1 の img テキスト ボックスに送信します。 さて、淡水を見てみましょう。
淡水エディタは tinyMCE を使用しているので、少し異なります。
私のフォームページ:

コードは次のとおりですコードをコピー
<script src="tiny_mce/tiny_mce.js" type="text/javascript"></script>

<スクリプトタイプ="text/javascript">
// O2k7 スキン
tinyMCE.init({
// 一般オプション
モード: 「正確」、
要素: 「コンテンツ」、
テーマ: 「上級」
スキン: "o2k7"、
言語: "zh"、
相対 URL : false,
//....一部をスキップ...

});

関数 InsertHtml(type,path){

type=type.toLowerCase()

スイッチ(タイプ){

ケース「.gif」:
thecode = '<img src="'+path+'" alt=""/>';
休憩;
ケース「.jpg」:
thecode = '<img src="'+path+'" alt=""/>';
休憩;
//...一部をスキップ...
デフォルト:
thecode = '<a href="'+path+'" target="_blank">ダウンロード</a>';
休憩;
}
tinyMCE.execCommand('mceInsertContent',true,thecode);
}
</スクリプト>

iframeもこのページにあります。

PHP ハンドラーで、私の iframe は次のように送信されます:

コードは次のとおりですコードをコピー
$pasteJS = "<script type=text/javascript>n";

$pasteJS .= "parent.InsertHtml("" . $file_ext . "","" . $upload_src . "");n";
$pasteJS .= "</script>n";
echo $pasteJS;

アップロードされたファイルは tinyMCE の編集ボックスに送られます。アップロードされたファイル パスも、データベースに書き込まれるまで、ユーザーデータを通じて一時的に保存されます。パスの保存は iframe に送信される PHP 処理ファイルにも含まれるため、ここでは多くを書きません。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

GoogleマップをiPhoneのデフォルト地図にする方法 GoogleマップをiPhoneのデフォルト地図にする方法 Apr 17, 2024 pm 07:34 PM

GoogleマップをiPhoneのデフォルト地図にする方法

Windows 11 で F5 更新キーが機能しない Windows 11 で F5 更新キーが機能しない Mar 14, 2024 pm 01:01 PM

Windows 11 で F5 更新キーが機能しない

Quark Cloud Disk から Baidu Cloud Disk にファイルを転送するにはどうすればよいですか? Quark Cloud Disk から Baidu Cloud Disk にファイルを転送するにはどうすればよいですか? Mar 14, 2024 pm 02:07 PM

Quark Cloud Disk から Baidu Cloud Disk にファイルを転送するにはどうすればよいですか?

0x80004005 エラー コードが表示された場合の対処方法 エディターは、0x80004005 エラー コードを解決する方法を説明します。 0x80004005 エラー コードが表示された場合の対処方法 エディターは、0x80004005 エラー コードを解決する方法を説明します。 Mar 21, 2024 pm 09:17 PM

0x80004005 エラー コードが表示された場合の対処方法 エディターは、0x80004005 エラー コードを解決する方法を説明します。

hiberfil.sys ファイルとは何ですか? hiberfil.sysは削除できますか? hiberfil.sys ファイルとは何ですか? hiberfil.sysは削除できますか? Mar 15, 2024 am 09:49 AM

hiberfil.sys ファイルとは何ですか? hiberfil.sysは削除できますか?

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Mar 24, 2024 am 11:27 AM

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか?

iPhoneに時計アプリがない:それを修正する方法 iPhoneに時計アプリがない:それを修正する方法 May 03, 2024 pm 09:19 PM

iPhoneに時計アプリがない:それを修正する方法

Kugou に独自の音楽をアップロードする簡単な手順 Kugou に独自の音楽をアップロードする簡単な手順 Mar 25, 2024 pm 10:56 PM

Kugou に独自の音楽をアップロードする簡単な手順

See all articles