码迷,mamicode.com
首页 > Web开发 > 详细

felayman——PHP中图片上传到服务器

时间:2014-06-15 13:32:41      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:des   style   java   http   ext   color   

1.upload_file.php

<?php

    //该文件负责获取上传的图片的扩展名和随机生成文件名

    header("content-type:text/html;charset=utf-8");

    /**

     * 获取文件扩展名

     *Enter description here ...

     * @param unknown_type $filename

     */

    function getFileName($filename){

       //strrchr— 查找指定字符在字符串中的最后一次出现

       return  substr(strrchr($filename,‘.‘), 1);

    }

    /**

     * 随机生成n位字符串

     * Enterdescription here ...

     * @param unknown_type $num

     */

    function rand_str($num){

    $str = "qwertyuioplkjhgfdsazxcvbnmQAZWSXEDCRFVTGBYHNUJMIKOLP1234567890";

    $str_len = strlen($str)-1;

    //echo$str_len;

    $s=‘‘;

       for ($i = 0; $i < $num; $i++) {

           $s.=$str[rand(0,$str_len)];

       }

       echo $s;

    }

?>

2.index.html

<formaction="upload_file.php"method="post">

       <inputtype="filename="file1"/>

       <inputtype="submitvalue="上传"/>

    </form>

3.deal_upload.php

<?php

    header("content-type:text/html;charset=utf-8");

    //引入获取上传文件的名称已经生成文件名的函数lib

    require ‘upload_file.php‘;

    //设置文件要保存的目录

    $upload_dir = "files/";

    if(!file_exists($upload_dir)){

        mkdir($upload_dir);

    }

    //设置运行上传的文件类型

    $type =array(‘jpg‘,‘png‘,‘gif‘,‘jpeg‘);

    //in_array — 检查数组中是否存在某个值

    if(!in_array(strtolower(getFileName($_FILES[‘file‘][‘name‘])), $type)){

        //implode,将数组联合成一个字符串

        $text = implode(‘,‘, $type);

        echo "<script>alert(‘文件类型只允许是{$text}‘);window.location=‘index.html‘;</script>";

    }else{

        //获取文件名称

        $filename = explode(‘.‘, $_FILES[‘file‘][‘name‘]);

            $filename[0] =rand_str(10);

            $name =implode(‘.‘, $filename);

            $uploadfile=$upload_dir.$name;

        //is_uploaded_file — 判断文件是否是通过 HTTP POST上传的

        if(is_uploaded_file($_FILES[‘file‘][‘tmp_name‘])){

            //move_uploaded_file— 将上传的文件移动到新位置

            if(move_uploaded_file($_FILES[‘file‘][‘tmp_name‘],$uploadfile)){

                $file_path =  getcwd().‘\\‘.$uploadfile;           echo "<center> 您的文件上传完毕,上传图片预览:</center>";

                echo "<img src=‘$uploadfile‘/><br/>";

                echo "<a href=‘javascript:history.go(-1)‘>继续上传</a>";

            }else{

                echo "上传失败";

            }

        }

    }

?>

felayman——PHP中图片上传到服务器,布布扣,bubuko.com

felayman——PHP中图片上传到服务器

标签:des   style   java   http   ext   color   

原文地址:http://blog.csdn.net/u012332735/article/details/30837381

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!