ホームページ  >  記事  >  バックエンド開発  >  2 台のコンピュータ間でファイルを転送するには? PHP のファイルアップロード機能が強化されました。

2 台のコンピュータ間でファイルを転送するには? PHP のファイルアップロード機能が強化されました。

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

形式のファイル オブジェクト。たとえば、$_FILES['doc']、$path は保存するパス、$type はアップロードを制限するタイプです (これは、たとえば、doc、docx、および形式のアップロードを制限するための配列です)の場合、このパラメータは array("doc",".docx") に入力できます。拡張子の前に「.」があるかどうかは必要ありません)。

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


function Upload($file,$path,$type){
$state = array(); ] = " true";
$alltype = "" // アップロードできるすべてのタイプは "/" で接続されます
$path = trim($path);
// $path の末尾に "/" を追加します
if(strlen (strrchr($path,'/')) <= 1){
$path .= "/";
//型の先頭に「.」を追加します
//すべての型を合成します文字列に変換するには、「/」を使用します。 connect
foreach($type as $key=>$typeone){
$type[$key] = $typeone = trim($typeone); (strlen (strchr($typeone,".")) != strlen($typeone)){
$type[$key] = ".".$typeone;}
$alltype .= $typeone.'/';
}
$alltype = substr($alltype,0,strlen($alltype)-1); //最後の「/」を削除
if(empty($file['name'])){
$state[' error' ] = "{$alltype} タイプのファイルはアップロードされていません!";
$state['errorid'] = 8; else {
if (!$file['error']);
$state ['name'] = $file['name'] = strrchr($state['name'],'.');
if(in_array($state[' type'] ,$type)){
$time = date("U");
$state['upname'] = $time.rand(1000,9999).$state['type'];名前付け
if (copy($file['tmp_name'],$path.$state['upname'])){
$state['time'] = date("U") //アップロード時間
$state; [' エラー'] = false;
return $state;
} else {
switch($file('error')){
ケース 1: $state['error'] = $state['name']。アップロードに失敗しました。ファイル サイズがサーバーの容量を超えています。 ";$state['errorid'] = 1;return $state;
ケース 2: $state['error'] = $state['name']."アップロードするファイルのサイズが上限を超えています。ブラウザ制限! ";$state['errorid'] = 2;return $state;
ケース 3: $state['error'] = $state['name']."アップロードに失敗しました。ファイルは部分的にしかアップロードされませんでした。 ";$state['errorid'] = 3;return $state;
ケース 4: $state['error'] = $state['name']."アップロードに失敗しました。アップロードするファイルが見つかりませんでした。 ";$state['errorid'] = 4;return $state;
ケース 5: $state['error'] = $state['name']."アップロードに失敗しました。サーバーの一時フォルダーが失われています。 ";$state['errorid'] = 5;return $state;
ケース 6: $state['error'] = $state['name']."アップロードに失敗しました。一時フォルダーへのファイルの書き込みエラーです。 ";$state['errorid'] = 6;return $state;
デフォルト: $state['error'] = $state['name']."アップロードに失敗しました。場所が間違っています。 ";$state['errorid'] = 10;return $state;
}
}
} else {
$state['error'] = $state['name']."アップロードに失敗しました!アップロードするファイルの種類と一致しません。 ({$alltype})";
$state['errorid'] = 10;
return $state;
}
}
}
?>


戻り値は配列です
$key value
error エラー詳細
errorid エラー ID (エラーが発生した場合のみの値)
type ファイル拡張子 (拡張子の前に「.」が付く)

upname アップロードされたファイル名
time アップロード時刻 (Unix エポック (1970-01-01 00 から開始)) :00) 今日までの秒数)
エラー タイプ
errorid error
false //アップロード成功
1 アップロードに失敗しました、ファイル サイズがサーバーの容量を超えました!
2 アップロードに失敗しました、アップロードされるファイル サイズがブラウザの制限を超えました!
3 アップロードに失敗しました。ファイルは部分的にしかアップロードされませんでした。
4 アップロードに失敗しました。アップロードするファイルが見つかりませんでした。
6 ファイルの書き込みに失敗しました。一時フォルダーです!
8 このタイプはアップロードされませんでした! //フォーム内のファイル オブジェクトが空です!
10 アップロードに失敗しました。場所が間違っています。
上記では、2 台のコンピュータ間でファイルを転送する方法を紹介しました。PHP のファイルをアップロードする拡張機能には、2 台のコンピュータ間でファイルを転送する方法が含まれています。


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