如果你看到了这篇文章,我就不解释为什么还有必要写这个了。sae是不能直接写入的。图片要放在专门的Storage。
首先你需要下载thinkphp3.1的SAE引擎扩展包,扩展包麻烦百度,然后丢进thinkphp3.1
修改入口文件index.php为:
require './Core/ThinkPHP.php';
改为
require './Core/Extend/Engine/Sae.php';
上传文件用的操作类依然用thinkphp3.1封装好的就行。
然后在SAE后台的storage里建public文件夹,因为域名就是直接替换到这。
图片储存路径麻烦改下:
$model = $this->_get('model');
import('ORG.Net.UploadFile');
$upload = new UploadFile(); //
$upload->maxSize = 3145728; // 设置附件上传大小
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
$name = date('Y/m/d', NOW_TIME);
if (IS_SAE) {
//这个上传路径很重要,麻烦路过的注意一下:
$dir = '/Public/Uploads/'.$name.'/'; //public后面的目录随便取,没有会自动生成的
} else {
$dir = BASE_PATH . '/attachs/' . $name . '/';
}
if (!is_dir($dir)) {
mkdir($dir, 0755, true);
}
$upload->savePath = $dir; // 设置附件上传目录
if (!$upload->upload()) {
// 上传错误提示错误信息
var_dump($upload->getErrorMsg());
} else {
// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
上传完了可以直接在sae和storage上看到的。
还没有人抢沙发呢~