【问题标题】:How to open a new tab with PHP如何使用 PHP 打开一个新标签页
【发布时间】:2013-08-03 03:45:46
【问题描述】:

我正在尝试使用 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 );
}
?>

任何帮助将不胜感激!

【问题讨论】:

  • 你不能这样做,因为 PHP 是一种服务器端语言。你可以在 PHP 中编写 JS 来执行它。
  • PHP 不了解、连接或控制 Web 浏览器。您必须使用客户端功能来影响 Web 浏览器的行为。 (在这种情况下是 HTML 和/或 JavaScript。)
  • @Johny 你有这方面的例子吗,Javascript within Php?谢谢。
  • @Time 你为什么不试试echo "&lt;some javascript&gt;";
  • 如果您不想使用 Javascript,那么您必须开发一个能够理解 PHP 的浏览器!

标签: php javascript html image new-window


【解决方案1】:

PHP 是一种服务器端语言。这使得不使用 Javascript 就无法在用户的网络客户端中打开新标签。

这里有更多信息:Open a URL in a new tab (and not a new window) using JavaScript

【讨论】:

    【解决方案2】:

    如问题 cmets 所述,这是一个浏览器/客户端问题。 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>';
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      • 2017-10-06
      • 2017-06-03
      • 1970-01-01
      • 2011-09-22
      • 2021-11-24
      相关资源
      最近更新 更多