<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
<title><![CDATA[十三博客]]></title> 
<atom:link href="https://blog.13log.cn/rss.php" rel="self" type="application/rss+xml" />
<description><![CDATA[NextTech下一代网络科技网站开发小程序开发APP开发]]></description>
<link>https://blog.13log.cn/</link>
<language>zh-cn</language>

<item>
    <title>实现 50MB 超大图片上传</title>
    <link>https://blog.13log.cn/php/2.html</link>
    <description><![CDATA[<h2>如何在 ThinkPHP 8 中安全实现 50MB 超大图片</h2>
<p>上传在现代 Web 开发中，处理 50MB 级别的超大图片（如高清设计原图、医疗医学影像等）是一项常见的需求。由于默认环境下服务器和框架都有严格的文件大小限制，直接上传会导致失败。本文将介绍如何在 ThinkPHP 8 (TP8) 中安全、稳定地实现 50MB 图片的上传。</p>
<h3>一、 突破基础环境限制</h3>
<p>大文件上传的第一步是调整服务器和 PHP 的基础配置，否则请求在到达 ThinkPHP 之前就会被拦截。</p>
<ul>
<li>修改 php.ini 配置</li>
</ul>
<pre><code class="language-ini">upload_max_filesize = 50M
post_max_size = 55M
memory_limit = 256M
max_execution_time = 300</code></pre>
<p>提示：post_max_size 必须大于 upload_max_filesize，并适当调大超时时间</p>
<h3>二、 ThinkPHP 8 后端代码实现</h3>
<p>在 TP8 中，建议使用内置的验证器（Validate）来对图片的大小和后缀进行严格校验，确保系统安全。</p>
<pre><code class="language-php">&lt;?php
namespace app\controller;

use app\BaseController;
use think\exception\ValidateException;
use think\facade\Filesystem;

class UploadController extends BaseController
{
    public function uploadImage()
    {
        // 1. 获取上传的文件
        $file = $this-&gt;request-&gt;file('image');
        if (!$file) {
            return json(['code' =&gt; 400, 'msg' =&gt; '请选择上传文件']);
        }

        try {
            // 2. 严格验证：限制 50MB  仅允许常见图片格式
            validate([
                'image' =&gt; [
                    'fileSize' =&gt; 55 * 1024 * 1024,
                    'fileExt'  =&gt; 'jpg,jpeg,png,gif,webp',
                    'fileMime' =&gt; 'image/jpeg,image/png,image/gif,image/webp'
                ]
            ])-&gt;check(['image' =&gt; $file]);

            // 3. 保存文件到本地存储（storage/topic 目录）
            $saveName = Filesystem::disk('public')-&gt;putFile('images', $file);

            return json([
                'code' =&gt; 200,
                'msg'  =&gt; '上传成功',
                'url'  =&gt; '/storage/' . $saveName
            ]);

        } catch (ValidateException $e) {
            // 验证失败异常捕获
            return json(['code' =&gt; 400, 'msg' =&gt; $e-&gt;getError()]);
        } catch (\Exception $e) {
            // 系统错误异常捕获
            return json(['code' =&gt; 500, 'msg' =&gt; '服务器内部错误：' . $e-&gt;getMessage()]);
        }
    }
}</code></pre>
<h3>三、 生产环境的优化建议</h3>
<p>在实际生产环境中，单次上传 50MB 的物理文件会极大消耗服务器带宽与内存，建议采取以下优化手段</p>
<p>前端分片上传：利用 JavaScript (如 WebUploader 或 Plupload) 将 50MB 图片切分成 2MB 的小块并发上传，后端接收后再进行合并，配合 TP8 路由可以实现断点续传。</p>
<p>直传云存储：通过后端生成签名，让前端直接将 50MB 图片上传至阿里云 OSS、腾讯云 COS 或七牛云，完全不占用 Web 服务器的带宽。</p>]]></description>
    <pubDate>Wed, 29 Jul 2026 00:50:34 +0800</pubDate>
    <dc:creator>十三</dc:creator>
    <guid>https://blog.13log.cn/php/2.html</guid>
