【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类实现文件传输的技巧,需要的朋友可以参考下 立即下载

相关推荐

TI C2000 DSP CLA实战:用F28069的协处理器实现ADC采样与PWM相位实时联动控制

本文详细介绍了如何利用TI C2000系列DSP的CLA协处理器在TMS320F28069上实现ADC采样与PWM相位的实时联动控制。通过CLA的零周期上下文切换和硬件级任务触发特性,显著提升了电机控制和数字电源应用的实时性能,特别适用于需要亚微秒级响应的场景。

weixin_30932215的博客 3968

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

UE5新手必看:如何用蓝图系统快速打造赛车游戏(含Chaos Physics配置)

本文为UE5新手提供使用蓝图系统快速打造赛车游戏的完整指南,涵盖Chaos Physics配置、载具蓝图架构设计、控制逻辑实现等关键步骤。通过详细的实战案例和优化技巧,帮助开发者高效构建具备专业物理反馈的赛车游戏原型。

weixin_29001327的博客 388

TP框架-storage类分析

THINKPHP

u014270740的专栏 1306

多模态变体—ALIGN:高效的图像-文本学习

ALIGN 论文介绍了该模型的关键技术。无人工标注数据:使用互联网数据进行训练,不依赖人工清洗的数据集。高效的对比学习策略:采用大规模图像-文本配对数据,通过对比学习优化嵌入空间。支持零样本(zero-shot)学习:可以在没有专门训练的情况下执行多种任务,如分类、检索等。可扩展性强:ALIGN 采用高效的 CNN 或 Transformer 作为编码器,适用于大规模计算。

Azperk的博客 1219

HWSD全球土壤数据下载、处理与提取完整指南

全球尺度的科学研究与工程项目中,土壤数据是必不可少的基础底图,而HWSD(和谐世界土壤数据库)凭借其统一的分辨率与属性标准,成为农业区划、生态模型、土地利用变化和水资源评估等领域的通用数据源。深入理解其“栅格存编号、数据库存属性”的核心原理,是高效使用这套数据的关键。通过掌握MDB数据库结构、属性字段含义以及栅格与属性表的关联方法,研究者可以将原始数据转化为可用的研究底图。无论你是需要提取特定区域的土壤属性,还是进行面积统计与点位采样,合理的处理流程都能显著提升工作效率。本文从下载注册开始,一步步梳理数据清

weixin_29056781的博客 316

Thinkphp框架 _STORAGE_WRITE_ERROR_错误问题处理

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

༺墨༒眉༻ 2878

Python爬虫实战:用Selenium+ChromeDriver批量抓取政府网站政策文件(附完整代码)

本文详细介绍了使用Python的Selenium和ChromeDriver进行政府网站政策文件批量抓取的实战技巧。从环境配置、动态页面元素定位到分页机制破解和反爬虫策略,提供了完整的解决方案和代码示例,帮助开发者高效获取结构化政策数据。

weixin_42531710的博客 266

_STORAGE_WRITE_ERROR_ thinkphp报错问题原因

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

1343

cadence—virtuosoic617的使用技巧收集区

cadence使用

qq_33599939的博客 3万+

DC/DC开关电源学习笔记(十五)四开关Buck-Boost-FSBB升降压电路拓扑与工作原理

在DCDC领域,最为常见的是buck拓扑,其次是boost拓扑,而buck-boost的关注度相对较低。但是在电池供电场景日益普及的现在,升降压的需求在不断上升,现在更加关注buck-boost这个拓扑。而在所有buck-boost拓扑中,四开关buck-boost最受欢迎。四开关buck-boost的拓扑很简单,如下图。

小幽余生不加糖 6015

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

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

Love.Hope.Faith 1802

Python + Playwright:集成 Applitools 进行视觉回归测试(快速入门)

Applitools是一款基于人工智能的视觉验证测试工具,专门用于自动化和验证应用程序的用户界面(UI);Applitools使用视觉回归测试来检测应用程序界面的变化,确保 UI 在不同版本之间的一致性;Applitools的核心功能是通过视觉比较,检测 UI 元素的差异,而无需手动编写复杂的界面检查代码;通过集成Applitools,测试人员可以轻松捕捉和验证界面中的视觉差异,无论是在Web移动端或桌面应用的测试环境;

blues_C的博客 2923

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

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

weixin_42467373的博客 360

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Sae 上传文件到Storage

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

weixin_30345055的博客 116

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ThinkPHP框架完全解析六

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

C7 903

假人有限元模型

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

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

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

diaojin7963的博客 605

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

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

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学习】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、付费专栏及课程。

余额充值