`
dcj3sjt126com
  • 浏览: 1871237 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在PHP中使用Sina Sae提供的Storage服务进行博文图片上传

    博客分类:
  • PHP
阅读更多

转自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;
}

?>
分享到:
评论
2 楼 wzwahl36 2013-03-06  
你好,由于换域名的原因,请讲转载引用换成http://50vip.com/blog.php?i=55,感谢,麻烦了~(看到后可以删除该条评论)
1 楼 wzwahl36 2012-12-26  
啊哈哈,你也用sina sae吗?
http://wzwahl36.net

相关推荐

    调用JS_SDK上传图片到sae服务器

    在这个场景中,我们讨论的是利用JS SDK来实现图片的上传功能,目标是将图片上传到Sina App Engine(SAE)服务器。SAE是新浪提供的一个云服务平台,它允许开发者部署和运行Web应用,支持多种编程语言,包括PHP、Java...

    kindeditor在SAE上的上传实现(PHP)

    标题 "kindeditor在SAE上的上传实现(PHP)" 描述了如何在新浪应用引擎(SAE)上使用KindEditor编辑器进行文件和图片的上传功能。这个实现是通过利用SAE的Storage服务来处理文件存储的。下面我们将深入探讨相关的知识...

    新浪SAE云计算入门攻略

    新浪SAE(Sina App Engine)是新浪公司推出的一项云计算服务,它允许开发者在新浪提供的平台上构建和运行基于网络的应用程序。SAE的定位和谷歌的GAE(Google App Engine)类似,都提供了托管服务来简化开发者对于...

    免费上传个人点至新浪sae空间.pdf

    在本资源中,我们将详细介绍如何将个人网站上传到新浪SAE空间中。SAE(Sina App Engine)是新浪微博推出的云计算平台,提供了免费的服务器空间和流量,非常适合个人网站或小型项目。 注册新浪SAE帐号 首先需要注册...

    新浪云计算SAE免费空间申请使用及域名.docx

    图片和附件上传至SAE的Storage空间中。 新浪SAE的管理操作界面提供了多种功能,方便开发者进行各种操作。代码管理允许创建代码版本,Appconfig则让开发者能自定义Web服务器配置。这些特性使得新浪SAE成为一个相对...

    CI框架新浪SAE.zip

    同时,注意避免在代码中使用全局静态变量,因为SAE的多实例特性可能导致数据不一致。 7. **测试和调试**:部署完成后,进行充分的测试,确保所有功能在SAE环境中正常运行。SAE提供了调试工具,可以帮助定位和解决...

    新浪sae音乐盘

    新浪SAE(Sina App Engine)是新浪推出的一款基于云计算平台的应用开发与托管服务,它为企业和个人开发者提供了便捷的Web应用开发、部署以及管理的环境。这个“新浪sae音乐盘”很可能是一个利用新浪SAE平台搭建的...

    新浪sae云端服务器用php代码

    简单的在新浪SAE应用的php代码,用于移动端简单服务器实用。移动应用开发

    基于PHP的Emlog for SAE 适合新浪sae使用的个人博客系统 移植版.zip

    Emlog for SAE 是一个基于PHP的个人博客系统,特别为新浪SAE(Sina App Engine)平台进行了优化和移植。这个系统允许用户在新浪SAE上快速搭建自己的博客,无需自行购买服务器或进行复杂的服务器配置,只需在新浪云...

    Flask-SaeStorage:新浪SAE Storage Flask扩展,SAE Storage for Flask

    本扩展仅能在SAE环境中使用,但可跨SAE应用而使用其它应用的Storage。 配置 配置项 说明 SAE_ACCESS_KEY SAE Access Key(可选,默认为当前应用) SAE_SECRET_KEY SAE Secret Key(可选,默认为当前应用) SAE_APP_...

    新浪sae微博技术

    新浪SAE(Sina App Engine)是中国领先的云服务平台之一,由新浪微博推出。它主要面向开发者提供了基于PHP的应用程序托管服务。SAE平台允许开发者利用微博的强大功能来构建自己的应用和服务,特别是在社交网络领域...

    EmlogforSAE适合新浪sae使用的个人博客系统移植版v5.3.1

    Emlog for SAE是适合新浪sae使用的emlog修改版。 模板部分:模板是兼容...上传图片,可以使用SAE的storage,同时,本程序占用了名为“upload”的domain,可以直接使用。已整合相册 和 highslide 2个 插件。 在新浪SAE

    针对新浪SAE开发的图表程序_PHP_下载.zip

    【标题】中的“针对新浪SAE开发的图表程序”指的是使用PHP编程语言为新浪SAE(Sina App Engine)平台创建的一个数据可视化应用。新浪SAE是新浪公司提供的一种基于云计算的服务,它允许开发者在无需购买和维护硬件的...

    Sina SAE wordpress 3.4.2

    新浪SAE(Sina App Engine)是新浪云提供的一款基于云计算的服务,它为开发者提供了便捷的Web应用部署平台。WordPress,作为全球最受欢迎的开源博客系统,其3.4.2版本在SAE上的部署,不仅简化了传统服务器的配置过程...

    SINA SAE 本地开发环境

    【SINA SAE 本地开发环境】是一种便捷的开发工具,专为新浪云服务平台(SINA Cloud Application Engine,简称SAE)的开发者设计。通过在本地构建SAE开发环境,开发者可以在自己的计算机上进行测试、调试和开发工作,...

    sina云平台 sae springmvc框架

    在IT行业中,新浪云平台(Sina App Engine,简称SAE)是一个流行的云计算服务平台,它为开发者提供了一站式的应用托管解决方案。SAE是新浪公司推出的一款基于云计算技术的PaaS(Platform as a Service)产品,旨在...

    php实现SAE上使用storage上传与下载文件的方法

    在PHP编程中,特别是在开发基于云服务的应用时,如新浪SAE(Sina App Engine),存储和检索文件是一项常见的任务。本实例将详细介绍如何利用PHP在SAE平台上使用Storage服务来上传和下载文件。 首先,SAE Storage是...

    PHP实例开发源码—Emlog for SAE 适合新浪sae使用的个人博客系统 移植版.zip

    这个移植版使得用户可以在新浪SAE上便捷地搭建自己的博客,无需自行购买服务器或进行复杂的服务器配置。下面我们将深入探讨Emlog for SAE的关键知识点以及与PHP相关的技术。 1. PHP基础: PHP是一种广泛使用的开源...

    基于PHP的EmlogforSAE适合新浪sae使用的个人博客系统移植版源码.zip

    Emlog for SAE是一款专为新浪SAE(Sina App Engine)平台设计的个人博客系统,它是基于PHP语言开发的,充分利用了SAE的云存储和计算能力,为用户提供了一个简单、高效的博客搭建方案。本源码移植版是将Emlog原有的...

    Python Web框架Flask中使用新浪SAE云存储实例

    通过这种方式,Flask-SaeStorage库使得在Flask应用中使用新浪SAE云存储变得非常简单。你可以根据需求扩展这些基本操作,例如处理文件上传、下载、权限控制等。记住,为了确保代码的安全性,应当妥善保管你的SAE密钥...

Global site tag (gtag.js) - Google Analytics