脚本宝典收集整理的这篇文章主要介绍了如何通过PHP获取图像/ png内容,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个PHP文件(catcher.PHP),它是转发图像的收件人. Post.PHP,将上传的图像发布到catcher.PHP的PHP文件如下:
<?PHP $img = imagecreatefrompng($_FILES['myfile']['tmp_name']); imagepng($img); $opts = array( 'http'=>array( 'method'=>"POST",'content'=>$img,'header'=>"Content-Type: image/png\r\n" ) ); $context = stream_context_create($opts); file_get_contents( "http://localhost/catcher.PHP",false,$context); ?>
Post.PHP从发布为multipart / form-data的网页上获取文件很好,但是我不确定如何访问catcher.PHP中的image / png内容.
我的问题是,在catcher.PHP中,我如何访问图像内容?我尝试过$_POST [‘content’]并获得以下错误:“Undefined index:content”.所以我知道我不是在寻找正确的数据.是否有一个特定的超全局变量,如$_POST或$_REQUEST,我可以使用它来访问已发布的图像内容,还是有其他解决方案?
解析度
我能够使用以下catcher.PHP代码找到我要查找的结果:
$input = fopen("PHP://input","+r"); $destination = fopen($target_path,'w'); stream_copy_to_stream($input,$destination); fclose($input); fclose($destination); ?>
整个imagepng()位无论如何都是无用的 – 您将PNG解码为内存中表示,然后再次尝试重新编码为PNG.毫无意义的内存浪费,因为文件已经存在于磁盘上.你可以完成以下任务:
<?PHP if ($_FILES['myfile']['error'] !== UPLOAD_ERR_OK) { die("Upload Failed wITh error code " . $_FILES['myfile']['error']); } $opts = array( 'http'=>array( 'method'=>"POST",'content'=> file_get_contents($_FILES['myfile']['tmp_name']),'header'=>"Content-Type: image/png\r\n" ) ); $context = stream_context_create($opts); file_get_contents( "http://localhost/catcher.PHP",$context);
话虽这么说,你也没有做正确的POST文件上传.为了实现这一点,您必须使用< input type =“file”>实际模拟完整的HTML表单. PResent,和enctype =“multipart / form-data”等等.您所做的只是将原始PNG发送到服务器.
您可以通过在catcher脚本中读取PHP://输入来检索它.
以上是脚本宝典为你收集整理的如何通过PHP获取图像/ png内容全部内容,希望文章能够帮你解决如何通过PHP获取图像/ png内容所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。