ホームページ  >  記事  >  バックエンド開発  >  photoshop cs2 v9.0 緑の中国語版 複数のファイルをアップロードするための PHP スクリプト

photoshop cs2 v9.0 緑の中国語版 複数のファイルをアップロードするための PHP スクリプト

WBOY
WBOYオリジナル
2016-07-29 08:35:171109ブラウズ

翻訳者注: この記事の元の名前は「Creating a Multi-File Upload Script in PHP」です。個人的には、この記事は平均的に書かれており、コードもそれほど専門的ではないと思いますが、比較的短く、現時点ではこれより良い記事が見つからなかったので、翻訳してみました。実際、PHP マニュアルには、複数のファイルのアップロードについて説明したセクションがあり、比較対照することができます。記事内の一部の単語や文章が翻訳時に不快だったため、元の意味に沿ってある程度の修正が加えられました。私のレベルは限られているので、専門家の方からアドバイスをいただければ幸いです。
はじめに
PHP プログラマーとして、私はかつて、複数のファイルを同時にアップロードできるフォームを必要とするそのような顧客に遭遇しました。したがって、私はある晩 1 時間を費やして、このリクエストを完了するための最良かつ最も簡単な方法を見つけました。このチュートリアルでは、「for」ループ ステートメントがコア コードになります。
スクリプト 1: ユーザーがアップロードするファイルの数を設定できるようにします

<br></head> ; <br><form name="form1" method="post" action="uploadForm2.php"> <br> <p>同時にアップロードするファイルの数を入力してください。最大値は 9 です。 /p> <br> < p> "Submit"> <br></form> <br></html> 。このコードでは、uploadNeed コンポーネントの maxlength 属性を 1 に設定しているため、ユーザーが入力できる最大値は 9 です。もちろん、必要に応じてこの部分を変更できます。 <br>スクリプト 2: 動的フォームの作成 <br> さて、次のページを完了したら、全体の作業の半分が完了しました。このタスクを実行するには、for ループ ステートメントを使用します。 <br>uploadForm2.php <br><head> <br></head> <br><form name="form1" enctype="multipart / form-data" method="post" action="processFiles.php"> <br> <?php <BR> // 動的フォームを作成します<BR> $uploadNeed = $_POST['uploadNeed']; <br> for($x=0; $x<$uploadNeed;$x++){ <br> ?> <br> <input name="uploadFile<?php echo $x;?>" type="file" id="uploadFile<?php echo $x;? >" <br> "type" 属性を使用して HTML フォームを作成します。フォームの中央に PHP コードを挿入してループを完成させました。 $x を 0 に設定し、ループ数を目的の値 $uploadNeed (ユーザーが送信したばかりの値) に設定します。また、$uploadNeed の値を隠しフィールドに出力して、最終ページに渡せるようにします。 <br> これを行う目的は、変数$xの値を「name」属性の値「uploadFile」の末尾に追加することです。このようにして、各「name」属性値「uploadFile」の後に、最初のファイルを区別するための異なる番号が付けられます。 <BR>スクリプト 3: アップロードされたファイルを処理する<BR>これで、ファイルをアップロードする最後のステップを完了します<BR>processFiles.php <BR><?php <BR>$uploadNeed = $_POST['uploadNeed'] <BR>//ループを開始します<BR>for($x=0 ; $x<$uploadNeed;$x++){ <BR>$file_name = $_FILES['uploadFile'. $x]['name']; <BR>// ファイル名から特殊文字を削除します <BR>$file_name =tripslashes($file_name) ; <BR>$file_name = str_replace("'","",$file_name); <BR>$copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name); <BR>// コピーするかどうかを確認します。成功 <BR>if($copy){ <BR>echo "$file_name のアップロードに成功しました<br />"; <br>}else{ <br>echo "$file_name のアップロードに失敗しました<br />"; // ループを終了します <br> ?> <br> このスクリプトでは、まず、uploadForm2.php から $uploadNeed 変数を取得する必要があります。前のページと同様に、「for」ステートメントを使用してループを作成します。異なる場合は、ループ内で事前定義されたグローバル変数 $_FILES を使用する必要があり、それを $file_name 変数に渡します。 <br> 次に、stripslashesとstr_replace関数を呼び出して処理します。ファイル名には特殊文字が含まれる場合があるため、アップロード時の解釈エラーを防ぐためにストリップスラッシュ関数を使用します。 <br> 変数 $x を追加した方法に注目してください。 $_FILES では、$x が数値になります。こうすることで、プログラムはどのファイルを処理すべきかを知ることができます。 <br> コピー機能を使用すると、アップロードされたファイルを指定された現在の場所に実際にコピーし始めます。最後に、コピーが成功したかどうかを判断し、結果を画面に出力するための簡単なコードが追加されます。 <br>結論<br> この小さなスクリプトにより、複数のファイルを一度にアップロードする作業がより便利になると確信しています。次のヒントに従って、このスクリプトに関連するコードを追加してスクリプトを改善できます。 <br>ファイル名をMySQLデータベースに保存 <br>ファイルのサイズを取得してデータベースに保存 <br>アップロードに失敗したファイルのファイル名を保存する一時ファイルを作成し、プログラム実行後に再試行 <br>追加ファイルの一括削除機能 </p> <p> 上記は、photoshop cs2 v9.0 green 中国語版の内容を含む、photoshop cs2 v9.0 green 中国語版で複数のファイルをアップロードするための PHP スクリプトを紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。 </p> <p> </p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>声明:</span><div>この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。</div></div></div><div class="nphpSytBox"><span>前の記事:<a class="dBlack" title="TV シリーズのあらすじ紹介 Xue Pinggui と Wang Baochuan PHP キャッシュ テクノロジの紹介" href="https://m.php.cn/ja/faq/321227.html">TV シリーズのあらすじ紹介 Xue Pinggui と Wang Baochuan PHP キャッシュ テクノロジの紹介</a></span><span>次の記事:<a class="dBlack" title="TV シリーズのあらすじ紹介 Xue Pinggui と Wang Baochuan PHP キャッシュ テクノロジの紹介" href="https://m.php.cn/ja/faq/321229.html">TV シリーズのあらすじ紹介 Xue Pinggui と Wang Baochuan PHP キャッシュ テクノロジの紹介</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>関連記事</h2><em><a href="https://m.php.cn/ja/article.html" class="bBlack"><i>続きを見る</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ja/faq/2.html" title="正規表現内のすべての式記号 (概要)" class="aBlack">正規表現内のすべての式記号 (概要)</a><div class="clear"></div></li></ul></div></div><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!</p></div><div class="footermid"><a href="https://m.php.cn/ja/about/us.html">私たちについて</a><a href="https://m.php.cn/ja/about/disclaimer.html">免責事項</a><a href="https://m.php.cn/ja/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>