怎样写一个文件上传?

怎样写一个文件上传?,第1张

你是做网站吧.首先对方的网站必须要开ftp服务才可以上传

你让对方把ftp的帐号和密码给你.然后你下载一个客户端flashfxp.

填上对方ftp的地址,用户名和密码.就可以上传了. *** 作跟自己电脑一样.很方便

把ceshi写到D盘跟目录下的xdwj.txt文件里面去。

易语言本身没有上传和下载文件的功能,要写入代码,才可以进行上传和下载文件,就需要把ceshi写到D盘跟目录下的xdwj.txt文件里面去,完成上传和下载。

易语言是一门以中文作为程序代码编程语言,其以“易”著称,创始人为吴涛。易语言早期版本的名字为E语言,也通常代指与之对应的集成开发环境。

方法一:当多文件上传表单中多个上传文件的name属性为“pic[]”形式时,也即表单为这种形式。

HTML代码:

1    <form action="" method="post" enctype="multipart/form-data">    

2    <input type="hidden" name="MAX_FILE_SIZE" value="">    

3    <input type="file" name="pic[]" /><br><br>    

4    <input type="file" name="pic[]" /><br><br>    

5    <input type="file" name="pic[]" /><br><br>    

6    <input type="file" name="pic[]" /><br><br>    

7    <input type="submit" value="upload"/>    

8    </form>    

PHP代码:

01    <?php    

02    //1.获取要上传文件的信息    

03    $up_info=$_FILES['pic']    

04         

05    $ob_path="../system"    

06         

07    $typelist=array("image/gif","image/jpeg","image/pjpeg","image/png") //定义运行的上传文件类型    

08         

09         

10    for($i=0$i<count($up_info['name'])$i++){ //foreach 循环处理多个文件上传    

11        //2.判断文件是否上传错误    

12         

13        if($up_info['error'][$i]>0){    

14            switch($up_info['error'][$i]){    

15                case 1:    

16                    $err_info="上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值"    

17                    break    

18                case 2:    

19                    $err_info="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值"    

20                    break    

21                case 3:    

22                    $err_info="文件只有部分被上传"    

23                    break    

24                case 4:    

25                    $err_info="没有文件被上传"    

26                    break    

27                case 6:    

28                    $err_info="找不到临时文件夹"    

29                    break    

30                case 7:    

31                    $err_info="文件写入失败"    

32                    break    

33                default:    

34                    $err_info="未知的上传错误"    

35                    break    

36            }    

37            continue($err_info)    

38        }    

39         

40         

41        //3.判断文件上传的类型是否合法    

42         

43        if(!in_array($up_info['type'][$i],$typelist)){    

44            continue('文件类型错误!'.$up_info['type'][$i])    

45        }    

46         

47        //4.上传文件的大小过滤    

48         

49        if($up_info['size'][$i]>1000000){    

50            continue('文件大小超过1000000')    

51        }    

52         

53         

54        //5.上传文件名处理    

55         

56        $exten_name=pathinfo($up_info['name'][$i],PATHINFO_EXTENSION)    

57         

58        do{    

59            $main_name=date('YmHis'.'--'.rand(100,999))    

60            $new_name=$main_name.'.'.$exten_name    

61        }while(file_exists($to_path.'/'.$new_name))    

62         

63         

64         

65        //6.判断是否是上传的文件,并执行上传    

66         

67        if(is_uploaded_file($up_info['tmp_name'][$i])){    

68         

69            if(move_uploaded_file($up_info['tmp_name'][$i],$ob_path.'/'.$new_name)){    

70                echo '文件上传成功!'    

71            }else{    

72                echo '上传文件移动失败!'    

73            }    

74        }else{    

75            echo '文件不是上传的文件'    

76        }    

77         

78    } //for循环的括号    

方法二:当多文件上传表单中多个上传文件的name属性为“pic,text,doc,pdf”形式时

也即表单为这种形式:

1    <form action="" method="post" enctype="multipart/form-data">    

2    <input type="hidden" name="MAX_FILE_SIZE" value="">    

3    <input type="file" name="pic" /><br><br>    

4    <input type="file" name="text" /><br><br>    

5    <input type="file" name="doc" /><br><br>    

6    <input type="file" name="pdf" /><br><br>    

7         

8    <input type="submit" value="upload"/>    

9    </form>    

01    //1.获取要上传文件的信息    

02    $up_info=$_FILES    

03         

04    $ob_path="..\system"    

05         

06    $typelist=array("image/gif","image/jpeg","image/pjpeg","image/png") //定义运行的上传文件类型    

07         

08         

09         

