基于PHP的Printable版本

时间:2012-06-02 12:00:39

标签: php css

我有一个手写的网站,上面有几百篇文章。我目前的主题是蓝色背景。因此,图像因此具有蓝色背景。为了将来支持可打印版本,我(从第一天开始)保留了两个版本的图像,后者具有白色背景。这些有' _print'在他们的扩展之前。

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

我有什么方法可以使用PHP自动添加' _print'之前' .jpg'在可打印版本?或者还有其他任何方式吗?

3 个答案:

答案 0 :(得分:2)

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

在PHP中你可以传递一个像?print = true这样的参数,然后编写一个小帮助函数来获取合适的图像网址。

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

免责声明 - 不是PHP开发。

答案 1 :(得分: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"/>';

如果发送了打印参数,则仅显示打印版本。

答案 2 :(得分: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