image.html -
<img src="showImage.php?id=44"/>
&lt; - 这是我正在努力工作的代码。
showImage.php -
<?php echo ("showImage.php called"); ?>
&lt; - 这是我试图调用的php文件。
问题是.. img标签没有调用'showImage.php'打印出“showImage.php called。”。相反,它试图将showImage.php文件显示为图像:( ...并且不显示它应该是什么。我在这里做错了吗?
*注意:id = 44将用于其他东西......这里不是一个大问题。
谢谢。
答案 0 :(得分:2)
如果您确实在浏览器中访问该页面,我确信它会在浏览器中打印出showImage.php called
。但是,您指定该文件应该是HTML中的图像,并且浏览器正在尝试将其视为图像。当它获得text / html文件时,浏览器只显示图像无效,而不是打印文本。你的showImage.php需要实际输出一个图像,以便浏览器在你的文档中呈现它。否则,您必须手动访问该页面以查看它为调试输出的任何文本等。
总而言之, 调用你的文件,浏览器只是忽略了结果。除非您指定alt
属性,否则永远不会显示文字而非图片。
答案 1 :(得分:1)
<img/>
会尝试将事物显示为图像,这是它的目的; - )
您需要showImage.php
输出图像/图像数据。您可以使用GD2或imagemagick在PHP中动态执行此操作。
这是write text using GD2, from the PHP docs。
的示例<?php
// Set the content-type
header('Content-Type: image/png');
// Create the image
$im = imagecreatetruecolor(400, 30);
// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';
// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
答案 2 :(得分:0)
您需要使用showimage.php
中的GD库创建图像,并将该文件的标题设置为image/png
,或者设置为任何图像类型。