10    foreach($up_info as $k_name=>$value){ //用foreach循环 处理多个文件的上传    

11        //2.判断文件是否上传错误    

12         

13        if($up_info[$k_name]['error']>0){    

14            switch($up_info['error'][$i]){    

15                case 1:    

16                    $err_info="上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值"    

17                    break    

18                case 2:    

19                    $err_info="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值"    

20                    break    

21                case 3:    

22                    $err_info="文件只有部分被上传"    

23                    break    

24                case 4:    

25                    $err_info="没有文件被上传"    

26                    break    

27                case 6:    

28                    $err_info="找不到临时文件夹"    

29                    break    

30                case 7:    

31                    $err_info="文件写入失败"    

32                    break    

33                default:    

34                    $err_info="未知的上传错误"    

35                    break    

36            }    

37            continue($err_info)    

38        }    

39         

40         

41        //3.判断文件上传的类型是否合法    

42         

43        if(!in_array($up_info[$k_name]['type'],$typelist)){    

44            continue('文件类型错误!'.$up_info[$k_name]['type'])    

45        }    

46         

47        //4.上传文件的大小过滤    

48         

49        if($up_info[$k_name]['size']>100000){    

50            echo '文件大小超过**'    

51            continue    

52        }    

53         

54         

55        //5.上传文件名处理    

56         

57        $exten_name=pathinfo($up_info[$k_name]['name'],PATHINFO_EXTENSION)    

58         

59        do{    

60            $main_name=date('YmHis'.'--'.rand(100,999))    

61            $new_name=$main_name.'.'.$exten_name    

62        }while(file_exists($to_path.'/'.$new_name))    

63         

64         

65        //6.判断是否是上传的文件,并执行上传    

66         

67        if(is_uploaded_file($up_info[$k_name]['tmp_name'])){    

68         

69            if(move_uploaded_file($up_info[$k_name]['tmp_name'],$ob_path.'/'.$new_name)){    

70                echo '文件上传成功!'    

71            }else{    

72                echo '上传文件移动失败!'    

73            }    

74        }else{    

75            echo '文件不是上传的文件'    

76        }    

77         

78    } //for循环的括号    

方法三:先定义单个文件上传的函数,再循环调用这个函数,每次传入一个文件的上传信息,也可以到达多文件上传的目的,而且这种方式,更容易理解。

1    <form action="" method="post" enctype="multipart/form-data">    

2    <input type="hidden" name="MAX_FILE_SIZE" value="">    

3    <input type="file" name="pic1" ><br>    

4    <input type="file" name="pic2"><br>    

5    <input type="file" name="pic3"><br>    

6    <input type="submit" value="upload">    

7    </form>    

001    /*    

002    *单文件上传函数    

003    *@param array $up_info 记录上传文件信息的超全局数组    

004    *@param string $to_path 上传文件的目标路径    

005    *@param array $typlist 允许的文件类型    

006    *@param int $file_size允许的文件大小    

007    *@return string 上传失败,返回失败的原因,    

008    * http://yige.org/php/    

009    * 成功返回包括文件名的路径。    

010    */    

011         

012         

013    function upload_fun($up_info,$to_path,$typelist=array(),$file_size=2000000){    

014         

015        //1.判断文件上传是否错误    

016         

017        if($up_file['error']>0){    

018            switch($up_info['error']){    

019                case 1:    

020                    $err_info="上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值"    

021                    break    

022                case 2:    

023                    $err_info="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值"    

024                    break    

025                case 3:    

026                    $err_info="文件只有部分被上传"    

027                    break    

028                case 4:    

029                    $err_info="没有文件被上传"    

030                    break    

031                case 6:    

032                    $err_info="找不到临时文件夹"    

033                    break    

034                case 7:    

035                    $err_info="文件写入失败"    

036                    break    

037                default:    

038                    $err_info="未知的上传错误"    

039                    break    

040            }    

041         

042            return $err_info    

043            die()    

044        }    

045         

046         

047        //2.判断上传文件类型是否合法    

048         

049        if(count($typelist)>0){    

050            if(!in_array($up_info['type'],$typelist)){    

051         

052                $err_info='文件类型不合法!'.$up_info['type']    

053                return $err_info    

054                die()    

055            }    

056        }    

057         

058        //4.判断上传文件大小是否超出允许值    

059         

060        if($up_info['size']>$file_size){    

061         

062            return $err_info='文件大小超过'.$file_size    

063            die()    

064        }    

065         

066        //5.上传文件重命名    

067         

068        $exten_name=pathinfo($up_info['name'],PATHINFO_EXTENSION)    

069         

070        do{    

071            $main_name=date('YmHis'.'--'.rand(100,999))    

072            $new_name=$main_name.'.'.$exten_name    

073        }while(file_exists($to_path.'/'.$new_name))    

074         

075        //6.判断是否是上传的文件,并移动文件    

076         

077        if(is_uploaded_file($up_info['tmp_name'])){    

078         

079            if(move_uploaded_file($up_info['tmp_name'],$to_path.'/'.$new_name)){    

080         

081                $err_info=$to_path.'/'.$new_name    

082                return $err_info    

083                die()    

084            }else{    

085         

086                return $err_info='上传文件移动失败!'    

087                die()    

088         

089            }    

090        }else{    

091         

092            return $err_info='这个文件不是上传文件!'    

093            die()    

094        }    

095         

096    }    

097         

098    //函数使用方法如下    

099         

100    $multi_info=$_FILES //接收$_FILES的全部上传信息    

101         

102    $to_path='system' //上传文件的目标路径    

103         

104    foreach($multi_info as $name=>$up_info){ //foreach 遍历$multi_info    

105         

106        $err_info=upload_fun($up_info,$to_path) //调用单文件上传函数    

107         

108        p($err_info) //输出返回信息;    

109         

110    }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11527184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存