我想要显示两个.png文件以及由Perl动态生成的html页面中的一些文本。在一个完美的世界中,这将是一个3列布局,第一列中的文本和第二列和第三列中的两个.png文件。我不断遇到的问题是需要其中一个标签:
print "Content-type: image/png\n\n";
print "Content-type: text/html\n\n";
我只能在html中包含一个,这意味着我只能显示文本或图像,但不能同时显示两者。
显然必须有办法做到这一点,但到目前为止,谷歌搜索让我无处可去。
感谢任何建议。
问候。
以下是我用来生成动态html的打印语句:
print "<html>";
print "<head>";
print "Content-type: text/html\n\n";
print "</head>";
print "<body>";
print "<table>";
print "<tr><td>Number of Sentences = $numSentences</td><td rowspan=\"4\"><img src=\"/home/kfarmer/public_html/kevin/charFreq.png\" /></td><td rowspan=\"4\"><img src=\"/home/kfarmer/public_html/kevin/charFreq.png\" /></td></tr>";
print "<tr><td>Number of Words = $numWords</td></tr>";
print "<tr><td>Number of Unique Words = $numUniqueWords</td></tr>";
print "<tr><td>Number of English Characters = $numEnglishCharacters</td></tr>";
print "</table></body></html>";
但是,现在当我生成这个页面时,我会弹出一个问题,告诉我如何打开文件 - 文件就是我上面打印的内容。
答案 0 :(得分:1)
一个HTTP响应发送一个东西,每个东西都有自己的内容头。您不需要在一个响应中包含页面中的所有内容。
从Perl,只需使用HTML功能链接到图像文件。在HTML中,您将包括:
<img src="url to PNG"/>
如果有一个CGI脚本提供动态图像,您只需在HTML中链接到它:
<img src="/cgi-bin/imager.png?key=value;..."/>
CGI脚本必须返回正确的内容类型,无论是HTML还是图像数据。
浏览器将解释HTML,查看图像的链接,并提出其他请求以获取图像。
答案 1 :(得分:0)
我担心你会混淆一些定义/技术。
Context-type
是HTTP header的一部分。当您的浏览器获取网页时,它通常使用HTTP,其中包含多个标题字段和一个数据块(例如包含所请求的数据)。如果您使用(体面的)Web服务器,则无需担心HTTP标头(通常)。
为了显示3列页面,带有两个(或任何其他数量)图像和一些文本。您需要生成HTML page。在此页面上,您告诉浏览器它应该下载图像并将其与文本一起显示。
为了做到这一点,你必须以包含所谓元素的预定义格式生成HTML页面:
<html>
<head><title>mypage</title></head>
<body>
This is the visible part of the page
</body>
</html>
现在在body元素中,您可以生成文本和图像。可以使用img element将图像放置在页面上。
查看w3schools以获取有关这些主题的更多详细教程。如果您获得了一些更基本的知识,可以尝试使用perl(或任何其他(脚本)语言)生成HTML页面。
答案 2 :(得分:0)
您的问题更有可能是图像是驱动器上的绝对路径,而不是网络服务器上图像的相对路径。
我注意到你的img src是'/home/kfarmer/public_html/kevin/charFreq.png'
所以,如果您的网络服务器根目录为'/ home / kfarmer / public_html / kevin',那么当您访问someurl.com时会加载,那么您的img src应该只是'/charFreq.png'
如果服务器的根目录是'/ home / kfarmer / public_html',那么你的img src应该是'kevin / charFreq.png'
这比这更复杂,因为网址是相对于加载页面的位置。
所以,如果页面是www.someurl.com/kevin/anotherfolder/mypage.html,并且你想在'kevin / someotherplace / charFreq.png'中加载图像,那么你需要你的img src为'/ kevin / someotherplace / charFreq.png'OR'../ someotherplace / charFreq.png'