【ThinkPHP学习】ThinkPHP upload与SAE storage结合,实现文件上传

ThinkPHP3.2.3源码分析一之系统流程 ThinkPHP3.2.3源码分析一之系统流程ThinkPHP323源码分析一之系统流程 整体流程 一 初始化 文件加载 简单流程 indexphp ThinkPHPThinkPHPphp ThinkPHPLibraryThinkThinkclassphp ThinkPHPLibraryThinkStorageclassphp ThinkPHPLibraryThinkStorageDriverFil 阅读详情

RT.

我的版本是ThinkPHP 3.2版本。官方的文档在SAE的配置方面讲得非常笼统,“简约”,今天摸索了一下结合SAE storage实现文件上传功能,这里贴上我的解决代码:

首先在应用下面新建一个domain,名称为public,由于domain必须小写字母,所以你在本地的存储也最好是小写的字母开头,然后是否在domain中新建文件夹,这个依你个人需求来定,你可以定义好文件夹名称,storage在存储的时候假如没有这个文件夹会自动创建这个文件夹。

    public function upload(){      
         $config = array(
            'maxSize' => 3145728,
            'exts'=>array('jpg', 'gif', 'png', 'jpeg'),
             'rootPath'=>'/public/Uploads/', //文件在本地调试时上传的目录,其实也等同于public的domain下的Uploads文件夹
            'autoSub'=>false  
         );
        $upload = new \Think\Upload($config,'sae');// 实例化SAE文件上传类,最主要就是这里啦,官方文档里并没有将这点说清楚
        // 上传文件
        $info=$upload->uploadOne($_FILES['photo']);//设置单文件上传           
        if(!$info) {// 上传错误提示错误信息
            $this->error($upload->getError());  
        }else{// 上传成功
            //$this->success(' 上传成功! ');
            $data['imgUrl'] = "http://XXXXXX(具体拖一张图片出来看).stor.sinaapp.com/Uploads(文件夹)/".$info['savename'];  //生成文件目录路径
            $imgUrl = M('Case');
            $result = $imgUrl->create();
            if(!$imgUrl->add($data)){
                $this->error("添加图片失败!正在跳转",U('caseList'));
            }else{
                //dump($info);
                $this->success("添加图片成功!正在跳转",U('caseList'));
            }
            //dump($data);
        }
    }
希望能够帮到众TPers。

php实现SAE上使用storage上传与下载文件的方法 主要介绍了php实现SAE上使用storage上传与下载文件的方法,实例分析了基于SaeStorage类实现文件传输的技巧,需要的朋友可以参考下 立即下载

相关推荐

告别串口助手!手把手教你用Matlab直接读取STM32的传感器数据(附完整代码)

本文详细介绍了如何利用Matlab直接与STM32进行串口通信,实现传感器数据的实时采集与分析。通过完整的代码示例和系统架构设计,帮助开发者告别传统的串口助手工具链,打造高效、自动化的数据采集系统。文章涵盖了从硬件配置、通信协议设计到Matlab数据处理与可视化的全流程,特别适合嵌入式开发与数据分析结合的实践场景。

weixin_42629671的博客 430

Web学习 - SAE上传图片

在sae中上传图片其实比较简单,但是我现在还没找到ajax上传图片的办法,等我学会了再补充这篇博客。首先是html代码:<form action="add.php" method="post" enctype="multipart/form-data"> <div class="row"><div><span>照片:</span></div><input type="

累了就歇一会 1809

【从零搭建到实战运行】基于PX4-1.13与XTDrone的FAST-LIVO2 Gazebo仿真全流程解析

本文详细解析了从零开始搭建基于PX4-1.13飞控、XTDrone仿真框架与Gazebo的FAST-LIVO2无人机仿真平台的全流程。内容涵盖环境配置、Livox雷达插件定制、算法部署与参数调试,旨在帮助开发者快速构建完整的激光-惯性-视觉SLAM仿真环境,并解决集成过程中的常见问题。

weixin_29218509的博客 522

TP框架-storage类分析

THINKPHP

u014270740的专栏 1306

RFID射频识别技术介绍及简单应用

简单介绍RFID技术及其简单应用,后附简单门禁制作方法和代码

来者皆是客。 1万+

CCS20实战入门:第一个工程搭建示例

通过实际操作演示如何在ccs20中创建并配置首个开发项目,涵盖环境设置与基础调试步骤,帮助新手快速上手ccs20集成开发环境,提升嵌入式开发效率。

