当文件是动态图像文件时,PHP imagecreatefrompng(file) 失败?

发布于 2024-10-15 06:31:29 字数 432 浏览 2 评论 0原文

是否可以将 imagecreatefrompng() 与返回动态 png 图像的 php 文件一起使用?

例如。

<?php
 $IM = imagecreatefrompng('image.php?var=1');
?>

其中 image.php 看起来像:

<?php
 // code to generate image
 header("content-type: image/png");
 imagepng ( $OUTPUT );
?>

目前我收到“无法打开流”错误 - 这可以完成吗?如果没有,有什么快速的方法吗?简单的解决方法? (这不涉及使用 image.php 保存 .png 文件以供脚本检测。)

谢谢,

Chris

Is it possible to use imagecreatefrompng() with a php file that returns a dynamic png image?

eg.

<?php
 $IM = imagecreatefrompng('image.php?var=1');
?>

where image.php looks something like:

<?php
 // code to generate image
 header("content-type: image/png");
 imagepng ( $OUTPUT );
?>

At the moment I'm getting a "failed to open stream" error - can this be done? If not, are there any quick & easy workarounds? (that don't involve using image.php to save a .png file for the script to detect instead.)

Thanks,

Chris

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

微暖i 2024-10-22 06:31:29

查询参数 ?var=1 仅在通过 http 请求资源时有效,而在通过文件系统请求资源时无效。为此,您必须指定完整的 URL:(

<?php
 $IM = imagecreatefrompng('http://localhost/image.php?var=1');
?>

如果您的 PHP 配置为允许这样做)

但是,通常更理想的方法是直接包含 image.php 并传递 var 使用普通变量。这会为您节省一个 http 请求,即使该请求是在本地发出的,也会生成一个新的 PHP 进程。

Query parameters ?var=1 work only when requesting a resource through http, not through the file system. To do this, you would have to specify a full URL:

<?php
 $IM = imagecreatefrompng('http://localhost/image.php?var=1');
?>

(If your PHP is configured to allow this)

However, the usually much more desirable way would be to include image.php directly and pass var to it using a normal variable. That saves you a http request that, even if made locally, spawns a new PHP process.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文