形式のファイル オブジェクト。たとえば、$_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 ファイル拡張子 (拡張子の前に「.」が付く)