</item>
<item>
    <title>欢迎使用十三博客</title>
    <link>https://blog.13log.cn/leisure/1.html</link>
    <description><![CDATA[<h2>打造你的开发直通车：欢迎来到源码分享基地</h2>
<p>在日常的开发工作中，你是否也曾为了寻找一个干净、无报错的后台框架而翻遍网络？<br />
是否也曾为了一个复杂的前端动画特效而连续熬夜？<br />
作为一名长期在一线摸爬滚打的开发者，我深知“不重复造轮子”对提升开发效率有多么重要。<br />
为了给广大同行、编程爱好者以及独立站长提供一个更纯净、更高效、更具实战价值的技术加油站，我的个人源码网站正式上线了！<br />
无论你是想寻找快速交付的商业模板，还是想通过优秀的开源代码提升自己的业务能力，这里都为你准备了现成的解决方案。</p>
<h2>我们的核心特色：为什么选择这里？</h2>
<p>市面上的源码网站琳琅满目，但常常伴随着广告繁多、代码版本老旧、甚至暗藏后门等问题。</p>
<p>在搭建这个网站之初，我就立下了三个硬性标准：</p>
<ul>
<li>绝对纯净，安全第一：站内所有上架源码均经过人工严格的本地运行测试与安全审计，彻底杜绝木马、暗链与恶意弹窗，确保开箱即用。</li>
<li>紧跟技术前沿：拒绝过时的陈旧代码。我们主打当前主流的技术栈（如 Vue 3、React、Spring Boot、Go、Python AI 等），确保源码符合现代开发规范。</li>
<li>完善的部署文档：每一套核心源码都配有保姆级的配置与部署教程，即便是新手也能按照步骤轻松跑通环境。</li>
</ul>
<h2>核心板块全景预览</h2>
<p>为了方便大家快速定位所需资源，网站针对不同的应用场景进行了清晰的细分：</p>
<h3>1. 商业项目与成套系统（快速交付）</h3>
<ul>
<li>内容：涵盖高颜值的企业官网、功能完善的跨境电商商城、多端通用的微信小程序、以及现代化大气的后台管理系统（CMS/Admin）。</li>
<li>特点：UI 设计精美，前后端分离架构，非常适合外包团队、独立开发者用于商业项目快速交付。</li>
</ul>
<h3>2. 核心技术组件与优质轮子（攻坚利器）</h3>
<ul>
<li>内容：各种高频使用的功能模块，如第三方支付接口集成、单点登录（SSO）解决方案、大文件分片上传组件、以及炫酷的前端可视化大屏特效。</li>
<li>特点：即插即用，帮你省去查阅冗长 API 文档的时间。</li>
</ul>
<h3>3. 精选开源实战练手项目（新手进阶）</h3>
<ul>
<li>内容：适合高分毕业设计或新手转行简历加分的实战项目，涵盖仿主流 App 的全栈开发、小型社群论坛、经典算法实现等。</li>
<li>特点：代码注释详尽，结构清晰，是阅读源码、理解设计模式的绝佳素材。</li>
</ul>
<h2>开发者使用承诺与安全指南</h2>
<p>在这里下载源码，你可以完全放心：</p>
<ol>
<li>清晰的授权标注：所有免费或开源源码均会明确标注其原作者及开源协议（如 MIT、Apache 2.0 等），严格尊重知识产权。</li>
<li>持续的迭代更新：对于站内的核心自研源码，我会根据技术版本的升级进行定期维护，修复已知 BUG。</li>
<li>技术交流社区：网站不仅是一个下载工具，更是一个互动平台。每一套源码下方都设有评论区与答疑板块，欢迎大家在这里交流优化心得。</li>
</ol>
<h2>结语</h2>
<p>写代码是一场孤独的修行，但分享能让这条路走得更宽、更远。<br />
这个源码网站不仅是我多年开发经验的结晶，更是一个希望能真正帮到大家的效率工具。<br />
欢迎收藏本站，把它加入你的浏览器书签。<br />
下次遇到技术卡点或需要快速产出时，不妨来这里转转，或许你要的答案早已有代码在此等候。</p>]]></description>
    <pubDate>Fri, 24 Jul 2026 13:31:10 +0800</pubDate>
    <dc:creator>十三</dc:creator>
    <guid>https://blog.13log.cn/leisure/1.html</guid>
</item>
</channel>
</rss>