爱意满满的作品展示区。
xiaoz
1.03D

又写了个简单的图床,欢迎使用(附源码)

  •  1
     
  •   xiaoz ·
    helloxz · Sep 30, 2016 · 10863 views
    This topic created in 3687 days ago, the information mentioned may be changed or developed.

    小 z 图床

    之前用贴图库 API 写的图床请访问:https://www.v2ex.com/t/234880,由于最近贴图库对相关政策做了调整,导致免费用户只能保存最近 6 个月的图片,于是干脆把代码修改了下,将图片保存在自己本地服务器。


    相关说明

    • 后端使用 PHP 开发,仅一个单文件upload.php,代码非常的简单,也只有纯粹的图片上传功能
    • 使用 Ajax 异步上传,因此您不用每次都去刷新页面
    • 上传成功后会自动生成 HTML 和 Markdown 链接,方便使用

    使用说明

    1. 直接将源码放到您站点的某个目录
    2. 修改一下upload.php这个文件,在 53 行附近,填写您自己的域名
    3. 最后访问您的域名测试

    其他说明

    演示图片:

    Supplement 1  ·  Mar 17, 2017
    新的演示地址:https://i.bk.tn/
    37 replies  •  2017-09-05 19:09:12 +08:00
    Satan4869
    Satan4869
    Sep 30, 2016 via iPhone❤️1
    1
    能加个七牛的上传功能吗?
    xiaoz
    xiaoz
    OP
    Sep 30, 2016
    2
    @Satan4869 可以通过七牛的镜像存储功能,自动将图片镜像到七牛,在 upload.php 填写七牛的地址就可以了。
    quietjosen
    quietjosen
    Sep 30, 2016 via iPhone
    3
    图床生生不息啊,最近 V 站都有好几个图床服务了。
    Satan4869
    Satan4869
    Sep 30, 2016❤️1
    4
    @xiaoz 没有那么简单吧? AK SK 这些不用加进去吗?
    Tink
    Tink
    Sep 30, 2016
    5
    要是能支持新浪微薄就好了
    xiaoz
    xiaoz
    OP
    Sep 30, 2016 via iPhone
    6
    @Tink 可惜微博图床没有提供 api
    xiaoz
    xiaoz
    OP
    Sep 30, 2016 via iPhone
    7
    @Satan4869 镜像功能不需要的,下次我把文档完善下。
    Tink
    Tink
    Sep 30, 2016
    8
    @xiaoz 貌似有从手机版微博里提取出来的
    xiaoz
    xiaoz
    OP
    Sep 30, 2016
    11
    @Tink 我还以为没有 API 呢, thanks
    crab
    crab
    Sep 30, 2016❤️1
    12
    文件类型前端判断,目录没限制执行权限。
    mhcyong
    mhcyong
    Sep 30, 2016 via iPhone
    13
    能整合成 WordPress 图床插件吗?
    xiaoz
    xiaoz
    OP
    Sep 30, 2016 via iPhone
    14
    @crab 后端也有判断文件类型,目录执行权限我改进一下,多谢。
    xiaoz
    xiaoz
    OP
    Sep 30, 2016 via iPhone
    15
    @mhcyong wp 本身就有很多图床插件了
    xiaoz
    xiaoz
    OP
    Sep 30, 2016
    16
    @crab 已经限制 php 执行权限了,我纳闷 0422239577.php 你是怎样上传上去的,我记得后端也有验证文件类型。
    wuhanpizi
    wuhanpizi
    Sep 30, 2016 via Android
    17
    测试看看,感谢楼主
    mingyun
    mingyun
    Sep 30, 2016❤️1
    18
    我习惯在 echo json_encode($re_data);后 die();
    ichou
    ichou
    Sep 30, 2016❤️1
    19
    if 后面有的有空格,有的没有,有的 { 换行 有的不换
    楼主的代码风格还可以精进,可以看看 PSR
    ichou
    ichou
    Sep 30, 2016❤️1
    20
    @mingyun echo + die 可以简写成 die(json_encode($re_data));
    guonning
    guonning
    Sep 30, 2016 via Android
    21
    就喜欢存在本地的
    a570295535
    a570295535
    Sep 30, 2016
    22
    现在的个人图床都不靠谱啊,没多久就消失了,
    用了之后,未来尽情后悔,
    在图床传一份还要自己备份一份,没意义啊
    还是新浪微博图库靠谱点啊
    xiaoz
    xiaoz
    OP
    Sep 30, 2016
    23
    @ichou 谢谢指导,我不是专业开发,好久没写代码了,看来还得多学习学习。
    xiaoz
    xiaoz
    OP
    Sep 30, 2016
    24
    @a570295535 的确如您所说,大公司的相对靠谱。主要还是自用,如果其他用户有需要也可以自己搭建。
    xiaozi
    xiaozi
    Oct 1, 2016❤️1
    25
    孩子,你太天真了;

    https://img.bsdev.cn/uploads/1610/0125024652.txt
    https://img.bsdev.cn/uploads/1610/0124097859.php

    你从 POST 过来的数据里面取 MIME; 这跟没限制类型有什么区别。

    curl -H "Content-Type: multipart/form-data" --form "[email protected];type=image/png;filename=../../222.txt" https://img.bsdev.cn/upload.php
    xiaozi
    xiaozi
    Oct 1, 2016❤️3
    26
    额,顺便可以记得判断下 MAGIC BYTES

    http://tool.lu/magicbytes
    xiaoz
    xiaoz
    OP
    Oct 1, 2016
    27
    @xiaozi 感谢您的建议,目前已经修正了对文件类型的判断。
    Myflos
    Myflos
    Oct 8, 2016❤️1
    28
    @xiaoz 加个一键复制按钮
    xiaoz
    xiaoz
    OP
    Oct 8, 2016
    29
    @Myflos 好的,感谢建议。我晚上的时候改下代码,把复制按钮加上去。
    xiaoz
    xiaoz
    OP
    Oct 9, 2016
    30
    @Myflos 已经加上一键复制按钮了,请测试。
    50vip
    50vip
    Oct 10, 2016
    31
    首先要说的就是,可以通过遍历目录获得别人所有人上传的图片~
    xiaoz
    xiaoz
    OP
    Oct 10, 2016
    32
    @50vip 这个并没有限制,既然是公共图床,那么图片自然是公开的,若有违规的图片发现后会被删除,感谢支持。
    qidouhai
    qidouhai
    Oct 16, 2016
    33
    @xiaozi 呦 这不是 n 年前某群的天子吗?
    BrightDawn
    BrightDawn
    Oct 27, 2016
    34
    @qidouhai 有故事?
    xustrive
    xustrive
    Dec 29, 2016
    35
    @xiaoz 能不能批量上传呢?
    xiaoz
    xiaoz
    OP
    Dec 29, 2016
    36
    @xustrive 抱歉,暂时不支持批量上传。
    vazo
    vazo
    Sep 5, 2017
    37
    不支持修改图片文件保存到上级目录文件么。例如主文件在 a.com/222/333 里面的话,修改文件路径为 a.com/tupian/,无法上传文件昵
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1289 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 21:14 · PVG 05:14 · LAX 13:14 · JFK 16:14
    ♥ Do have faith in what you're doing.