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

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

WBOY
WBOYオリジナル
2016-07-13 16:57:04930ブラウズ

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

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

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


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

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

ファイルをアップロード
<スクリプト> 関数 CallbackFunction(str){
アラート("アップロード成功"); }

<入力値="ファイルをアップロード" タイプ="送信">




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


コードは次のとおりです


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 ''; 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 を使用しているので、少し異なります。
私のフォームページ:

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

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

});

関数 InsertHtml(type,path){

type=type.toLowerCase()

スイッチ(タイプ){

ケース「.gif」:
thecode = '';
休憩;
ケース「.jpg」:
thecode = '';
休憩;
//...一部をスキップ...
デフォルト:
thecode = 'ダウンロード';
休憩;
}
tinyMCE.execCommand('mceInsertContent',true,thecode);
}

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

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

コードは次のとおりですコードをコピー
$pasteJS = "n";
echo $pasteJS;

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

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