- 方法一:
- <?php
- $GLOBALS[‘HTTP_RAW_POST_DATA’]
- 最近在做Flash在线裁剪图片 生成图片的东西。
- 通过Flash POST 图片的二进制数据给php,由php生成图片保存。
-
- 开始想到用$_POST来接受。后来发现行不通。
- 查阅了很多资料 明白了所以然,这里做一个笔记:
-
- 于PHP默认只识别application/x-www.form-urlencoded标准的数据类型。
- 因此,对型如text/xml 或者 soap 或者 application/octet-stream 之类的内容无法解析,如果用$_POST数组来接收就会失败!
- 故保留原型,交给$GLOBALS[‘HTTP_RAW_POST_DATA’] 来接收。
-
- 另外还有一项 php:
-
- php:
-
- 我在Flash中使用JPGEncoder把BitMapData转成二进制,然后post给php
-
- php页面代码如下:
-
- <?php
- $filename=“teststream.jpg”;
-
- $xmlstr = $GLOBALS[HTTP_RAW_POST_DATA];
- if(empty($xmlstr)) $xmlstr = file_get_contents(‘php:
-
- $jpg = $xmlstr;
- $file = fopen(“cache/pic/”.$filename,“w”);
- fwrite($file,$jpg);
- fclose($file);
-
- 方法二:单张上传
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 方法三:多张上传
- for($i=1;$i<=5;$i++)
- {
-
- $target_path = “D:/wamp/www/strategy_www/uploads/products/”;
- $name = “userfile”.$i;
- if($_FILES[$name][‘name’]!=”)
- {
- $target_path = $target_path . basename( $_FILES[$name][‘name’]);
- if(move_uploaded_file($_FILES[$name][‘tmp_name’], $target_path))
- {
-
- echo “success”.$i;
- } else{
-
- echo “false”.$i;
- }
- }
- }
- ?>
php 二进制