我正在调试处理图像资源的PHP应用程序。我希望看到输出($dst_image
根据the PHP manual's jargon),但代码不在我可以简单地将其输出到浏览器的地方。最好的调试过程是将$dst_image
写入文件,并在浏览器中加载该文件?任何其他想法?PHP调试:如何查看图像资源信息
谢谢。
我正在调试处理图像资源的PHP应用程序。我希望看到输出($dst_image
根据the PHP manual's jargon),但代码不在我可以简单地将其输出到浏览器的地方。最好的调试过程是将$dst_image
写入文件,并在浏览器中加载该文件?任何其他想法?PHP调试:如何查看图像资源信息
谢谢。
参见Example #1 and #2,imagejpeg
将输出jpeg数据。
你需要做的几个吊环:图像header('Content-Type: image/jpeg');
在输出任何数据最后你应该得到这样的结果:
<?php
// Get new dimensions
// Resample
// etc...
// set header so browser can render image properly
header('Content-Type: image/jpeg');
// Output
imagejpeg($image, null, xxx);
// [or]
echo file_get_contents($pathToJpgImage);
<img src="data:image/jpeg;base64,..." />
编码的图像数据转换成HTML以base64。见php documentation on base64_encode for images。谢谢,但出于技术原因(输出已发送),图像不能简单地发送到浏览器,除非有办法否定以前输出的所有文本。 – dotancohen 2012-04-23 15:34:33
尽管我没有解决我提出的问题,但我接受这个作为公认的答案,因为它是一般情况的规范解决方案。如果这种解决方案不起作用,那么我们必须将图像写入文件,正如我所怀疑的那样。谢谢Alex。 – dotancohen 2012-04-23 16:38:52
@dotancohen我的道歉,从你的问题中我不清楚......看到我的答案的第二部分,它应该做的伎俩。 – Alex 2012-04-23 19:02:21
为什么你不能输出到浏览器?任何地方的'echo'都应该这样做。 – 2012-04-23 15:15:31
我无法输出到浏览器,因为其他代码已经将文本输出到浏览器。图像处理位发生在后台。如果应用程序使用输出缓冲,我可以做到这一点,但它也不能像这样重构。 – dotancohen 2012-04-23 15:32:25