萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 如何使用php封裝類實現圖片上傳可直接引用

如何使用php封裝類實現圖片上傳可直接引用

 <?php

class image {

    /**
     *完成圖片的上傳
     *
     *@param array $file 待上傳的文件信息的數組,用於5個元素的那個數組
     *@return mixed 如果執行成功,返回上傳了的文件名,否則返回false
     */
    public function upload($file) {

        if($file['error'] == 0) {
            $allow_types = array('image/jpeg', 'image/pjpeg', 'image/png', 'image/gif');
            if(in_array($file['type'], $allow_types)) {
                $maxsize = 2000000;
                if($file['size'] <= $maxsize) {
                    //上傳
                    //需要將文件重命名,1,防止不規則的字符出現在文件名中,2,防止重名
                    //采用時間戳加隨機數的形式
                    //後綴名如何獲得?在原始文件名中獲得後綴名
                    //在文件名中最後一個點截取到最後就是擴展名
                    //strrchr(在哪個字符串中查,查的字符串);
                    $new_filename = time() . mt_rand(10000, 99999) . strrchr($file['name'], '.');

                    //移動
                    //此函數返回移動成功還是失敗
                    if(move_uploaded_file($file['tmp_name'],'images/'. $new_filename)) {
                        return $new_filename;
                    }
                }
            }
        }

        //只有一種情況返回文件名,其他全部返回false
        return false;
    }
}
?>

//-------------------------------------------------------------------------------------
<?php
header("content-type:text/html;charset=utf-8");
function __autoload($image){
        require_once($image.'.class.php');
}

    $image = new image();
    $user = $_POST['user'];
    $img = $_FILES['img'];
    //var_dump($img);
    $img = $image ->upload($img);
    mysql_connect('localhost','root','123');
    mysql_select_db('lyb');
    mysql_query('set names utf8');
    $q = "insert test_image(name,url) values('$user','$img')";
    //var_dump($q);
    $result = mysql_query($q);
                if($result){
                 
                   echo "添加成功.....<br /><br />";
                 }
                 else{
                   echo "添加失敗。。。";
                 }
?>

//--------------------------------------------------------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>圖片上傳類</title>
</head>
<body>
<form enctype="multipart/form-data"  method="post" action="images.php">
姓名:<input type="text" name="user" id="user"/><br>
圖片:<input type="file" name="img" id="img"/><br>
<input type="submit" value="提交"/>
</form>
</body>
</html>
copyright © 萬盛學電腦網 all rights reserved