Heim > Artikel > Backend-Entwicklung > 小弟我想问问。如何通过url获取图片,通俗点讲就是这么通过get方式获取图片
我想问问。怎么通过url获取图片,通俗点讲就是这么通过get方式获取图片?
公司的ios表示,他只能把图片封装成数据流,然后通过参数传过来,然后参数太长出问题了,传不过来了。
我想问,这是我的技术问题吗,很受打击啊,我是一名应届毕业生。
在学校四年都没听过能用gey方式传图的,是我见识太短吗?
我表示无能为力了,大家觉得我是来喷ios的话就喷我吧,顺便求个get方式的解决方法,跪谢。
------解决方案--------------------
确实没听过,等牛人,get最大才1024 字节,等牛人解决
------解决方案--------------------
没搞过IOS,但我猜肯定不是通过 get .
参考手册的: php://input
------解决方案--------------------
post还行吧?
网上很多现成的代码
<br><?php <br />class image { <br> const ROOT_PATH = './'; <br> const FAIL_WRITE_DATA = 'Fail to write data'; <br> //没有数据流 <br> const NO_STREAM_DATA = 'The post data is empty'; <br> //图片类型不正确 <br> const NOT_CORRECT_TYPE = 'Not a correct image type'; <br> //不能创建文件 <br> const CAN_NOT_CREATE_FILE = 'Can not create file'; <br> //上传图片名称 <br> public $image_name; <br> //图片保存名称 <br> public $save_name; <br> //图片保存路径 <br> public $save_dir; <br> //目录+图片完整路径 <br> public $save_fullpath; <br> <br> /** <br> * 构造函数 <br> * @param String $save_name 保存图片名称 <br> * @param String $save_dir 保存路径名称 <br> */ <br> public function __construct($save_name, $save_dir) { <br> //set_error_handler ( $this->error_handler () ); <br> <br> //设置保存图片名称,若未设置,则随机产生一个唯一文件名 <br> $this->save_name = $save_name ? $save_name : md5 ( mt_rand (), uniqid () ); <br> //设置保存图片路径,若未设置,则使用年/月/日格式进行目录存储 <br> $this->save_dir = $save_dir ? self::ROOT_PATH .$save_dir : self::ROOT_PATH .date ( 'Y/m/d' ); <br> <br> //创建文件夹 <br> @$this->create_dir ( $this->save_dir ); <br> //设置目录+图片完整路径 <br> $this->save_fullpath = $this->save_dir . '/' . $this->save_name; <br> } <br> //兼容PHP4 <br> public function image($save_name) { <br> $this->__construct ( $save_name ); <br> } <br> <br> public function stream2Image($data) { <br> //二进制数据流 <br> //$data = file_get_contents ( 'php://input' ) ? file_get_contents ( 'php://input' ) : gzuncompress ( $GLOBALS ['HTTP_RAW_POST_DATA'] ); <br> //数据流不为空,则进行保存操作 <br> if (! empty ( $data )) { <br> //创建并写入数据流,然后保存文件 <br> if (@$fp = fopen ( $this->save_fullpath, 'w+' )) { <br> fwrite ( $fp, $data ); <br> fclose ( $fp ); <br> $baseurl = "http://" . $_SERVER ["SERVER_NAME"] . ":" . $_SERVER ["SERVER_PORT"] . dirname ( $_SERVER ["SCRIPT_NAME"] ) . '/' . $this->save_name; <br> if ( $this->getimageInfo ( $baseurl )) { <br> echo $baseurl; <br> } else { <div class="clear"> </div>