<span class="unnamed3">ファイル送信ページが生成されたので、次のタスクは完了です: 送信されたファイルのコンテンツをサーバーに保存します。 <br><br> 以下では、この関数を実装するために 2 つのメソッドを使用します: <br><br>1. PHP を使用して保存します: <br>まず、2 つのパラメーターを持つファイル保存関数 fup() を定義します。 $filename: ファイルの内容 <br> $fname: ファイル名 (パスを含む) <br>残りは、ファイルをサーバーに順番に書き込むループを作成することです。ここで簡単に説明します: <br>PHP はアップロードされたファイルを次のように処理します: 送信されたファイル ボックスが file0 の場合、PHP に送信されたファイルの内容は変数 $file0 に保存され、ファイル名は $file0_name に保存されます。真ん中。このように、このループで行う必要があるのは、投稿ページで送信されたコンテンツを分解することです。実装プロセスについては、以下のコードを参照してください。 <br><br>fileup.php <br>------------------------------------- --- -------------------------------- <br><br> 関数 fup($filename, $fname) <br> { If($filename != "none") { <br> copy($filename,$fname); <br> unlink($filename); } <br> } <br> <br> for($i=0;$i { <br> $ffnn="ファイル".$i; <br> $ffnnname=$ffnn."_name"; 🎜> $ ffpath="パス".$i; <br> fup($ $ffnn,$$ffpath.$$ffnnname) //"../www/test/tmp/" <br> } <br> ?><br>------------------------------------------------------ ------- -------- <br><br>2. PERL を使用して次を保存します。 <br>その実装の原則は次のとおりです。ここでは詳細には触れません: <br><br>fileup.cgi (fileup.pl) <br>---------------- ------------------------ ---------------------------- ------- <br>#!/usr/bin/perl <br><br>CGI qw/:standard/; <br><br>if ($ENV{'CONTENT_TYPE'} !~ / multipart/form-data/) { <br> print "Cache-Control: no-cachenPragma: no-cachen" . <br> "Content-Type: text/htmlnn" . <br> "<html><body> ;Web ブラウザではファイルをアップロードできません。</body></html>"; <br> exit 0; <br>} <br><br><br>$cntfile=param('cnt') ; <br>print header; <br>#print "受信中です..."; <br><br>#$write ; www/test/tmp/'; <br><br>for ($i=0;$i<$cntfile;$i++ ){ <br> $paramfile = 'file'.$i; 'パス'.$i <br> <br> $write=param($parampath); <br> <br> ;<<<<<< lt;以下はカスタマイズプロセスです<br>サブアップファイル <br>{ <br> $maxdata = 512000; <br># $write = ' ../www/test/tmp/'; <br> $strRFname=reverse $xfile; <br> $intIndex=index($strRFname,''); <br> $strNetFname=scalar reverse $strNetFname; > <br> if((stat $xfile)[7]>$maxdata){ <br> print "ステータス: 411 サイズが許可されていません" . <br> "Content-Type: text/htmlnAllow: POSTnn" . > "<html><head><title>411 411 サイズは許可されていません</title></head><body><h1> 大きな問題が発生しました。もう一度お試しください。</h1>< /body><</html>n"; <br/> 0 を出る; <br/> } <br/> <br/> <br/> binmode $xfile; <br/> File::Copy を使用します。 <br/> copy($xfile,$writed.$strNetFname); <br/>} <br/><br/>sub g_head{ <br/> print '<table border=1 align=center>'; <br> print '<tr><tdcolspan=3 align=center>文件上传结果(アップロード結果)</td></tr>'; <br> print '<tr align=center>'; <br> print ' <td>SourceFile:</td>'; <br> print ' <td>DestFile:</td>'; <br> print ' <td>アップロード</td>'; <br> print '</tr>'; <br>} <br><br>sub g_body{ <br> print '<tr>'; <br> print ' <td>'.$xfile .'</td>'; <br> print ' <td>'.$writed.$strNetFname.'</td>'; <br> print ' <td>OK!</td>'; <br> print '</tr>'; <br>} <br><br>sub g_bott{ <br> print '</table>'; <br>} <br>------------------------------------------ ------------------------- <p style="width:100%;text-align:center;margin:10px 0"> <br> <br> </p> <p style="width:100%;text-align:center;margin:10px 0"> </p> <p class="clear"></p> </tr></span>