预览模式: 普通 | 列表

A4纸网页打印——宽高设置

一、在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(Dot Per Inch)指标。 经过我仔细的测试,发现了网页打印中,默认采用的是96dpi,并非传闻的72dpi 。

A4纸张的尺寸是210×297mm,按1英寸=25.41mm换算,即8.264×11.688英寸 。所以,A4纸96dpi下的分辨率是794×1123,这就是我们在制作网页的时候需要的象素。

但是打印机是无法满幅打印的,总要有页边距,所以我们在制作网页的时候必须减去页边距。 


以下是我测试的各种页边距下,A4纸对应的象素尺寸: 
 

  1. 打印页边距设定为 0mm 时,网页内最大元素的分辨率:794×1123

    查看更多...

    Tags: html

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 363

 

一、场景

今天做保存专题商品列表的时候发现,前端明明有2300多条数据,但是实际服务端接受存入数据库才166条

 

二、解决过程

经过调试发现前端页面提交post请求时数据量是正确的,但到服务端只能接受到166条。

一开始以为是post请求长度超过限制,不过看了下请求内容才200多K,而post请求默认支持8M以内的数据传输。

于是怀疑可能是php内部配置导致的,后来百度了下果不其然发现max_input_vars这个配置项,该配置项是在php 5.3.9版本之后才加入的,目的是为了防止hash冲突

既然如此那就改下该配置项,默认是1000,改成10000;重启服务后发现服务端获取到的数据量是1666,是之前的10倍,正好也是配置项调整之后的倍数。

然而前端传的数据量是不确定的,就算把max_input_vars设置成10万,也有可能不够用,还是另寻他法吧。

 

三、最终解决方法

1、前端将数组转换成json传输,即JSON.stringify(goodsList)

2、服务端接收到并解析$goodsList = json_decode($_POST['goodsList'], true);

3、测试发现前端传过来的数据服务端都能获取到,问题圆满解决

 

 

解决PHP使用POST提交数据不完整,数据不全的问题

在后台form中,通过ajax请求返回了一个有很多input的form表单,提交数据后,要格式化数组时发现提交过来的数据不完整。
 
 
 
PHP从5.3.9开始 php.ini 增加一个变量 max_input_vars 用来限制提交的表单数量
 
该值默认情况下是1000 , 将此值改大一点就OK了!

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 458

 利用array_search与array_column实现二维数组查找,不用自己写个循环,减少工作量。

PHP代码
  1. <?php   
  2. $userdb = array(  
  3.     0 => array(  
  4.             'uid' => 100,  
  5.             'name' => 'Sandra Shush',  
  6.             'url' => 'urlof100'  
  7.         ),  
  8.    
  9.     1 => array(  
  10.             'uid' => 5465,  
  11.             'name' => 'Stefanie Mcmohn',  
  12.             'pic_square' => 'urlof100'  
  13.         ),  
  14.    
  15.     2 => Array(  
  16.             'uid' => 40489,  
  17.             'name' => 'Michael',  
  18.             'pic_square' => 'urlof40489'  
  19.         )  
  20. );  
  21.    
  22. $found_key = array_search(40489, array_column($userdb'uid'));  
  23. /** 
  24.     如果$userdb很大,建议使用一个变量,避免搜索每个元素时都调用array_column() 
  25.     $uid = array_column($userdb, 'uid'); 
  26.     $found_key = array_search(40489, $uid); 
  27.  */  
  28. var_dump($found_key);  
  29.    
  30.  ?>  

 array_search() 函数在数组中搜索某个键值,并返回对应的键名。

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
 
在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。
 
如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。
 
PHP array_column() 函数
array_column() 返回输入数组中某个单一列的值。

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 410

php限制几点到几点

 public function get_curr_time_section()

{
    $checkDayStr = date('Y-m-d ',time());
    $timeBegin1 = strtotime($checkDayStr."10:00".":00");
    $timeEnd1 = strtotime($checkDayStr."22:00".":00");
 
    $curr_time = time();
 
    if($curr_time >= $timeBegin1 && $curr_time <= $timeEnd1)
    {
        return 0;
    }
    return -1;
}
 

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 372

 广告位

↑返回顶部↑