zend amf read "php://input"

// Include the Zend Loader
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);
$loader->suppressNotFoundWarnings(false);

// Create an instance of Amf Server
$server = new Zend_Amf_Server();
// Map PHP Class to Flash Class
$server->setClassMap('InventoryObject', 'InventoryObject');
$server->setClassMap('CManagedObjectReference', 'CManagedObjectReference');

/* GET DATA FROM FLEX CLIENT */
[color=red]$amf = file_get_contents('php://input');[/color]
// Remove first byte (new line)
$amf = substr($amf, 1);
// Create a Parser
$stream = new Zend_Amf_Parse_InputStream($amf);
// Deseriaize string into AMF3
$d = new Zend_Amf_Parse_Amf3_Deserializer($stream);
// Read as native PHP object
$data = $d->readObject();
// Serialize the object into binary format
$serializedObj = serialize($data->obj);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
//function: create_flv_file //purpose: 创建一个FLV文件,并返回其句柄 //input: // [IN] const char *path: 文件完整路径 // [IN] double width: 视频宽 // [IN] double height: 视频高 // [IN] int32_t video: 是否有视频 // [IN] int32_t audio: 是否有音频 //output: // 返回文件句柄,若创建失败,则返回NULL FILE *create_flv_file(const char *path, double width, double height, int32_t video, int32_t audio) { FlvHeader header; MetaTagHeader meta_header; MetaTagData meta_data; char buf[3] = "\x00"; uint32_t size = 0; FILE *fd = fopen(path, "wb"); if(!fd) return NULL; //写FLV文件头 memcpy(header.flag, "FLV", 3); header.ver = 0x01; if(video == 1) header.content = 0x01; //只有视频 else if(audio == 1) header.content = 0x04; //只有音频 header.header_size = htonl(9); header.tag_size = 0x00000000; fwrite(&header, sizeof(char), sizeof(header), fd); if(video == 1) { //写FLV文件ScriptTag meta_header.type = 0x12; write_size(buf, 51); memcpy(meta_header.data_size, buf, 3); meta_header.timestamp = 0; memset(&meta_header.stream, '\x00', 3); fwrite(&meta_header, sizeof(char), sizeof(meta_header), fd); //写FLV文件Metatagdata meta_data.amf1_type = 0x02; meta_data.string_size = htons(10); memcpy(meta_data.string1, "onMetaData", 10); meta_data.amf2_type = 0x08; meta_data.array_size = htonl(2); fwrite(&meta_data, sizeof(char), sizeof(meta_data), fd); size += write_number(fd, strlen("width"), "width", width); size += write_number(fd, strlen("height"), "height", height); size = htonl(62); fwrite(&size, sizeof(char), 4, fd); } return fd; } 这个代码中有什么问题
07-08

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值