zoukankan      html  css  js  c++  java
  • 随手写一个图床,用来放置图片

    项目地址:https://gitee.com/chalkbox/vue_shop

    链接地址:http://vue.wuliwu.top/

    没有登陆接口,用户可以直接上传图片至服务器文件夹

    高清图片获取与数据库,数据库中存放了高清图片的链接地址,使用了七牛云存储链接

    后台PHP文件设置了上传图片的大小为2M

    高清图片可以点击跳转,获得链接地址,去掉链接地址的后缀就是原图

    附上php代码:

     1 <?php 
     2 header("Content-type:text/html;charset=utf-8");
     3 //接收数据
     4 $host = "localhost";
     5 $username = 'root';
     6 $password = 'root';
     7 $db = 'mywu';
     8 //插入数据到数据库
     9 //1.连接数据库
    10 $conn = mysqli_connect($host,$username,$password,$db);
    11 if (!$conn) {
    12     die('Could not connect: ' . mysqli_error($con));
    13 }
    14 $usersArr = [];
    15 mysqli_set_charset($conn,'utf8');
    16 $user_menu = "select * from test";
    17 //5.发送sql语句
    18 $res = mysqli_query($conn,$user_menu);   //结果集的资源
    19 //6.将结果集资源转换成数据
    20 // $row = $res->fetch_assoc();
    21   while($row = $res->fetch_assoc())
    22 {
    23     $userArr[] = $row;
    24 };
    25 $jsonencode = json_encode($userArr);
    26 echo $jsonencode;
    27 ?>
    左侧菜单栏展示,从数据库获取数据
     1 <?php
     2 if ((($_FILES["file"]["type"] == "image/gif")
     3 || ($_FILES["file"]["type"] == "image/jpeg")
     4 || ($_FILES["file"]["type"] == "image/jpg")
     5 || ($_FILES["file"]["type"] == "image/pjpeg")
     6 || ($_FILES["file"]["type"] == "image/png"))
     7 && ($_FILES["file"]["size"] < 2097152))
     8   {
     9   if ($_FILES["file"]["error"] > 0)
    10     {
    11     echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    12     }
    13   else
    14     {
    15     echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    16     echo "Type: " . $_FILES["file"]["type"] . "<br />";
    17     echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    18     echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
    19 
    20     if (file_exists("upload/" . $_FILES["file"]["name"]))
    21       {
    22       echo $_FILES["file"]["name"] . " already exists. ";
    23       }
    24     else
    25       {
    26       $arr=explode(".",$_FILES["file"]["name"]);    //根据点来把原文件名打散为数组
    27       $hz=$arr[count($arr)-1];    //返回数组中元素的数目,总数目减一得到数组中的末尾字符串从而得到后缀
    28       
    29       $randname=date("Y").date("m").date("d").date("H").date("i").date("s").rand(100, 999).".".$hz;
    30       move_uploaded_file($_FILES["file"]["tmp_name"],
    31       "../upload/".$randname);    //将文件重命名为时间字符串加后缀并存储
    32       
    33       //move_uploaded_file($_FILES["file"]["tmp_name"],
    34       //"upload/" . $_FILES["file"]["name"]);
    35       //echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
    36       }
    37     }
    38   }
    39 else
    40   {
    41   echo "Invalid file";
    42   }
    验证用户上传文件,上传到后台文件夹
     1 <?php
     2 $files1 = scandir("../upload");    //列出文件夹中的文件名和文件夹名,输出为一个数组.开头会有一个 . 和 ..
     3 $upArr = [];
     4 foreach($files1 as $A){                 //使用foreach循环出文件夹内的数组名
     5     if($A != "."&& $A!=".."){           //把 . 和 .. 过滤掉
     6         $arrs[] = array("name" => $A ,"img"=>$A);   //新建一个数组,数组元素为二维数组(二维数组的name值和img值均为维原数组的值)
     7     }
     8 }
     9 for($i=0;$i<count($arrs);$i++){
    10     $upArr[$i] = $arrs[$i]["img"];   //输出一个图片 图片地址为数组的 img 值
    11 }
    12 rsort($upArr);    //以降序对数组排序
    13 $jsonencode = json_encode($upArr);    //排序后原数组的变量不变,顺序改变
    14 //输出变量$jsonencode
    15 echo $jsonencode;
    16 ?>
    普通图片预览展示,展示文件夹内图片
     
    高清图片获取两种方式选其一,因为高清图片大小过大,建议放在七牛云/OSS等云存储内用第一种方法,方便用链接直接访问
    1:
     1 <?php 
     2 header("Content-type:text/html;charset=utf-8");
     3 //接收数据
     4 $host = "localhost";
     5 $username = 'root';
     6 $password = 'root';
     7 $db = 'mywu';
     8 //插入数据到数据库
     9 //1.连接数据库
    10 $conn = mysqli_connect($host,$username,$password,$db);
    11 if (!$conn) {
    12     die('Could not connect: ' . mysqli_error($con));
    13 }
    14 $usersArr = [];
    15 mysqli_set_charset($conn,'utf8');
    16 $user_menu = "select * from HDpic";
    17 //5.发送sql语句
    18 $res = mysqli_query($conn,$user_menu);   //结果集的资源
    19 //6.将结果集资源转换成数据
    20 // $row = $res->fetch_assoc();
    21   while($row = $res->fetch_assoc())
    22 {
    23     $userArr[] = $row;
    24 };
    25 $jsonencode = json_encode($userArr);
    26 echo $jsonencode;
    27 ?>
    高清图片地址,从数据库获取
     1 <?php
     2 $files1 = scandir("../HDpic");    //列出文件夹中的文件名和文件夹名,输出为一个数组.开头会有一个 . 和 ..
     3 $upArr = [];
     4 foreach($files1 as $A){                 //使用foreach循环出文件夹内的数组名
     5     if($A != "."&& $A!=".."){           //把 . 和 .. 过滤掉
     6         $arrs[] = array("name" => $A ,"img"=>$A);   //新建一个数组,数组元素为二维数组(二维数组的name值和img值均为维原数组的值)
     7     }
     8 }
     9 for($i=0;$i<count($arrs);$i++){
    10     $upArr[$i] = $arrs[$i]["img"];   //输出一个图片 图片地址为数组的 img 值
    11 }
    12 rsort($upArr);    //以降序对数组排序
    13 $jsonencode = json_encode($upArr);    //排序后原数组的变量不变,顺序改变
    14 //输出变量$jsonencode
    15 echo $jsonencode;
    16 ?>
    2:高清图片获取,从后台文件夹获取
  • 相关阅读:
    Medium | LeetCode 148. 排序链表 | 归并排序(递归)
    Hard | LeetCode 4. 寻找两个正序数组的中位数 | 二分法
    Medium | LeetCode 341. 扁平化嵌套列表迭代器 | 递归 | 栈
    Hard | LeetCode 312. 戳气球 | 递归+记忆化数组 | 动态规划
    如何删除万能输入法
    javaweb 怎么获取路径
    Controller 返回 json那些小事
    螺旋矩阵
    javaweb怎么使用html
    tomcat中文乱码
  • 原文地址:https://www.cnblogs.com/chalkbox/p/12175593.html
Copyright © 2011-2022 走看看