php 打印

本文介绍了三种网页打印的方法:纯JS实现的局部打印、调用Windows底层的整页打印及jQuery插件实现的局部打印。每种方法都有其适用场景,纯JS适合定制化需求,而jQuery则简化了操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、js实现(可实现局部打印)

<input id="btnPrint" type="button" value="打印" onclick="javascript:window.print();" />

<input id="btnPrint" type="button" value="打印预览" onclick=preview(1) />
<style type="text/css" media=print>
.noprint{display : none }
</style>


<p class="noprint">不需要打印的地方</p>
<script>
function preview(oper)
{
if (oper < 10)
{
bdhtml=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="<!–startprint"+oper+"–>";//设置打印开始区域
eprnstr="<!–endprint"+oper+"–>";//设置打印结束区域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html

prnhtmlprnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
window.document.body.innerHTML=prnhtml;
window.print();
window.document.body.innerHTML=bdhtml;
} else {
window.print();
}
}
</script>
<p>XXXXX</p>
<!–startprint1–>要打印的内容<!–endprint1–>

再加个打印按纽 onclick=preview(1)
2、调用windows底层打印,报安全警告,不建议使用(不支持局部打印)

<HTML>
<HEAD>
<TITLE>javascript打印-打印页面设置-打印预览代码</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312″ />
<SCRIPT language=javascript>
  function printsetup(){
  // 打印页面设置
  wb.execwb(8,1);
  }
  function printpreview(){
  // 打印页面预览

  wb.execwb(7,1);

  }

  function printit()
  {
  if (confirm(‘确定打印吗?’)) {
  wb.execwb(6,6);
  }
  }
  </SCRIPT>
</HEAD>
<BODY>

<DIV align=center>
<OBJECT id=wb height=0 width=0
classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb></OBJECT>
<INPUT onclick=javascript:printit() type=button value=打印 name=button_print />
<INPUT onclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup />
<INPUT onclick=javascript:printpreview(); type=button value=打印预览 name=button_show />
一按开始的减肥了卡时间段
</DIV>
</BODY>
</HTML>
3、jQuery实现(支持局部打印)

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="jquery.PrintArea.js"></script>
<script>
$(document).ready(function(){
  $("input#biuuu_button").click(function(){

  $("div#myPrintArea").printArea();

});
});

</script>




<input id="biuuu_button" type="button" value="打印"></input>

<div id="myPrintArea">…..文本打印部分…..</div>

<think>我们正在讨论的是PHP打印变量内容进行调试的方法。根据引用内容,我们可以总结出几种常用的调试打印方法。 引用[1]提到了使用var_dump()和print_r()。 引用[2]提到了var_export(),并说明它可以用于将输出保存到文件。 引用[3]提到了通过JavaScript的console.log()在浏览器控制台输出,这实际上是一种将PHP变量转换为JS对象输出的方法。 引用[4]提到了格式化输出,比如printf()和sprintf()。 因此,我们可以将PHP打印变量调试的方法分为几类: 1. 直接输出到页面:var_dump(), print_r(), var_export(), printf()等。 2. 输出到日志文件:使用error_log()、file_put_contents()结合var_export()等。 3. 输出到浏览器控制台:通过echo输出JavaScript代码,使用console.log()。 下面我们详细说明这些方法。</think>### PHP 打印变量内容调试指南 在 PHP 调试中,打印变量内容是最常用的手段。根据引用内容,核心方法如下: --- ### 一、基础打印方法(直接输出到页面) 1. **`var_dump()`** - 最详细调试工具 显示变量类型、长度和完整内容,适合复杂结构: ```php $user = ['name' => '张三', 'age' => 25]; var_dump($user); /* 输出: array(2) { ["name"]=> string(6) "张三" ["age"]=> int(25) } */ ``` 2. **`print_r()`** - 简洁可视化 更适合打印数组/对象,可读性更强: ```php print_r($user); /* 输出: Array ( [name] => 张三 [age] => 25 ) */ ``` 3. **`var_export()`** - 生成可执行代码 输出内容可直接复制回 PHP 代码[^2]: ```php echo var_export($user, true); // 输出:array('name' => '张三', 'age' => 25) ``` --- ### 二、高级调试技巧 #### 1. 格式化输出(引用[4]) ```php printf("用户名:%s, 年龄:%d", $user['name'], $user['age']); // 输出:用户名:张三, 年龄:25 ``` #### 2. 输出到浏览器控制台(引用[3]) ```php echo "<script>console.log(".json_encode($user).");</script>"; // Chrome 控制台输出:{name: "张三", age: 25} ``` #### 3. 保存到日志文件(引用[2]) ```php file_put_contents('debug.log', var_export($user, true), FILE_APPEND); // 日志文件追加内容:array('name' => '张三', 'age' => 25) ``` --- ### 三、专业调试方案 | **场景** | **推荐方法** | **优势** | |-------------------|----------------------------------|-----------------------------| | 快速查看变量值 | `var_dump()` + `die()` | 立即终止执行查看结果 | | 生产环境调试 | `error_log(print_r($var, true))` | 不中断页面,写入服务器日志 | | AJAX 请求调试 | `header('Content-Type: application/json'); echo json_encode($var);` | 结构化数据返回 | | 复杂对象遍历 | 组合使用 `print_r()` + `<pre>` | 保留格式化输出 | ```php echo '<pre>'; print_r($complexObject); echo '</pre>'; ``` --- ### 四、调试最佳实践 1. **封装调试函数** ```php function debug($var) { echo '<pre>'; var_dump($var); echo '</pre>'; } debug($_SERVER); // 一键调用 ``` 2. **Xdebug 扩展** 安装后自动美化 `var_dump()` 输出,支持代码跟踪: ```ini ; php.ini 配置 zend_extension=xdebug.so xdebug.mode=develop ``` 3. **条件调试** ```php if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') { var_dump($secretData); // 仅本地显示 } ``` --- ### 五、注意事项 1. **安全风险** 生产环境需移除调试代码,避免敏感信息泄露 2. **性能影响** 大数组/对象建议用 `memory_get_usage()` 监控内存 3. **输出缓冲** 使用 `ob_start()` 和 `ob_get_clean()` 控制输出时机 > 通过合理组合这些方法,可覆盖 95% 的 PHP 调试场景[^1][^3]。实际开发推荐使用 Xdebug + IDE 断点调试作为终极方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值