ホームページ > バックエンド開発 > PHPチュートリアル > ファイルダウンロードクラスを書きました。コメント歓迎

ファイルダウンロードクラスを書きました。コメント歓迎

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:56:15
オリジナル
877 人が閲覧しました

先ほど書いたファイルアップロードクラス。コメントは大歓迎です

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

<br>

<html><br>

<頭><br>

<title>ファイルアップロードフォーム</title></head><br>

<br>

<form enctype="multipart/form-data" action="index.php" method="post"><br>

ファイルを選択してください:<br><br>

<input name="upload_file" type="file"><br><br>

<input type="hidden" name="MAX_FILE_SIZE" value="30000"><br>

<input type="submit" value="ファイルをアップロード"><br />

</form><br>

</body><br>

</html><br>

<?php<br />

<br />

定義(UPLOAD_DIR,'D:\AppServ\www\test\upload\');<br />

定義(UPLOAD_WEB_DIR,'\test\upload\');<br />

<br />

クラスアップロード_ファイル_クラス{<br />

<br />

var $input_name; //アップロードされたファイルの名前<br />

var $max_size; //最大アップロード サイズ単位 kb<br />

var $allow_ext; //許可される拡張子<br />

var $err_info; //エラーメッセージ<br />

<br />

/**<br />

* コンストラクター<br />

*<br />

* @param $input_name<br />

* @param $max_size<br />

* @param $allow_ext <br />

* * @return <br />

​​*/<br />

function __construct($input_name,$max_size=1024,$allow_ext=array('jpg','png','gif')){<br />

<br />

$this->input_name = $input_name;<br />

$this->max_size = $max_size;<br />

$this->allow_ext = $allow_ext;<br />

$this->err_info_arr = array(<br />

<br />

1=>'アップロードされたファイルのサイズがiniの設定値を超えています',<br>

2=>'アップロードされたファイルのサイズがフォームに設定された最大値を超えています',<br>

3=>'ファイルの一部のみがアップロードされました',<br>

4=>'ファイルはアップロードされていません',<br>

5=>'アップロードされたファイルのサイズが許可された設定値を超えています',<br>

6=>'アップロードが許可されているファイルの種類ではありません',<br>

7=>'ディレクトリの作成に失敗しました。ディレクトリを作成する権限があるか確認してください',<br>

8=>'ファイルの作成に失敗しました。もう一度お試しください。 '、<br>

9=>'ファイルのアップロード中にエラーが発生しました。もう一度お試しください。 '<br>

<br>

);<br>

<br>

}<br>

<br>

/**<br>

*ファイルアップロード <br>

* * <br>

* @return $file_path_arr 正常にアップロードされたファイルのファイル パス配列<br>

​​*/<br>

パブリック関数アップロード(){<br>

<br>

グローバル $_FILES;<br>

if( !is_array($this->input_name) )$this->input_name = array($this->input_name);<br>

$file_path_arr = array();<br>

foreach ($this->input_name as $k =>$input_name ) {<br>

<br>

$__F = $_FILES[$input_name];<br>

if( !empty($__F) ){<br>

<br>

if( $__F['error'] > 0 ){<br>

<br>

//クライアントのアップロードでエラーが発生します<br>

$this->set_err($__F['error']);<br>

<br>

}<br>

それ以外{<br>

<br>

$__F['サイズ'] = $__F['サイズ']/1024;<br>

if( $this->max_size >= $__F['size'] ){<br>

<br>

if( $this->check_ext($__F['name']) ){<br>

<br>

$save_dir_info = $this->check_dir(); <br>

if( $save_dir_info ){<br>

<br>

$rand_num = date('Ymdhis').rand(0,10000000);<br>

$ext = $this->get_img_ext($__F['name']);<br>

$new_file_name = $rand_num.".{$ext}";<br>

$full_path = $save_dir_info['full_dir'].$new_file_name;<br>

$full_web_path = $save_dir_info['full_web_dir'].$new_file_name;<br>

if( !file_exists($full_path) ){<br>

<br>

if( move_uploaded_file($__F['tmp_name'],$full_path) ){ <div class="clear"></div>

ログイン後にコピー
関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート