由于PHP';允许url打开';背景

由于PHP';允许url打开';背景,php,fpdf,Php,Fpdf,我在生成带有图像的PDF文件时遇到了FPDF问题,请参见。最后我找到了这个问题的原因,但我不知道如何解决这个问题,有人能提出一些好的解决方案来处理这个问题吗 此问题是由于我的服务器的allow\u url\u fopen设置造成的,如果我启用该设置,则FPDF库将生成包含图像的PDF文件,并且没有任何错误 我将此FPDF库用于我的一个客户端站点,他(客户端)出于安全原因禁用了“允许url打开”设置,他对启用该设置不感兴趣。如何在不启用服务器设置的情况下解决此问题。您可以使用CURL打开远程资源

我在生成带有图像的PDF文件时遇到了FPDF问题,请参见
。最后我找到了这个问题的原因,但我不知道如何解决这个问题,有人能提出一些好的解决方案来处理这个问题吗

此问题是由于我的服务器的allow\u url\u fopen设置造成的,如果我启用该设置,则FPDF库将生成包含图像的PDF文件,并且没有任何错误


我将此FPDF库用于我的一个客户端站点,他(客户端)出于安全原因禁用了“允许url打开”设置,他对启用该设置不感兴趣。如何在不启用服务器设置的情况下解决此问题。

您可以使用CURL打开远程资源

$curlHandler=curl_init();

curl_setopt($curlHandler, CURLOPT_URL, "http://youurl.com");

curl_setopt($curlHandler, CURLOPT_HEADER,0);

curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, 1);

$output =curl_exec($curlHandler);

....

curl_close($curlHandler);

老实说,你最好的选择是找到另一种生成PDF的方法。FPDF已经有,并且似乎不再积极维护

其他一些纯PHP选项包括和,这两个选项似乎都得到了积极的维护和支持


您还应该考虑其他PDF生成技术。例如,有相当多的转换器,一些是商业的,一些是开源的,例如,使用WebKit渲染引擎(Safari和Chrome使用的引擎)创建PDF。

我遇到了类似的问题,在未设置allow\u url\u fopen的情况下对其进行了修复 1.将映像移动到承载脚本的服务器 2.假设图像是名为images的文件夹中的imagefile.gif
3.访问我的脚本中的图像执行此$\u服务器['DOCUMENT\u ROOT'].“images/imagesfile.gif”

是的,谢谢Luis Melgratti,CURL可能会解决此问题。我计划在使用FPDF将图像添加到PDF文件之前,使用CURL获取图像并将其存储在临时文件中。是的,Luis Melgratti,我已经使用CURL解决了这个问题。为了解决我的问题,我在本地系统中使用CURL创建了一个临时文件,并将该本地文件路径发送到FPDF函数。即使您的代码片段对解决此问题也没有帮助,在看到您的答案后,我有了一个解决问题的想法。再次感谢您的回复…感谢Charles,我也在考虑使用其他PDF生成器而不是FPDF库,但我的客户更喜欢使用FPDF。不管怎样,我会设法说服他(客户)去其他图书馆,你能给我推荐一个好的PDF生成器,这样我就可以替换FPDF了。我推荐的不少于上述三个:此外,如果您的客户机既告诉您要使用哪些库,又告诉您服务器必须具有哪些配置,尽管他告诉您要使用的库需要不同的配置,我希望您可能希望教育客户机或停止使用客户机。他或她可能比他或她值得的麻烦多。这一个对我有用,谢谢你发布解决方案。试着用这个来解决问题。