3

我有一个包含数百篇文章的手工编码网站。我当前的主题是蓝色背景。当然,图像因此具有蓝色背景。为了将来对可打印版本的支持,我(从第一天开始)保留了两个版本的图像,后一个版本具有白色背景。这些扩展名之前有“_print”。

当然,创建可打印版本的最佳方法是使用不同的 CSS,并在各自的 CSS 中通过“display:none”隐藏标题和侧边栏。

有什么方法可以使用 PHP 在可打印版本的“.jpg”之前自动添加“_print”?或者还有其他方法吗?

4

3 回答 3

2

您可以使用 PHP 或 Javascript 来执行此操作。

在 PHP 中,您可以只传递一个类似 ?print=true 的参数,然后编写一个小辅助函数来获取适当的图像 url。

<?php
function getImageUrl(imageUrl) { 
   if(isset($_GET["print"])) {
      return preg_replace('\.jpg$','_print\.jpg',imageUrl);
   }
   return imageUrl;
}
?>

免责声明 - 不是 PHP 开发人员。

于 2012-06-02T12:11:07.607 回答
2

如果 php 脚本在构建网站时使用图像的全名,为什么不呢?

如果我希望你的代码是这样的,你应该创建这样的东西:

echo '<img src="images/artcle_'.$aid.',jpg"/>';

您应该通过 $_GET 或 $_POST 添加一个新变量,例如:

$print = "";

if($_GET['print'] == "1"){
     $print = "_print";
}

然后:

echo '<img src="images/artcle_'.$aid.$print.',jpg"/>';

导致仅在发送 Print 参数时才显示打印版本。

于 2012-06-02T12:12:50.817 回答
1
<? php if ($print_page == true)
{
    $append = "_print";
}
else
{
    $append = "";
} ?>


<html>
  <body>
     <img src = "/image/image<?php echo $append?>.jpg />
  </body>
</html>

通过在所有图像链接中包含 $append - 如果需要,它们将使用 _print 自动更新。如果您希望页面可打印,只需根据需要将 $print_page 设置为 true 或 false

于 2012-06-02T12:12:17.887 回答