我正在尝试用Php打开一个新标签,然后显示图像。我找到了openWindow()函数,但它适用于Javascript。我正在尝试使用仅Php 。
我的Php代码:
<?php
function showImage() {
$my_img = imagecreate( 200, 80 );
$background = imagecolorallocate( $my_img, 0, 0, 255 );
$text_colour = imagecolorallocate( $my_img, 255, 255, 0 );
$line_colour = imagecolorallocate( $my_img, 128, 255, 0 );
imagestring( $my_img, 4, 30, 25, "Quote", $text_colour );
imagesetthickness ( $my_img, 5 );
imageline( $my_img, 30, 45, 165, 45, $line_colour );
header( "Content-type: image/png" );
imagepng( $my_img, "quote.png" );
imagecolordeallocate( $line_color );
imagecolordeallocate( $text_color );
imagecolordeallocate( $background );
}
?>
任何帮助将不胜感激!
答案 0 :(得分:5)
PHP是一种服务器端语言。这使得无法在不使用Javascript的情况下在用户的webclient中打开新选项卡。
以下是更多信息:Open a URL in a new tab (and not a new window) using JavaScript
答案 1 :(得分:3)
如问题评论中所述,这是浏览器/客户端问题。 PHP是一种服务器端脚本语言。
但是,在您的代码中,请尝试以下方法:
<?php
function showImage() {
$my_img = imagecreate( 200, 80 );
$background = imagecolorallocate( $my_img, 0, 0, 255 );
$text_colour = imagecolorallocate( $my_img, 255, 255, 0 );
$line_colour = imagecolorallocate( $my_img, 128, 255, 0 );
imagestring( $my_img, 4, 30, 25, "Quote", $text_colour );
imagesetthickness ( $my_img, 5 );
imageline( $my_img, 30, 45, 165, 45, $line_colour );
//header( "Content-type: image/png" );
imagepng( $my_img, "quote.png" );
imagecolordeallocate( $line_color );
imagecolordeallocate( $text_color );
imagecolordeallocate( $background );
// You should call this too.
imagedestroy($my_img);
echo '<a href="quote.png" target="_blank">View the image</a>';
// Or, you could try:
// echo '<html><body><script>window.open('quote.png','_blank')</script></body></html>';
}
?>