转自http://50vip.com/blog.php?i=55
本博客使用kindeditor4作为后台文章编辑和发布,kindeditor下载包中有关于php上传文件的实例,直接利用里面的例子就可以实现本地文件上传到服务器磁盘上,但是由于sina sae不允许磁盘操作,所以使用storage API进行上传文件的操作,并将ke中的upload_json.php文件中关于磁盘操作的所有代码注释,采用storage API,我最后的代码如下所示:
<?php /** * KindEditor PHP * * 本PHP程序是演示程序,建议不要直接在实际项目中使用。 * 如果您确定直接使用本程序,使用之前请仔细确认相关安全设置。 * */ require_once 'JSON.php'; $php_path = dirname(__FILE__) . '/'; $php_url = dirname($_SERVER['PHP_SELF']) . '/'; //文件保存目录路径 $save_path = $php_path . '../../res/upload/'; //文件保存目录URL $save_url = $php_url . '../../res/upload/'; //定义允许上传的文件扩展名 $ext_arr = array('image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'),'flash' => array('swf', 'flv'),'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'),'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2', 'gif', 'jpg', 'jpeg', 'png', 'bmp'), ); //最大文件大小 $max_size = 1000000; $save_path = realpath($save_path) . '/'; //有上传文件时 if (empty($_FILES) === false) { //原文件名 $file_name = $_FILES['imgFile']['name']; //服务器上临时文件名 $tmp_name = $_FILES['imgFile']['tmp_name']; // alert("请选择文件。" . $tmp_name); //文件大小 $file_size = $_FILES['imgFile']['size']; //检查文件名 if (!$file_name) { alert("请选择文件。"); } $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']); //获得文件扩展名 $temp_arr = explode(".", $file_name); $file_ext = array_pop($temp_arr); $file_ext = trim($file_ext); $file_ext = strtolower($file_ext); //检查扩展名 if (in_array($file_ext, $ext_arr[$dir_name]) === false) { alert("上传文件扩展名是不允许的扩展名。\n只允许" . implode(",", $ext_arr[$dir_name]) . "格式。"); } //新文件名 $new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext; //移动文件 $s = new SaeStorage(); $result = $s->upload('article', $new_file_name, $tmp_name); if(!$result) { alert("上传文件失败。"); } // @chmod($file_path, 0644); $file_url = $result; //$s->getUrl( 'redstones' , $new_file_name ); header('Content-type: text/html; charset=UTF-8'); $json = new Services_JSON(); echo $json->encode(array('error' => 0, 'url' => $file_url)); exit; } function alert($msg) { header('Content-type: text/html; charset=UTF-8'); $json = new Services_JSON(); echo $json->encode(array('error' => 1, 'message' => $msg)); exit; } ?>
相关推荐
简单的在新浪SAE应用的php代码,用于移动端简单服务器实用。移动应用开发
本扩展仅能在SAE环境中使用,但可跨SAE应用而使用其它应用的Storage。 配置 配置项 说明 SAE_ACCESS_KEY SAE Access Key(可选,默认为当前应用) SAE_SECRET_KEY SAE Secret Key(可选,默认为当前应用) SAE_APP_...
Emlog for SAE是适合新浪sae使用的emlog修改版。 模板部分:模板是兼容...上传图片,可以使用SAE的storage,同时,本程序占用了名为“upload”的domain,可以直接使用。已整合相册 和 highslide 2个 插件。 在新浪SAE
新浪SAE云计算入门攻略,主要讲解如何使用新浪SAE云,了解SAE云的架构,使用方法等
新浪sae音乐盘,可以上传下载mp3音乐
因为新浪SAE环境和普通环境的不同,许多SAE提供的服务不能在本地运行。往往我们写的代码不能在本地测试,每次必须上传到SAE上面进行测试。现在不用这么麻烦,SaeServer在本地模拟SAE服务。让程序也能在本地进行测试...
新浪sae微博技术,php架构,技术讨论
Emlog 5.3.1 for SAE 移植版是适合新浪sae使用的emlog修改版。 使用了sae的自有的KVDB技术,缓存速度更快,比起memcache占用豆豆资源更低,全站使用Storage存储文件,解决了sae本地不能读写的问题。 Emlog for SAE...
新浪SAE云存储仅能在SAE环境中正常使用,对它进行简单封装后,可以直接在Flask中使用,项目代码见GitHub上Flask-SaeStorage。 使用示例代码: 复制代码 代码如下: from flask import Flask from flask_saestorage ...
实现便捷的在本地 eclipse 上开发,在 sae 云服务器上部署和调试,实现在 eclipse 上编译 java web 项目的时候自动生成 war 包,然后再自动通过 svn 上传部署到新浪 sae 云平台的流程,1. 下载 Eclipse 4.2 or 4.3 ...
基于PHP的Emlog for SAE 适合新浪sae使用的个人博客系统 移植版.zip
PHP实例开发源码—Emlog for SAE 适合新浪sae使用的个人博客系统 移植版.zip PHP实例开发源码—Emlog for SAE 适合新浪sae使用的个人博客系统 移植版.zip PHP实例开发源码—Emlog for SAE 适合新浪sae使用的个人博客...
上传图片,可以使用SAE的storage,同时,本程序占用了名为“upload”的domain,可以直接使用。已整合相册 和 highslide 2个 插件。 在新浪SAE安装Emlog步骤和条件: 1.开启Mysql; 2.开启KVDB(存储缓存); ...
SAE(Sina 云计算)上可以用的...可以在SAE上直接使用,支持图片上传等。 源代码是修改其他网友的普通blog程序而来,只做了必要的修改,原结构保留 最新版本请去主页下载 http://blogdemo.sinaapp.com GAE版本可以访问 ...
新浪SAE免费空间安装教程 安装论坛教程
Emlog 5.3.1 for SAE 移植版是适合新浪sae使用的emlog修改版。使用了sae的自有的KVDB技术,缓存速度更快,比起memcache占用豆豆资源更低,全站使用Storage存储文件,解决了sae本地不能读写的问题。安装说明:1.在SAE...
您可能感兴趣的文章:Linux下Kafka单机安装配置方法(图文)Kafka 常用命令行详细介绍及整理kafka生产实践(详解)Kafka使用入门教程项目中应用Redis+Php的场景php项目打包方法部署PHP项目应该注意的几点事项分享PHP项目...
PHP实例开发源码—Emlog for SAE 适合新浪sae使用的个人博客系统 移植版.zip
新浪云计算SAE免费空间申请使用及域名.docx
新浪云计算SAE公开课 第3期 张磊主讲 介绍SAE各类服务及应用 本期视频制作不完善,PPT只在视频左上角的大屏幕上展示,不象前两集那样有全屏展示,根本看不清内容,讲师的话也听不清,没有课件这课没法听。