weixin_31185473的博客 888

Thinkphp框架 _STORAGE_WRITE_ERROR_错误问题处理

通过报错提示我们可以看到是缓存文件的问题,然后我们登录服务器查看缓存文件夹 如果是缓存文件Runtime 权限不足引起的,我们需要赋予它777权限,执行如下命令 chmod -R 777 Runtime 一般没有权限的这样就可以解决问题。   但是查看我们这个缓存文件是有777权限的 那报错就不是权限问题了,可能是空间不足造成的。 进入缓存文件夹,里面有一个Logs文件夹查...

༺墨༒眉༻ 2878

飞控算法-姿态解算之互补滤波

飞控乱入之姿态解算 姿态解算是通过读取各个传感器的数据进行融合最终得到当前飞行器的姿态,姿态通常用Euler角(Roll-Pitch-Yaw)来表示 姿态解算框架 姿态解算的数据源可来自于陀螺仪或加速度计,他们分别都可以得到当前姿态,但实际上他们都有各自的传感器性能的优缺点,需要取长补短,进行数据融合才能得到真实的姿态,这种方法简称 互补滤波 算法 传感器特性 互补滤波 姿态解...

GoolyOh的专栏 1万+

thinkPHP报‘_STORAGE_WRITE_ERROR_’错误的解决方法

上午运营在后台操作的时候,告诉我某个模块的编辑功能用不了。鉴于我本地可以运行,而且线上代码我也没更改过,就大概预计到应该是服务器上目录权限问题。 报错:_STORAGE_WRITE_ERROR_:./Cache/Cache/Admin/6791ef3ebfb234f2755746528fa5cc87.php 于是就到服务器上修改了Cache目录的权限:chmod -R 777...

diaojin7963的博客 605

【XCharts插件】5-2、从Excel中读取数据并更新图表案例(v3.0)

XCharts插件是一款基于UGUI的功能强大、易用、参数可配置的数据可视化图表插件。【Unity3D插件】XCharts插件完全教程《全网最全》-专栏文章目录【XCharts插件】5-1、从Json中读取数据并更新图表案例(v3.0)介绍了如何从Json文件中读取数据,并更新表格,这篇文章就介绍如何从Excel中读取数据,并更新图表吧。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1275

AgentScope实战训练营- Java从零开始快速构建Agent完整教程

本文基于阿里巴巴开源的 AgentScope Java 框架,从零开始手把手带你构建 AI 智能体应用。内容涵盖环境搭建、基础对话、工具调用、结构化输出、多Agent流水线、Hook可观测性、会话持久化、MCP协议、RAG知识库集成、多模态工具、技能系统、Spring Boot Web部署等21个核心模块,附带完整可运行代码示例,帮助Java开发者快速掌握Agent开发全流程。

program哲学 867

【ThinkPHP学习】ThinkPHP结合KindEditor SAE storage上传文件图片

RT. 最近将我的使用thinkphp开发的项目yi

Love.Hope.Faith 1802

05 - GRACE数据处理-球谐展开与球谐综合

GRACE数据处理-球谐展开和综合前面在介绍GRACE相关理论的时候提到过下面的公式,从公式形式上可以看出,面密度变化和球谐系数(CS)之间是能够相互转换的,那这个转化的过程可以称为球谐展开,简单理解就是将全球网格数据转化为球谐系数的过程。而球谐综合可以看作是球谐展开的逆过程,利用球谐系数计算到全球格网分布。

weixin_43339605的博客 1050

sae php 写文件权限,在新浪云搭建wordpress博客:解决uploads目录权限问题

由于新浪云不支持在代码目录进行IO操作,这意味着发表文章不能上传媒体文件。解决这个问题,就是将wordpress的uploads映射到SAE的Storage分布式文件存储服务。1. 问题描述尽管已经将wordpress本地源码上传到新浪云,也可以通过独立域名访问,详情见博文《在新浪云搭建wordpress博客:从本地源码到独立域名访问》,但使用过程会遇到一个严重问题,即没有uploads目录的写权...

weixin_42467373的博客 360

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Sae 上传文件到Storage

首先说一下几个地方: 1.上传使用ss.upload("domin域名","源地址","目标地址,也就是storage的地址");假设要上传到storage某一个详细的文件夹下目标地址写为"upload/"+filename;文件就上传到了upload文件夹下。 2.storage以下全部文件的路径是http://myapp-mybucket.stor.sinaapp.com/path...

