• 新浪云SAE 关于部分函数不能使用的做法


    例如:file_put_contents("test.txt","Hello World. Testing!");

    可以这样写: 

    file_put_contents("saekv://test.txt", $response, FILE_APPEND);

    这样就可以了

    Wrappers

    PHP 自 4.3 版本以来,引入了 stream 流的概念,简单说,就是可以用通用的 IO 读写函数来操作各种资源,比如:tcp、udp、http、ftp 等等,这样做的好处是统一了接口的封装。这就像在 Unix 中将各种设备都抽象成文件,你可以使用 read/write 来操作各种设备,这样统一了操作接口,易于理解和使用。Wrappers 就是用来告诉 stream 流该如何处理(读写)特定的资源。

    Wrappers 使用非常简单,比如下面就是一个最常见一个使用 Wrapper 的语句:

    <?php
    $c = file_get_contents("http://sae.sina.com.cn");
    ?>

    这里就是使用 http:// Wrapper 实现抓取远程内容并赋值给一个变量的操作。

    由于新浪云的 PHP 运行环境并不提供持久性本地 IO 能力,所以 PHP 运行环境提供了提供了 Memcached,Storage,KVDB 的 Wrappers 来方便开发者迁移原有程序。

    如果你的原有程序中,使用了本地文件型缓存,那么你可以方便地使用 saemc:// 替换本地文件缓存的前缀。

    如果你的原有程序中,有文件存储的需求,你原来可能是通过 NFS 或者就是单机提供的存储服务,那么你可以方便地使用 saestor:// 或 saekv:// 来替换原来的存储前缀,注意存储的用途是用于文件落地的永久存储,任何缓存、中间临时交换数据的需求都是不适合使用 Storage 和 KVDB 存储的。

    <?php
    # 使用"saekv://"这个 Wrapper 将配置文件 config.php 的内容以"config.php"为 key 保存到 KVDB 中,
    # 然后用 include 引用了这个文件
    file_put_contents('saekv://config.php','');
    include 'saekv://config.php';
    ?>

    重要

    使用 Wrappers 请要先初始化相应的服务,上例中 KVDB 服务必须是开启的状态。

  • 相关阅读:
    (转)Ogre终于开始改进其对地形渲染的支持
    (转)让VS2005编辑器支持着色器语法高亮
    (转)天龙粒子系统改进
    (转)【行业专题】计算机世界《狗日的腾讯》报道
    (转)Ogre天龙八部2及鹿鼎记天空顶(Skydome)镜头眩光(Lens Flare)等效果的实现
    (转)“你的代码写的很烂”
    程序员能力矩阵
    Oracle操作表空间
    TCP/IP、HTTP、WEBSERVICE、SOAP、ICE都使用后才有感慨
    oracleserviceSID 在系统服务里丢失
  • 原文地址:https://www.cnblogs.com/xtmp/p/6484741.html
Copyright © 2020-2023  润新知