从PHP URL保存图像-返回空图像
我正在做一个小项目,从电子身份证中读取数据 值得一提的是,我正在使用LightOpenID PHP库从eID获取所有数据 现在我被困在试图保存显示在从PHP URL保存图像-返回空图像,php,html,image,curl,Php,Html,Image,Curl,我正在做一个小项目,从电子身份证中读取数据 值得一提的是,我正在使用LightOpenID PHP库从eID获取所有数据 现在我被困在试图保存显示在http://my-url.com/photo.php photo.php包含: 这些图像在index.php()和photo.php上都非常清晰可见 我已经阅读了一些类似的主题,并尝试了以下方法: 卷曲 文件内容 复制 甚至尝试了基本副本: copy( "http://my-url/photo.php", './photo/' . $filenam
http://my-url.com/photo.php
photo.php包含:
这些图像在index.php(
)和photo.php上都非常清晰可见
我已经阅读了一些类似的主题,并尝试了以下方法:
copy( "http://my-url/photo.php", './photo/' . $filename . '.jpg');
这三种方法都会在我想要的目录中创建一个empty.jpg文件
如果我需要提供任何额外的代码,请告诉我。
希望有人能指出我的错误终于找到了解决办法 我仅使用以下方法解码base64url一次:
function base64url_decodeOnce($base64url){
$base64 = strtr($base64url, '-_', '+/');
return ($base64);
}
这样,我就可以将$base64输出用于:
$data = 'data:image/jpeg;base64,' . $base64data .'\'';
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('./photo/' . $filename . '.jpg', $data);
终于找到了解决办法 我仅使用以下方法解码base64url一次:
function base64url_decodeOnce($base64url){
$base64 = strtr($base64url, '-_', '+/');
return ($base64);
}
这样,我就可以将$base64输出用于:
$data = 'data:image/jpeg;base64,' . $base64data .'\'';
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('./photo/' . $filename . '.jpg', $data);
我不确定,但要做到这一点,您不需要在curl中设置会话cookie,以便它知道如何设置会话并获取映像吗?
$filename
实际上应该包含什么?你使用它,但我看不到任何地方,它的定义。。。你有没有尝试过强制使用头文件?这是在同一个Web服务器上吗?通过卷曲服务器是否有这样做的理由,为什么不再次将映像从会话中拉出?$filename包含一系列由标识提供的数字。图像的名称类似于:93062339141.jpg。我将尝试设置cookies和强制标题。我会保持更新。你可以通过url传递文件名。例如,请使用url:。然后,您必须更新photo.php,以便它检查URL中是否提供了文件名。我不确定,但要做到这一点,您不需要在curl中设置会话cookie,以便它知道如何设置会话并获取图像吗?$filename
实际上应该包含哪些内容?你使用它,但我看不到任何地方,它的定义。。。你有没有尝试过强制使用头文件?这是在同一个Web服务器上吗?通过卷曲服务器是否有这样做的理由,为什么不再次将映像从会话中拉出?$filename包含一系列由标识提供的数字。图像的名称类似于:93062339141.jpg。我将尝试设置cookies和强制标题。我会保持更新。你可以通过url传递文件名。例如,请使用url:。然后您必须更新photo.php,以便它检查url中是否给出了文件名
function base64url_decodeOnce($base64url){
$base64 = strtr($base64url, '-_', '+/');
return ($base64);
}
$data = 'data:image/jpeg;base64,' . $base64data .'\'';
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
file_put_contents('./photo/' . $filename . '.jpg', $data);