weixin_30345055的博客 116

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

_STORAGE_WRITE_ERROR_ thinkphp报错问题原因

右键点击 这个目录.属性,安全,编辑.所有用户.全都给他写入权即可。与缓存相关,是因为空间不足,或Runtime没有访客写入权造成的。

1343

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ThinkPHP框架完全解析六

Hook的实现,已经通过tag,显示出页面的trace: Hook里面只有三个成语函数,无非就是将tag导入,然后在某个适当的位置,调用listen,然后listen就会对这个标签进行解析,如果存在这个标签,那么就调用这个标签。 这样,通过这种方法,第三方开发人员就可以非常容易地扩展thinkphp的功能了。 比如:接下来,我们要基于我们以前所写出的框架,然后实现在a

C7 903

sae php 读,sae storage:在PHP中使用Sina Sae提供的_php

本博客使用kindeditor4作为后台文章编辑和发布,kindeditor下载包中有关于php上传文件的实例,直接利用里面的例子就可以实现本地文件上传到服务器磁盘上,但是由于sina sae不允许磁盘操作,所以使用storage API进行上传文件的操作,并将ke中的upload_json.php文件中关于磁盘操作的所有代码注释,采用storage API,我最后的代码如下所示:/*** Kin...

weixin_33447647的博客 112

TP框架中/ThinkPHP/Library/Think/Storage/Driver/File.class.php 错误

第二种 存储文件的磁盘满了。

weixin_39896474的博客 1万+

thinkphp的_STORAGE_WRITE_ERROR_问题

今天服务器突然报这个问题(上图所示),在thinkphp的官网上也发现有朋友碰到这个问题,定位到应该是Runtime目录没有写权限,然后试着给Application下的Runtime目录 chmod -R 777 Runtime后,问题仍然存在,后面各种测试和上网查资料,仍然无法解决,最后在http://www.thinkphp.cn/bug/3110.html这里得到答案,马上看一下服务器硬盘,...

djl的专栏,blog.djlcx.cn好记 1万+

记录thinkphp迁移后的_STORAGE_WRITE_ERROR_问题

问题 今天服务器迁移,迁移之后突然报这个问题(上图所示),在thinkphp的官网上也发现有朋友碰到这个问题,定位到应该是Runtime目录没有写权限,然后试着给chmod -R 777 Runtime后,问题仍然存在,后面各种测试和上网查资料,仍然无法解决。 最后终于还是在csdn找到了答案,马上看一下服务器硬盘,结果空间全没了。在删除一些文件后,终于解决了这个问题。 解决 1、一般给Runtime 777权限即可 2、储存空间不足导致 ps:Runtime目录应该是框架自动创建的,如果空..

仿站、源码搭建/迁移技术博客 485

thinkphp出现大量_STORAGE_WRITE_ERROR_提示

不知道从什么时候开始thinkphp的根目录下,出现这样大量_STORAGE_WRITE_ERROR_提示。 后来发现是定时用脚本删除comon_runtime.php导致的,没有对此文件有读写权限。 第一种:权限不够 第二种:物理磁盘满了,写不进去 对目录或文件chmod -R 777 xxx 判断物理磁盘是否已满 程序员工具:https://www.toolnb.com/too...

这么多柠檬c 885

ThinkPHP3“_STORAGE_WRITE_ERROR_”错误

今天在开发项目的时候,发现刷新的话经常报“_STORAGE_WRITE_ERROR_”错误,刚开始怀疑是不是TP3过于老朽出现了问题?或者是公司服务器开了负载均衡导致的未知错误? 于是百度了下,找到了这篇文章:http://www.thinkphp.cn/bug/3110.html 于是果断上服务器看,df -lh 后,/分区竟然是100%!?excuse me ? 于是du -sm * 发...

leejianjun的博客 588

ThinkPHP _STORAGE_WRITE_ERROR_错误

在使用ThinkPHP的项目中,服务器突然间报错误::(_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/788524be80db1959c13fdsd024e25367a0.php错误位置:    FILE: /data/web/partTime/ThinkPHP/Library/Think/Storage/Driver/File.cl...

Future_One的专栏 2178
上一篇: 【ThinkPHP学习】ThinkPHP结合KindEditor SAE storage上传文件图片
下一篇: 【ThinkPHP学习】SAE的thinkphp的memcache开启
GiantChan
博客等级 码龄16年 76粉丝 108原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值