ホームページ  >  記事  >  php教程  >  同時に 1000 個のファイルをアップロードできます (2

同時に 1000 個のファイルをアップロードできます (2

WBOY
WBOYオリジナル
2016-06-21 09:04:07880ブラウズ
ファイル送信ページが生成されたので、次のタスクは完了です: 送信されたファイルのコンテンツをサーバーに保存します。

以下では、この関数を実装するために 2 つのメソッドを使用します:

1. PHP を使用して保存します:
まず、2 つのパラメーターを持つファイル保存関数 fup() を定義します。 $filename: ファイルの内容
$fname: ファイル名 (パスを含む)
残りは、ファイルをサーバーに順番に書き込むループを作成することです。ここで簡単に説明します:
PHP はアップロードされたファイルを次のように処理します: 送信されたファイル ボックスが file0 の場合、PHP に送信されたファイルの内容は変数 $file0 に保存され、ファイル名は $file0_name に保存されます。真ん中。このように、このループで行う必要があるのは、投稿ページで送信されたコンテンツを分解することです。実装プロセスについては、以下のコードを参照してください。

fileup.php
------------------------------------- --- --------------------------------

関数 fup($filename, $fname)
{ If($filename != "none") {
copy($filename,$fname);
unlink($filename); }
}

for($i=0;$i {
$ffnn="ファイル".$i;
$ffnnname=$ffnn."_name"; 🎜> $ ffpath="パス".$i;
fup($ $ffnn,$$ffpath.$$ffnnname) //"../www/test/tmp/"
}
?>
------------------------------------------------------ ------- --------

2. PERL を使用して次を保存します。
その実装の原則は次のとおりです。ここでは詳細には触れません:

fileup.cgi (fileup.pl)
---------------- ------------------------ ---------------------------- -------
#!/usr/bin/perl

CGI qw/:standard/;

if ($ENV{'CONTENT_TYPE'} !~ / multipart/form-data/) {
print "Cache-Control: no-cachenPragma: no-cachen" .
"Content-Type: text/htmlnn" .
"";
exit 0;
}


$cntfile=param('cnt') ;
print header;
#print "受信中です...";

#$write ; www/test/tmp/';

for ($i=0;$i<$cntfile;$i++ ){
$paramfile = 'file'.$i; 'パス'.$i

$write=param($parampath);

;<<<<<< lt;以下はカスタマイズプロセスです
サブアップファイル
{
$maxdata = 512000;
# $write = ' ../www/test/tmp/';
$strRFname=reverse $xfile;
$intIndex=index($strRFname,'');
$strNetFname=scalar reverse $strNetFname; >
if((stat $xfile)[7]>$maxdata){
print "ステータス: 411 サイズが許可されていません" .
"Content-Type: text/htmlnAllow: POSTnn" . >            "411 411 サイズは許可されていません

大きな問題が発生しました。もう一度お試しください。

< /body><n";  
0 を出る;  
}


binmode $xfile;  
File::Copy を使用します。  
copy($xfile,$writed.$strNetFname);  
}

sub g_head{
print '';
print '文件上传结果(アップロード結果)';
print '';
print ' ';
print ' ';
print ' ';
print '';
}

sub g_body{
print '';
print ' ';
print ' ';
print ' ';
print '';
}

sub g_bott{
print '
SourceFile:DestFile:アップロード
'.$xfile .''.$writed.$strNetFname.'OK!
';
}
------------------------------------------ -------------------------



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